Skip to content

Commit 99d55d6

Browse files
fix: add specific objname array conversion handling in CreateOpClassItem method
Co-Authored-By: Dan Lynch <[email protected]>
1 parent a7e66d6 commit 99d55d6

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

packages/transform/src/transformers/v13-to-v14.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)