///
// @Filename: /a.ts
////export interface A {
//// x: number;
////}
// @Filename: /b.ts
////export interface B {
//// payload: T;
////}
// @Filename: /c.ts
////import { A } from "./a";
////import { B } from "./b";
////export interface C {
//// payload: T;
////}
////
////export const c: C> = {
//// payload: {
//// payload: { x: 1 }
//// }
////}
// @Filename: /d.ts
////import { c } from "./c";
////
////function foo() {
//// const prop = c;
//// /*a*/console.log(prop);/*b*/
////}
goTo.file("/c.ts");
goTo.select("a", "b");
edit.applyRefactor({
refactorName: "Extract Symbol",
actionName: "function_scope_1",
actionDescription: "Extract to function in module scope",
newContent:
`import { A } from "./a";
import { B } from "./b";
import { C, c } from "./c";
function foo() {
const prop = c;
/*RENAME*/newFunction(prop);
}
function newFunction(prop: C>) {
console.log(prop);
}
`
});