File: computedPropertyNamesContextualType7_ES6.types

package info (click to toggle)
node-typescript 2.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 203,952 kB
  • ctags: 52,987
  • sloc: sh: 11; makefile: 5
file content (69 lines) | stat: -rw-r--r-- 1,265 bytes parent folder | download | duplicates (2)
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
=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES6.ts ===
interface I<T> {
>I : I<T>
>T : T

    [n: number]: T;
>n : number
>T : T
}
interface J<T> {
>J : J<T>
>T : T

    [s: string]: T;
>s : string
>T : T
}

declare function foo<T>(obj: I<T>): T;
>foo : <T>(obj: I<T>) => T
>T : T
>obj : I<T>
>I : I<T>
>T : T
>T : T

declare function g<T>(obj: J<T>): T;
>g : <T>(obj: J<T>) => T
>T : T
>obj : J<T>
>J : J<T>
>T : T
>T : T

foo({
>foo({    0: () => { },    ["hi" + "bye"]: true,    [0 + 1]: 0,    [+"hi"]: [0]}) : number | (() => void) | number[]
>foo : <T>(obj: I<T>) => T
>{    0: () => { },    ["hi" + "bye"]: true,    [0 + 1]: 0,    [+"hi"]: [0]} : { [x: string]: number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; }

    0: () => { },
>() => { } : () => void

    ["hi" + "bye"]: true,
>"hi" + "bye" : string
>"hi" : "hi"
>"bye" : "bye"
>true : true

    [0 + 1]: 0,
>0 + 1 : number
>0 : 0
>1 : 1
>0 : 0

    [+"hi"]: [0]
>+"hi" : number
>"hi" : "hi"
>[0] : number[]
>0 : 0

});

g({ p: "" });
>g({ p: "" }) : string
>g : <T>(obj: J<T>) => T
>{ p: "" } : { p: string; }
>p : string
>"" : ""