diff --git a/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.js b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.js new file mode 100644 index 00000000000..6a9a081ae60 --- /dev/null +++ b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.js @@ -0,0 +1,8 @@ +//// [inferObjectTypeFromStringLiteralToKeyof.ts] +declare function inference(target: T, name: keyof T): void; +declare var two: "a" | "d"; +inference({ a: 1, b: 2, c: 3, d(n) { return n } }, two); + + +//// [inferObjectTypeFromStringLiteralToKeyof.js] +inference({ a: 1, b: 2, c: 3, d: function (n) { return n; } }, two); diff --git a/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.symbols b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.symbols new file mode 100644 index 00000000000..aa3c9e89f9a --- /dev/null +++ b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.symbols @@ -0,0 +1,22 @@ +=== tests/cases/compiler/inferObjectTypeFromStringLiteralToKeyof.ts === +declare function inference(target: T, name: keyof T): void; +>inference : Symbol(inference, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 0)) +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 27)) +>target : Symbol(target, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 30)) +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 27)) +>name : Symbol(name, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 40)) +>T : Symbol(T, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 27)) + +declare var two: "a" | "d"; +>two : Symbol(two, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 11)) + +inference({ a: 1, b: 2, c: 3, d(n) { return n } }, two); +>inference : Symbol(inference, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 0, 0)) +>a : Symbol(a, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 11)) +>b : Symbol(b, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 17)) +>c : Symbol(c, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 23)) +>d : Symbol(d, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 29)) +>n : Symbol(n, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 32)) +>n : Symbol(n, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 2, 32)) +>two : Symbol(two, Decl(inferObjectTypeFromStringLiteralToKeyof.ts, 1, 11)) + diff --git a/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types new file mode 100644 index 00000000000..39c4bb84196 --- /dev/null +++ b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types @@ -0,0 +1,27 @@ +=== tests/cases/compiler/inferObjectTypeFromStringLiteralToKeyof.ts === +declare function inference(target: T, name: keyof T): void; +>inference : (target: T, name: keyof T) => void +>T : T +>target : T +>T : T +>name : keyof T +>T : T + +declare var two: "a" | "d"; +>two : "a" | "d" + +inference({ a: 1, b: 2, c: 3, d(n) { return n } }, two); +>inference({ a: 1, b: 2, c: 3, d(n) { return n } }, two) : void +>inference : (target: T, name: keyof T) => void +>{ a: 1, b: 2, c: 3, d(n) { return n } } : { a: number; b: number; c: number; d(n: any): any; } +>a : number +>1 : 1 +>b : number +>2 : 2 +>c : number +>3 : 3 +>d : (n: any) => any +>n : any +>n : any +>two : "a" | "d" + diff --git a/tests/cases/compiler/inferObjectTypeFromStringLiteralToKeyof.ts b/tests/cases/compiler/inferObjectTypeFromStringLiteralToKeyof.ts new file mode 100644 index 00000000000..86acbf93a70 --- /dev/null +++ b/tests/cases/compiler/inferObjectTypeFromStringLiteralToKeyof.ts @@ -0,0 +1,3 @@ +declare function inference(target: T, name: keyof T): void; +declare var two: "a" | "d"; +inference({ a: 1, b: 2, c: 3, d(n) { return n } }, two);