@@ -106,7 +106,7 @@ export class V13ToV14Transformer {
106106 const sortedKeys = keys . sort ( ( a , b ) => parseInt ( a ) - parseInt ( b ) ) ;
107107 transformedData [ key ] = sortedKeys . map ( k => this . transform ( ( value as any ) [ k ] , context ) ) ;
108108 }
109- } else {
109+ } else {
110110 // Regular object transformation
111111 transformedData [ key ] = this . transform ( value as any , context ) ;
112112 }
@@ -753,6 +753,18 @@ export class V13ToV14Transformer {
753753
754754 if ( result . name !== undefined ) {
755755 result . name = this . transform ( result . name , childContext ) ;
756+
757+ if ( result . name && typeof result . name === 'object' && result . name . objname ) {
758+ const objname = result . name . objname ;
759+ if ( typeof objname === 'object' && ! Array . isArray ( objname ) && objname !== null ) {
760+ const keys = Object . keys ( objname ) ;
761+ const isNumericKeysObject = keys . length > 0 && keys . every ( k => / ^ \d + $ / . test ( k ) ) ;
762+ if ( isNumericKeysObject ) {
763+ const sortedKeys = keys . sort ( ( a , b ) => parseInt ( a ) - parseInt ( b ) ) ;
764+ result . name . objname = sortedKeys . map ( key => this . transform ( objname [ key ] , childContext ) ) ;
765+ }
766+ }
767+ }
756768 }
757769
758770 if ( result . args !== undefined ) {
@@ -1683,7 +1695,7 @@ export class V13ToV14Transformer {
16831695 const sortedKeys = keys . sort ( ( a , b ) => parseInt ( a ) - parseInt ( b ) ) ;
16841696 result . objname = sortedKeys . map ( key => this . transform ( result . objname [ key ] , context ) ) ;
16851697 }
1686- } else {
1698+ } else {
16871699 // Regular object transformation
16881700 result . objname = this . transform ( result . objname , context ) ;
16891701 }
0 commit comments