File: codeFixInferFromUsageNoTruncation.ts

package info (click to toggle)
node-typescript 4.8.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 523,068 kB
  • sloc: javascript: 1,735,777; makefile: 7; sh: 1
file content (102 lines) | stat: -rw-r--r-- 2,921 bytes parent folder | download | duplicates (4)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/// <reference path='fourslash.ts' />

////function foo(param) {
////    const a: {
////        a: {
////            a_1: string;
////            a_2: {
////                a_2_1: string;
////            }
////        };
////        b: {
////            b_1: string;
////            b_2: string;
////            b_3: string;
////        };
////        c: {
////            c_1: string;
////            c_2: string;
////            c_3: string;
////            c_4: {
////                c_4_1: {
////                    c_4_1_1: {
////                        c_4_1_1_1: {
////                            c_4_1_1_1_1: string;
////                            c_4_1_1_1_2: string;
////                            c_4_1_1_1_3: string;
////                        }
////                    }
////                }
////            }
////        };
////        d: {
////            d_1: {
////                d_1_1: {
////                    d_1_1_1: string;
////                }
////                d_1_2: {
////                    d_1_2_1: string;
////                }
////                d_1_3: {
////                    d_1_3_1: string;
////                    d_1_3_2: string;
////                }
////            }
////            d_2: string;
////            d_3: string;
////        }
////    } = param;
////}

verify.codeFix({
    description: "Infer parameter types from usage",
    index: 0,
    newFileContent:
`function foo(param: { a: { a_1: string; a_2: { a_2_1: string; }; }; b: { b_1: string; b_2: string; b_3: string; }; c: { c_1: string; c_2: string; c_3: string; c_4: { c_4_1: { c_4_1_1: { c_4_1_1_1: { c_4_1_1_1_1: string; c_4_1_1_1_2: string; c_4_1_1_1_3: string; }; }; }; }; }; d: { d_1: { d_1_1: { d_1_1_1: string; }; d_1_2: { d_1_2_1: string; }; d_1_3: { d_1_3_1: string; d_1_3_2: string; }; }; d_2: string; d_3: string; }; }) {
    const a: {
        a: {
            a_1: string;
            a_2: {
                a_2_1: string;
            }
        };
        b: {
            b_1: string;
            b_2: string;
            b_3: string;
        };
        c: {
            c_1: string;
            c_2: string;
            c_3: string;
            c_4: {
                c_4_1: {
                    c_4_1_1: {
                        c_4_1_1_1: {
                            c_4_1_1_1_1: string;
                            c_4_1_1_1_2: string;
                            c_4_1_1_1_3: string;
                        }
                    }
                }
            }
        };
        d: {
            d_1: {
                d_1_1: {
                    d_1_1_1: string;
                }
                d_1_2: {
                    d_1_2_1: string;
                }
                d_1_3: {
                    d_1_3_1: string;
                    d_1_3_2: string;
                }
            }
            d_2: string;
            d_3: string;
        }
    } = param;
}`,
});