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;
})();
}`,
});
|