File: codeFixInferFromFunctionThisUsageJsDocNewDocsInaccessible.ts

package info (click to toggle)
node-typescript 4.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 396,552 kB
  • sloc: javascript: 1,444,377; makefile: 7; sh: 3
file content (47 lines) | stat: -rw-r--r-- 963 bytes parent folder | download | duplicates (5)
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
/// <reference path='fourslash.ts' />

// @allowJs: true
// @checkJs: true
// @noImplicitThis: true

// @Filename: /consumesType.js
////function [|returnThisMember|]() {
////    return this.member;
////}
////
/////**
//// * @type {import("/providesType").Container}
//// */
////const container = {
////    member: "sample",
////    returnThisMember: returnThisMember,
////};
////
////container.returnThisMember();

// @Filename: /providesType.ts
////interface Container {
////    member: string;
////    returnThisMember(): string;
////}

verify.codeFix({
    description: "Infer 'this' type of 'returnThisMember' from usage",
    index: 0,
    newFileContent: `/**
 * @this {any}
 */
function returnThisMember() {
    return this.member;
}

/**
 * @type {import("/providesType").Container}
 */
const container = {
    member: "sample",
    returnThisMember: returnThisMember,
};

container.returnThisMember();`
});