Skip to content

Commit 4bb141d

Browse files
committed
clone nodes
1 parent e14e3ad commit 4bb141d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/services/codefixes/convertToTypeOnlyImport.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import {
22
Diagnostics,
33
factory,
4+
getSynthesizedDeepClone,
5+
getSynthesizedDeepClones,
46
getTokenAtPosition,
57
ImportClause,
68
ImportDeclaration,
@@ -55,9 +57,12 @@ function doChange(changes: textChanges.ChangeTracker, sourceFile: SourceFile, de
5557
else {
5658
const importClause = declaration.importClause as ImportClause;
5759
if (importClause.name && importClause.namedBindings) {
60+
const modifiers = getSynthesizedDeepClones(declaration.modifiers, /*includeTrivia*/ true);
61+
const moduleSpecifier = getSynthesizedDeepClone(declaration.moduleSpecifier, /*includeTrivia*/ true);
62+
const assertClause = getSynthesizedDeepClone(declaration.assertClause, /*includeTrivia*/ true);
5863
changes.replaceNodeWithNodes(sourceFile, declaration, [
59-
factory.createImportDeclaration(declaration.modifiers, factory.createImportClause(/*isTypeOnly*/ true, importClause.name, /*namedBindings*/ undefined), declaration.moduleSpecifier, declaration.assertClause),
60-
factory.createImportDeclaration(declaration.modifiers, factory.createImportClause(/*isTypeOnly*/ true, /*name*/ undefined, importClause.namedBindings), declaration.moduleSpecifier, declaration.assertClause),
64+
factory.createImportDeclaration(modifiers, factory.createImportClause(/*isTypeOnly*/ true, getSynthesizedDeepClone(importClause.name, /*includeTrivia*/ true), /*namedBindings*/ undefined), moduleSpecifier, assertClause),
65+
factory.createImportDeclaration(modifiers, factory.createImportClause(/*isTypeOnly*/ true, /*name*/ undefined, getSynthesizedDeepClone(importClause.namedBindings, /*includeTrivia*/ true)), moduleSpecifier, assertClause),
6166
]);
6267
}
6368
else {

0 commit comments

Comments
 (0)