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
|
/// <reference path='fourslash.ts' />
////
//// namespace M {
//// class C {
//// foo() {
//// /*a*/let x = {a:1};
//// let y = {
//// b: 2
//// };
//// let z =
//// {
//// c: 3
//// };/*b*/
//// return x.a + y.b + z.c;
//// }
//// }
//// }
////
goTo.select('a', 'b');
edit.applyRefactor({
refactorName: "Extract Symbol",
actionName: "function_scope_1",
actionDescription: "Extract to method in class 'C'",
newContent:
`
namespace M {
class C {
foo() {
let { x, y, z } = this./*RENAME*/newMethod();
return x.a + y.b + z.c;
}
private newMethod() {
let x = { a: 1 };
let y = {
b: 2
};
let z = {
c: 3
};
return { x, y, z };
}
}
}
`
});
|