@@ -105,6 +105,24 @@ export class V13ToV14Transformer extends BaseTransformer {
105105
106106
107107
108+ CallStmt ( nodeData : PG13 . CallStmt , context ?: TransformerContext ) : any {
109+ const transformedData : any = { } ;
110+
111+ for ( const [ key , value ] of Object . entries ( nodeData ) ) {
112+ if ( key === 'funccall' && value && typeof value === 'object' ) {
113+ transformedData [ key ] = this . FuncCall ( value , context ) ;
114+ } else if ( Array . isArray ( value ) ) {
115+ transformedData [ key ] = value . map ( item => this . transform ( item , context ) ) ;
116+ } else if ( value && typeof value === 'object' ) {
117+ transformedData [ key ] = this . transform ( value , context ) ;
118+ } else {
119+ transformedData [ key ] = value ;
120+ }
121+ }
122+
123+ return transformedData ;
124+ }
125+
108126 FuncCall ( nodeData : PG13 . FuncCall , context ?: TransformerContext ) : any {
109127 const transformedData : any = { ...nodeData } ;
110128
@@ -186,7 +204,13 @@ export class V13ToV14Transformer extends BaseTransformer {
186204 const transformedData : any = { } ;
187205
188206 for ( const [ key , value ] of Object . entries ( nodeData ) ) {
189- if ( Array . isArray ( value ) ) {
207+ if ( key === 'options' ) {
208+ if ( value === 32 ) {
209+ transformedData [ key ] = 256 ;
210+ } else {
211+ transformedData [ key ] = value ;
212+ }
213+ } else if ( Array . isArray ( value ) ) {
190214 transformedData [ key ] = value . map ( item => this . transform ( item , context ) ) ;
191215 } else if ( value && typeof value === 'object' ) {
192216 transformedData [ key ] = this . transform ( value , context ) ;
@@ -195,10 +219,6 @@ export class V13ToV14Transformer extends BaseTransformer {
195219 }
196220 }
197221
198- if ( 'options' in nodeData ) {
199- transformedData . options = nodeData . options ;
200- }
201-
202222 return transformedData ;
203223 }
204224
@@ -215,18 +235,24 @@ export class V13ToV14Transformer extends BaseTransformer {
215235 }
216236 }
217237
218- if ( transformedData . objargs && Array . isArray ( transformedData . objargs ) ) {
219- transformedData . objfuncargs = transformedData . objargs . map ( ( arg : any ) => {
220- if ( arg && typeof arg === 'object' && arg . TypeName ) {
221- return {
222- FunctionParameter : {
223- argType : arg . TypeName ,
224- mode : "FUNC_PARAM_DEFAULT"
225- }
226- } ;
227- }
228- return arg ;
229- } ) ;
238+ if ( transformedData . objargs && Array . isArray ( transformedData . objargs ) && transformedData . objname ) {
239+ const hasTypeNameArgs = transformedData . objargs . some ( ( arg : any ) =>
240+ arg && typeof arg === 'object' && arg . TypeName
241+ ) ;
242+
243+ if ( hasTypeNameArgs ) {
244+ transformedData . objfuncargs = transformedData . objargs . map ( ( arg : any ) => {
245+ if ( arg && typeof arg === 'object' && arg . TypeName ) {
246+ return {
247+ FunctionParameter : {
248+ argType : arg . TypeName ,
249+ mode : "FUNC_PARAM_DEFAULT"
250+ }
251+ } ;
252+ }
253+ return arg ;
254+ } ) ;
255+ }
230256 }
231257
232258 return transformedData ;
0 commit comments