File: genericInference2.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (91 lines) | stat: -rw-r--r-- 2,602 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
=== tests/cases/compiler/genericInference2.ts ===
    declare module ko { 
>ko : typeof ko

       export interface Observable<T> { 
           (): T; 
           (value: T): any; 
>value : T

           N: number; 
>N : number

           g: boolean; 
>g : boolean

           r: T; 
>r : T
       } 
       export function observable<T>(value: T): Observable<T>; 
>observable : <T>(value: T) => Observable<T>
>value : T
    } 
    var o = { 
>o : { name: ko.Observable<string>; age: ko.Observable<number>; }
>{        name: ko.observable("Bob"),        age: ko.observable(37)     } : { name: ko.Observable<string>; age: ko.Observable<number>; }

       name: ko.observable("Bob"), 
>name : ko.Observable<string>
>ko.observable("Bob") : ko.Observable<string>
>ko.observable : <T>(value: T) => ko.Observable<T>
>ko : typeof ko
>observable : <T>(value: T) => ko.Observable<T>
>"Bob" : "Bob"

       age: ko.observable(37) 
>age : ko.Observable<number>
>ko.observable(37) : ko.Observable<number>
>ko.observable : <T>(value: T) => ko.Observable<T>
>ko : typeof ko
>observable : <T>(value: T) => ko.Observable<T>
>37 : 37

    }; 
    var x_v = o.name().length;  // should be 'number'
>x_v : number
>o.name().length : number
>o.name() : string
>o.name : ko.Observable<string>
>o : { name: ko.Observable<string>; age: ko.Observable<number>; }
>name : ko.Observable<string>
>length : number

    var age_v = o.age();  // should be 'number'
>age_v : number
>o.age() : number
>o.age : ko.Observable<number>
>o : { name: ko.Observable<string>; age: ko.Observable<number>; }
>age : ko.Observable<number>

    var name_v = o.name("Robert");  // should be 'any'
>name_v : any
>o.name("Robert") : any
>o.name : ko.Observable<string>
>o : { name: ko.Observable<string>; age: ko.Observable<number>; }
>name : ko.Observable<string>
>"Robert" : "Robert"

    var zz_v = o.name.N;  // should be 'number'
>zz_v : number
>o.name.N : number
>o.name : ko.Observable<string>
>o : { name: ko.Observable<string>; age: ko.Observable<number>; }
>name : ko.Observable<string>
>N : number

    var yy_v = o.name.g;  // should be 'boolean'
>yy_v : boolean
>o.name.g : boolean
>o.name : ko.Observable<string>
>o : { name: ko.Observable<string>; age: ko.Observable<number>; }
>name : ko.Observable<string>
>g : boolean

    var rr_v = o.name.r;  // should be 'string'
>rr_v : string
>o.name.r : string
>o.name : ko.Observable<string>
>o : { name: ko.Observable<string>; age: ko.Observable<number>; }
>name : ko.Observable<string>
>r : string