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
|
/// <reference path='fourslash.ts' />
////interface Options {
//// run(a, b, c, d, e, f): void;
////}
////
////interface I {
//// x: number;
////}
////
////enum E {
//// X
////}
////
////function foo(options: Options) {
//// const a = 1;
//// const b = "";
//// const c = { x: 1, y: 1 };
//// const d = [1, 2, 3];
//// const e: I = { x: 1 };
//// const f: E = E.X;
////
//// options.run(a, b, c, d, e, f);
////}
verify.codeFixAll({
fixId: "inferFromUsage",
fixAllDescription: "Infer all types from usage",
newFileContent:
`interface Options {
run(a: number, b: string, c: { x: number; y: number; }, d: number[], e: I, f: E): void;
}
interface I {
x: number;
}
enum E {
X
}
function foo(options: Options) {
const a = 1;
const b = "";
const c = { x: 1, y: 1 };
const d = [1, 2, 3];
const e: I = { x: 1 };
const f: E = E.X;
options.run(a, b, c, d, e, f);
}`,
});
|