@@ -16,26 +16,10 @@ export interface ReplaceTypeReferenceOptions {
16
16
v2DefaultModuleName : string ;
17
17
}
18
18
19
- const getV3ClientTypeFromRightIdentifier = (
20
- j : JSCodeshift ,
21
- v2ClientType : ASTPath < TSTypeReference >
22
- ) => {
23
- const v3ClientType = getV3ClientTypeName (
24
- ( ( v2ClientType . node . typeName as TSQualifiedName ) . right as Identifier ) . name
25
- ) ;
26
- if ( ! v3ClientType ) {
27
- return v2ClientType . node ;
28
- }
29
- return j . tsTypeReference ( j . identifier ( v3ClientType ) ) ;
30
- } ;
19
+ const getRightIdentifierName = ( node : TSTypeReference ) =>
20
+ ( ( node . typeName as TSQualifiedName ) . right as Identifier ) . name ;
31
21
32
- const getV3ClientTypeFromIdentifier = ( j : JSCodeshift , v2ClientType : ASTPath < TSTypeReference > ) => {
33
- const v3ClientType = getV3ClientTypeName ( ( v2ClientType . node . typeName as Identifier ) . name ) ;
34
- if ( ! v3ClientType ) {
35
- return v2ClientType . node ;
36
- }
37
- return j . tsTypeReference ( j . identifier ( v3ClientType ) ) ;
38
- } ;
22
+ const getIdentifierName = ( node : TSTypeReference ) => ( node . typeName as Identifier ) . name ;
39
23
40
24
// Replace v2 client type reference with v3 client type reference.
41
25
export const replaceTSTypeReference = (
@@ -67,7 +51,8 @@ export const replaceTSTypeReference = (
67
51
right : { type : "Identifier" } ,
68
52
} ,
69
53
} )
70
- . replaceWith ( ( v2ClientType ) => getV3ClientTypeFromRightIdentifier ( j , v2ClientType ) ) ;
54
+ . filter ( ( v2ClientType ) => isV2ClientInputOutputType ( getRightIdentifierName ( v2ClientType . node ) ) )
55
+ . replaceWith ( ( v2ClientType ) => getV3ClientTypeName ( getRightIdentifierName ( v2ClientType . node ) ) ) ;
71
56
72
57
// Replace type reference to client created with client module.
73
58
source
@@ -76,20 +61,19 @@ export const replaceTSTypeReference = (
76
61
left : { type : "Identifier" , name : v2ClientName } ,
77
62
} ,
78
63
} )
79
- . replaceWith ( ( v2ClientType ) => getV3ClientTypeFromRightIdentifier ( j , v2ClientType ) ) ;
64
+ . filter ( ( v2ClientType ) => isV2ClientInputOutputType ( getRightIdentifierName ( v2ClientType . node ) ) )
65
+ . replaceWith ( ( v2ClientType ) => getV3ClientTypeName ( getRightIdentifierName ( v2ClientType . node ) ) ) ;
80
66
81
67
// Replace type reference to client input/output import with named imports.
82
- const v2ClientTypeNames = getV2ClientTypeNames ( j , source , {
83
- v2ClientName,
84
- v2DefaultModuleName,
85
- } ) ;
68
+ const v2ClientTypeNames = getV2ClientTypeNames ( j , source , { v2ClientName, v2DefaultModuleName } ) ;
86
69
for ( const v2ClientTypeName of v2ClientTypeNames ) {
87
70
if ( isV2ClientInputOutputType ( v2ClientTypeName ) ) {
88
71
source
89
72
. find ( j . TSTypeReference , {
90
73
typeName : { type : "Identifier" , name : v2ClientTypeName } ,
91
74
} )
92
- . replaceWith ( ( v2ClientType ) => getV3ClientTypeFromIdentifier ( j , v2ClientType ) ) ;
75
+ . filter ( ( v2ClientType ) => isV2ClientInputOutputType ( getIdentifierName ( v2ClientType . node ) ) )
76
+ . replaceWith ( ( v2ClientType ) => getV3ClientTypeName ( getIdentifierName ( v2ClientType . node ) ) ) ;
93
77
}
94
78
}
95
79
} ;
0 commit comments