28 lines
722 B
TypeScript
28 lines
722 B
TypeScript
|
/// <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;
|
||
|
})();
|
||
|
}`,
|
||
|
});
|