@@ -448,6 +448,18 @@ export class V16ToV17Transformer {
448448 ? node . names . map ( item => this . transform ( item as any , context ) )
449449 : this . transform ( node . names as any , context ) ;
450450
451+ if ( Array . isArray ( names ) && names . length === 2 ) {
452+ const firstElement = names [ 0 ] ;
453+ const secondElement = names [ 1 ] ;
454+ if ( firstElement && typeof firstElement === 'object' && 'String' in firstElement &&
455+ secondElement && typeof secondElement === 'object' && 'String' in secondElement ) {
456+ const firstTypeName = firstElement . String . str || firstElement . String . sval ;
457+ const secondTypeName = secondElement . String . str || secondElement . String . sval ;
458+ if ( firstTypeName === 'pg_catalog' && secondTypeName === 'json' ) {
459+ names = [ secondElement ] ;
460+ }
461+ }
462+ }
451463
452464 result . names = names ;
453465 }
@@ -561,6 +573,18 @@ export class V16ToV17Transformer {
561573 ? typeName . names . map ( ( item : any ) => this . transform ( item as any , context ) )
562574 : this . transform ( typeName . names as any , context ) ;
563575
576+ if ( Array . isArray ( names ) && names . length === 2 ) {
577+ const firstElement = names [ 0 ] ;
578+ const secondElement = names [ 1 ] ;
579+ if ( firstElement && typeof firstElement === 'object' && 'String' in firstElement &&
580+ secondElement && typeof secondElement === 'object' && 'String' in secondElement ) {
581+ const firstTypeName = firstElement . String . str || firstElement . String . sval ;
582+ const secondTypeName = secondElement . String . str || secondElement . String . sval ;
583+ if ( firstTypeName === 'pg_catalog' && secondTypeName === 'json' ) {
584+ names = [ secondElement ] ;
585+ }
586+ }
587+ }
564588
565589 transformedTypeName . names = names ;
566590 }
0 commit comments