8000
We read every piece of feedback, and take your input very seriously.
1 parent f0d1eee commit e1ae30eCopy full SHA for e1ae30e
src/services/refactors/moveToNewFile.ts
@@ -762,7 +762,7 @@ function filterImport(i: SupportedImport, moduleSpecifier: StringLiteralLike, ke
762
const defaultImport = clause.name && keep(clause.name) ? clause.name : undefined;
763
const namedBindings = clause.namedBindings && filterNamedBindings(clause.namedBindings, keep);
764
return defaultImport || namedBindings
765
- ? factory.createImportDeclaration(/*modifiers*/ undefined, factory.createImportClause(/*isTypeOnly*/ false, defaultImport, namedBindings), moduleSpecifier, /*assertClause*/ undefined)
+ ? factory.createImportDeclaration(/*modifiers*/ undefined, factory.createImportClause(clause.isTypeOnly, defaultImport, namedBindings), moduleSpecifier, /*assertClause*/ undefined)
766
: undefined;
767
}
768
case SyntaxKind.ImportEqualsDeclaration:
tests/cases/fourslash/moveToNewFile_typeImport1.ts
@@ -0,0 +1,21 @@
1
+/// <reference path="fourslash.ts" />
2
+
3
+// @filename: /a.ts
4
+////export interface A {
5
+//// x: number;
6
+////}
7
8
+// @Filename: /b.ts
9
+////import type { A } from "./a";
10
+////[|function f(a: A) {}|]
11
12
+verify.moveToNewFile({
13
+ newFileContents: {
14
+ "/b.ts": "",
15
+ "/f.ts":
16
+`import type { A } from "./a";
17
18
+function f(a: A) { }
19
+`,
20
+ },
21
+});
tests/cases/fourslash/moveToNewFile_typeImport2.ts
+////import { type A } from "./a";
+`import { type A } from "./a";