File: refactorExtractType57.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 (27 lines) | stat: -rw-r--r-- 722 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
/// <reference path='fourslash.ts' />

// Where do lines get inserted?
// The exact structure here doesn't matter,
// just want to see something within a block body
// to have the behavior defined in tests.
//// function id<T>(x: T): T {
////     return (() => {
////         const s: /*a*/typeof x/*b*/ = x;
////         return s;
////     })();
//// }

goTo.select("a", "b");
edit.applyRefactor({
    refactorName: "Extract type",
    actionName: "Extract to type alias",
    actionDescription: "Extract to type alias",
    newContent: `function id<T>(x: T): T {
    return (() => {
        type /*RENAME*/NewType = typeof x;

        const s: NewType = x;
        return s;
    })();
}`,
});