|
1 | 1 | === tests/cases/compiler/inferObjectTypeFromStringLiteralToKeyof.ts ===
|
2 |
| -declare function inference<T>(target: T, name: keyof T): void; |
3 |
| ->inference : Symbol(inference, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 0)) |
4 |
| ->T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 27)) |
5 |
| ->target : Symbol(target, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 30)) |
6 |
| ->T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 27)) |
7 |
| ->name : Symbol(name, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 40)) |
8 |
| ->T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 27)) |
| 2 | +declare function inference1<T>(name: keyof T): T; |
| 3 | +>inference1 : Symbol(inference1, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 0)) |
| 4 | +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 28)) |
| 5 | +>name : Symbol(name, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 31)) |
| 6 | +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 28)) |
| 7 | +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 28)) |
| 8 | + |
| 9 | +declare function inference2<T>(target: T, name: keyof T): T; |
| 10 | +>inference2 : Symbol(inference2, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 49)) |
| 11 | +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 28)) |
| 12 | +>target : Symbol(target, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 31)) |
| 13 | +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 28)) |
| 14 | +>name : Symbol(name, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 41)) |
| 15 | +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 28)) |
| 16 | +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 28)) |
9 | 17 |
|
10 | 18 | declare var two: "a" | "d";
|
11 |
| ->two : Symbol(two, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 11)) |
| 19 | +>two : Symbol(two, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 11)) |
| 20 | + |
| 21 | +const x = inference1(two); |
| 22 | +>x : Symbol(x, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 3, 5)) |
| 23 | +>inference1 : Symbol(inference1, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 0)) |
| 24 | +>two : Symbol(two, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 11)) |
12 | 25 |
|
13 |
| -inference({ a: 1, b: 2, c: 3, d(n) { return n } }, two); |
14 |
| ->inference : Symbol(inference, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 0)) |
15 |
| ->a : Symbol(a, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 11)) |
16 |
| ->b : Symbol(b, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 17)) |
17 |
| ->c : Symbol(c, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 23)) |
18 |
| ->d : Symbol(d, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 29)) |
19 |
| ->n : Symbol(n, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 32)) |
20 |
| ->n : Symbol(n, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 32)) |
21 |
| ->two : Symbol(two, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 11)) |
| 26 | +const y = inference2({ a: 1, b: 2, c: 3, d(n) { return n } }, two); |
| 27 | +>y : Symbol(y, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 4, 5)) |
| 28 | +>inference2 : Symbol(inference2, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 49)) |
| 29 | +>a : Symbol(a, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 4, 22)) |
| 30 | +>b : Symbol(b, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 4, 28)) |
| 31 | +>c : Symbol(c, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 4, 34)) |
| 32 | +>d : Symbol(d, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 4, 40)) |
| 33 | +>n : Symbol(n, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 4, 43)) |
| 34 | +>n : Symbol(n, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 4, 43)) |
| 35 | +>two : Symbol(two, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 11)) |
22 | 36 |
|
0 commit comments