11import { Collection , Identifier , JSCodeshift , TSQualifiedName , TSTypeReference } from "jscodeshift" ;
22
3- import { getV3ClientDefaultLocalName } from "../utils" ;
4- import { getV2ClientTSTypeRef } from "./getV2ClientTSTypeRef" ;
3+ import { getV2ClientTSTypeRef , getV3ClientDefaultLocalName } from "../utils" ;
54import { getV2ClientTypeNames } from "./getV2ClientTypeNames" ;
65import { getV3ClientTypeName } from "./getV3ClientTypeName" ;
76
@@ -36,30 +35,32 @@ export const replaceTSTypeReference = (
3635 { v2ClientName, v2ClientLocalName, v2GlobalName, v3ClientName } : ReplaceTSTypeReferenceOptions
3736) : void => {
3837 // Replace type reference to client created with global name.
39- source
40- . find ( j . TSTypeReference , getV2ClientTSTypeRef ( { v2ClientName, v2GlobalName } ) )
41- . replaceWith ( ( v2ClientType ) =>
42- j . tsTypeReference ( j . identifier ( v3ClientName ) , v2ClientType . node . typeParameters )
43- ) ;
38+ if ( v2GlobalName ) {
39+ source
40+ . find ( j . TSTypeReference , getV2ClientTSTypeRef ( { v2ClientName, v2GlobalName } ) )
41+ . replaceWith ( ( v2ClientType ) =>
42+ j . tsTypeReference ( j . identifier ( v3ClientName ) , v2ClientType . node . typeParameters )
43+ ) ;
4444
45- // Replace reference to client types created with global name.
46- source
47- . find (
48- j . TSTypeReference ,
49- getV2ClientTSTypeRef ( { v2ClientName, v2GlobalName, withoutRightSection : true } )
50- )
51- . filter ( ( v2ClientType ) => isRightSectionIdentifier ( v2ClientType . node ) )
52- . replaceWith ( ( v2ClientType ) =>
53- getV3ClientTypeReference (
54- j ,
55- v2ClientLocalName ,
56- getV3ClientTypeName ( getRightIdentifierName ( v2ClientType . node ) )
45+ // Replace reference to client types created with global name.
46+ source
47+ . find (
48+ j . TSTypeReference ,
49+ getV2ClientTSTypeRef ( { v2ClientName, v2GlobalName, withoutRightSection : true } )
5750 )
58- ) ;
51+ . filter ( ( v2ClientType ) => isRightSectionIdentifier ( v2ClientType . node ) )
52+ . replaceWith ( ( v2ClientType ) =>
53+ getV3ClientTypeReference (
54+ j ,
55+ v2ClientLocalName ,
56+ getV3ClientTypeName ( getRightIdentifierName ( v2ClientType . node ) )
57+ )
58+ ) ;
59+ }
5960
6061 // Replace reference to client types created with client module.
6162 source
62- . find ( j . TSTypeReference , getV2ClientTSTypeRef ( { v2ClientName , withoutRightSection : true } ) )
63+ . find ( j . TSTypeReference , getV2ClientTSTypeRef ( { v2ClientLocalName , withoutRightSection : true } ) )
6364 . filter ( ( v2ClientType ) => isRightSectionIdentifier ( v2ClientType . node ) )
6465 . replaceWith ( ( v2ClientType ) =>
6566 getV3ClientTypeReference (
@@ -70,7 +71,12 @@ export const replaceTSTypeReference = (
7071 ) ;
7172
7273 // Replace type reference to client type with modules.
73- const v2ClientTypeNames = getV2ClientTypeNames ( j , source , { v2ClientName, v2GlobalName } ) ;
74+ const v2ClientTypeNames = getV2ClientTypeNames ( j , source , {
75+ v2ClientLocalName,
76+ v2ClientName,
77+ v2GlobalName,
78+ } ) ;
79+
7480 for ( const v2ClientTypeName of v2ClientTypeNames ) {
7581 source
7682 . find ( j . TSTypeReference , { typeName : { type : "Identifier" , name : v2ClientTypeName } } )
0 commit comments