File: codeFixInferFromUsageExistingJSDoc.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 (95 lines) | stat: -rw-r--r-- 2,161 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
/// <reference path='fourslash.ts' />
// @allowJs: true
// @checkJs: true
// @noImplicitAny: true
// @strictNullChecks: false
// @Filename: important.js

/////** @param x no types here! */
/////**
//// * 1
//// * @param x a duplicate!
//// * @param y yy
//// */
/////**
//// * 2
//// * @param z zz
//// */
////function f(x) {
////    return x * 1
////}
////
////var o = {
////    /** 1
////     * @return First one
////     */
////    // intrusive comment (should not be deleted)
////    /** 2
////     * @see also
////     */
////    /** 3
////     * @return Second one
////     * @extends {C<number>} nothing really
////     * @class
////     * @this {*} doesn't make sense here
////     * @enum wat
////     */
////    /**
////     * @typedef {number} Meter or something
////     * @typedef {Object} Position Comment!
////     * @property {number} x what a horrible place for a type
////     * @property {number} y please don't do this
////     */
////    /**
////     * @template {string} T postfix comment
////     * @callback Action not sure what this will do
////     * @param {T} thing
////     * @returns {string} oh no
////     */
////    get m() { return undefined }
////}
////o.m = 1

verify.codeFixAll({
    fixId: "inferFromUsage",
    fixAllDescription: "Infer all types from usage",
    newFileContent:
`/**
 * 1
 * 2
 * @param {number} x no types here!
 * @param x a duplicate!
 * @param y yy
 * @param z zz
 */
function f(x) {
    return x * 1
}

var o = {
    // intrusive comment (should not be deleted)
    /**
     * 1
     * 2
     * 3
     * @returns {number} First one
     * @see {also}
     * @return Second one
     * @extends {C<number>} nothing really
     * @class
     * @this {*} doesn't make sense here
     * @enum {wat}
     * @typedef {number} Meter or something
     * @typedef {Object} Position Comment!
     * @property {number} x what a horrible place for a type
     * @property {number} y please don't do this
     * @template {string} T postfix comment
     * @callback Action not sure what this will do
     * @param {T} thing
     * @returns {string} oh no
     */
    get m() { return undefined }
}
o.m = 1`,
});