TypeScript/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types
2015-04-15 16:44:20 -07:00

50 lines
1 KiB
Plaintext

=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts ===
interface I<T> {
>I : I<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
foo({
>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | number[] | (() => void)
>foo : <T>(obj: I<T>) => T
>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | number | boolean | number[] | (() => void); 0: () => void; p: string; }
p: "",
>p : string
>"" : string
0: () => { },
>() => { } : () => void
["hi" + "bye"]: true,
>"hi" + "bye" : string
>"hi" : string
>"bye" : string
>true : boolean
[0 + 1]: 0,
>0 + 1 : number
>0 : number
>1 : number
>0 : number
[+"hi"]: [0]
>+"hi" : number
>"hi" : string
>[0] : number[]
>0 : number
});