@@ -2,6 +2,7 @@ import { Collection, JSCodeshift } from "jscodeshift";
2
2
3
3
import { getV3ClientDefaultLocalName } from "../utils" ;
4
4
import { getImportEqualsDeclaration } from "./getImportEqualsDeclaration" ;
5
+ import { getV3ClientRequireProperty } from "./getV3ClientRequireProperty" ;
5
6
import { V3ClientModulesOptions , V3ClientRequirePropertyOptions } from "./types" ;
6
7
7
8
export const addV3ClientNamedImportEquals = (
@@ -15,20 +16,26 @@ export const addV3ClientNamedImportEquals = (
15
16
} : V3ClientModulesOptions & V3ClientRequirePropertyOptions
16
17
) => {
17
18
const v3ClientDefaultLocalName = getV3ClientDefaultLocalName ( v2ClientLocalName ) ;
19
+ const namedImportObjectProperty = getV3ClientRequireProperty ( j , { keyName, valueName } ) ;
20
+
21
+ const existingVarDeclarator = source . find ( j . VariableDeclarator , {
22
+ type : "VariableDeclarator" ,
23
+ init : { type : "Identifier" , name : v3ClientDefaultLocalName } ,
24
+ } ) ;
25
+
26
+ if ( existingVarDeclarator . size ( ) ) {
27
+ existingVarDeclarator . get ( 0 ) . node . id . properties . push ( namedImportObjectProperty ) ;
28
+ return ;
29
+ }
30
+
18
31
const existingImportEquals = source . find (
19
32
j . TSImportEqualsDeclaration ,
20
33
getImportEqualsDeclaration ( v3ClientPackageName )
21
34
) ;
22
35
23
36
const varDeclaration = j . variableDeclaration ( "const" , [
24
37
j . variableDeclarator (
25
- j . objectPattern ( [
26
- j . objectProperty . from ( {
27
- key : j . identifier ( keyName ) ,
28
- value : j . identifier ( valueName ) ,
29
- shorthand : true ,
30
- } ) ,
31
- ] ) ,
38
+ j . objectPattern ( [ namedImportObjectProperty ] ) ,
32
39
j . identifier ( v3ClientDefaultLocalName )
33
40
) ,
34
41
] ) ;
0 commit comments