Skip to content

Commit 172a0dc

Browse files
committed
feat: separate sorting and stringify functions
DX-501
1 parent 391ccbc commit 172a0dc

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

packages/openapi-generator/src/optimize.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,15 @@ function mergeUnions(schema: Schema): Schema {
5252
.map(([k, v]) => ({ [k]: sortObj(v) })),
5353
);
5454

55+
// Deterministic version of JSON.stringify
56+
const deterministicStringify = (obj: object) => JSON.stringify(sortObj(obj));
57+
5558
schema.schemas.forEach((innerSchema) => {
5659
if (innerSchema.type === 'union') {
5760
const merged = mergeUnions(innerSchema);
58-
resultingSchemas.add(JSON.stringify(sortObj(merged)));
61+
resultingSchemas.add(deterministicStringify(merged));
5962
} else {
60-
resultingSchemas.add(JSON.stringify(sortObj(innerSchema)));
63+
resultingSchemas.add(deterministicStringify(innerSchema));
6164
}
6265
});
6366

0 commit comments

Comments
 (0)