@@ -6,7 +6,7 @@ import { TransformerContext } from './context';
66 * Transforms PostgreSQL v15 AST nodes to v16 format
77 */
88export class V15ToV16Transformer {
9-
9+
1010 transform ( node : PG15 . Node , context : TransformerContext = { parentNodeTypes : [ ] } ) : any {
1111 if ( node == null ) {
1212 return null ;
@@ -34,12 +34,12 @@ export class V15ToV16Transformer {
3434
3535 visit ( node : PG15 . Node , context : TransformerContext = { parentNodeTypes : [ ] } ) : any {
3636 const nodeType = this . getNodeType ( node ) ;
37-
37+
3838 // Handle empty objects
3939 if ( ! nodeType ) {
4040 return { } ;
4141 }
42-
42+
4343 const nodeData = this . getNodeData ( node ) ;
4444
4545 const methodName = nodeType as keyof this;
@@ -50,7 +50,7 @@ export class V15ToV16Transformer {
5050 } ;
5151 return ( this [ methodName ] as any ) ( nodeData , childContext ) ;
5252 }
53-
53+
5454 // If no specific method, return the node as-is
5555 return node ;
5656 }
@@ -68,7 +68,7 @@ export class V15ToV16Transformer {
6868 }
6969
7070 ParseResult ( node : PG15 . ParseResult , context : TransformerContext ) : any {
71-
71+
7272 if ( node && typeof node === 'object' && 'version' in node && 'stmts' in node ) {
7373 return {
7474 version : 160000 , // PG16 version
@@ -509,7 +509,7 @@ export class V15ToV16Transformer {
509509
510510 A_Const ( node : PG15 . A_Const , context : TransformerContext ) : any {
511511 const result : any = { ...node } ;
512-
512+
513513 if ( result . val ) {
514514 const val : any = result . val ;
515515 if ( val . String && val . String . str !== undefined ) {
@@ -876,10 +876,10 @@ export class V15ToV16Transformer {
876876 const result : any = { ...node } ;
877877 return { String : result } ;
878878 }
879-
879+
880880 Integer ( node : PG15 . Integer , context : TransformerContext ) : any {
881881 const result : any = { ...node } ;
882-
882+
883883 // Handle case where PG15 produces empty Integer nodes that need different handling based on context
884884 if ( Object . keys ( node ) . length === 0 ) {
885885 if ( context . parentNodeTypes . includes ( 'TypeName' ) ) {
@@ -888,25 +888,25 @@ export class V15ToV16Transformer {
888888 result . ival = - 1 ;
889889 }
890890 }
891-
891+
892892 return { Integer : result } ;
893893 }
894-
894+
895895 Float ( node : PG15 . Float , context : TransformerContext ) : any {
896896 const result : any = { ...node } ;
897897 return { Float : result } ;
898898 }
899-
899+
900900 Boolean ( node : PG15 . Boolean , context : TransformerContext ) : any {
901901 const result : any = { ...node } ;
902902 return { Boolean : result } ;
903903 }
904-
904+
905905 BitString ( node : PG15 . BitString , context : TransformerContext ) : any {
906906 const result : any = { ...node } ;
907907 return { BitString : result } ;
908908 }
909-
909+
910910 Null ( node : PG15 . Node , context : TransformerContext ) : any {
911911 return { Null : { } } ;
912912 }
@@ -949,7 +949,7 @@ export class V15ToV16Transformer {
949949 if ( node . partspec !== undefined ) {
950950 // Handle partspec transformation directly since it's a plain object, not a wrapped node
951951 const partspec : any = { ...node . partspec } ;
952-
952+
953953 if ( partspec . strategy !== undefined ) {
954954 const strategyMap : Record < string , string > = {
955955 'range' : 'PARTITION_STRATEGY_RANGE' ,
@@ -958,13 +958,13 @@ export class V15ToV16Transformer {
958958 } ;
959959 partspec . strategy = strategyMap [ partspec . strategy ] || partspec . strategy ;
960960 }
961-
961+
962962 if ( partspec . partParams !== undefined ) {
963963 partspec . partParams = Array . isArray ( partspec . partParams )
964964 ? partspec . partParams . map ( ( item : any ) => this . transform ( item as any , context ) )
965965 : this . transform ( partspec . partParams as any , context ) ;
966966 }
967-
967+
968968 result . partspec = partspec ;
969969 }
970970
0 commit comments