@@ -444,24 +444,9 @@ export class V16ToV17Transformer {
444444 const result : any = { } ;
445445
446446 if ( node . names !== undefined ) {
447- let names = Array . isArray ( node . names )
447+ result . names = Array . isArray ( node . names )
448448 ? node . names . map ( item => this . transform ( item as any , context ) )
449449 : this . transform ( node . names as any , context ) ;
450-
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- }
463-
464- result . names = names ;
465450 }
466451
467452 if ( node . typeOid !== undefined ) {
@@ -562,63 +547,7 @@ export class V16ToV17Transformer {
562547 result . arg = this . transform ( node . arg as any , context ) ;
563548 }
564549 if ( node . typeName !== undefined ) {
565- // Handle unwrapped TypeName data directly since PG16 provides it unwrapped
566- const typeName = node . typeName as any ;
567-
568- if ( typeName && typeof typeName === 'object' && 'names' in typeName ) {
569- const transformedTypeName : any = { } ;
570-
571- if ( typeName . names !== undefined ) {
572- let names = Array . isArray ( typeName . names )
573- ? typeName . names . map ( ( item : any ) => this . transform ( item as any , context ) )
574- : this . transform ( typeName . names as any , context ) ;
575-
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- }
588-
589- transformedTypeName . names = names ;
590- }
591-
592- if ( typeName . typeOid !== undefined ) {
593- transformedTypeName . typeOid = typeName . typeOid ;
594- }
595- if ( typeName . setof !== undefined ) {
596- transformedTypeName . setof = typeName . setof ;
597- }
598- if ( typeName . pct_type !== undefined ) {
599- transformedTypeName . pct_type = typeName . pct_type ;
600- }
601- if ( typeName . typmods !== undefined ) {
602- transformedTypeName . typmods = Array . isArray ( typeName . typmods )
603- ? typeName . typmods . map ( ( item : any ) => this . transform ( item as any , context ) )
604- : this . transform ( typeName . typmods as any , context ) ;
605- }
606- if ( typeName . typemod !== undefined ) {
607- transformedTypeName . typemod = typeName . typemod ;
608- }
609- if ( typeName . arrayBounds !== undefined ) {
610- transformedTypeName . arrayBounds = Array . isArray ( typeName . arrayBounds )
611- ? typeName . arrayBounds . map ( ( item : any ) => this . transform ( item as any , context ) )
612- : this . transform ( typeName . arrayBounds as any , context ) ;
613- }
614- if ( typeName . location !== undefined ) {
615- transformedTypeName . location = typeName . location ;
616- }
617-
618- result . typeName = transformedTypeName ;
619- } else {
620- result . typeName = this . transform ( typeName , context ) ;
621- }
550+ result . typeName = this . transform ( node . typeName as any , context ) ;
622551 }
623552 if ( node . location !== undefined ) {
624553 result . location = node . location ;
0 commit comments