diff --git a/packages/quicktype-core/src/UnifyClasses.ts b/packages/quicktype-core/src/UnifyClasses.ts index 5c1e0094eb..63deb15a62 100644 --- a/packages/quicktype-core/src/UnifyClasses.ts +++ b/packages/quicktype-core/src/UnifyClasses.ts @@ -191,6 +191,7 @@ export class UnifyUnionBuilder extends UnionBuilder< return this.typeBuilder.getMapType( typeAttributes, this._unifyTypes(Array.from(propertyTypes)), + forwardingRef, ); } else { const [properties, additionalProperties, lostTypeAttributes] = diff --git a/test/inputs/json/priority/bug2037.json b/test/inputs/json/priority/bug2037.json new file mode 100644 index 0000000000..3c02da6267 --- /dev/null +++ b/test/inputs/json/priority/bug2037.json @@ -0,0 +1 @@ +{"mission_specs": {"1": {"objectives": {"2": {"rewards": {"3": {}, "5": {}}}}}, "4": {"objectives": {"6": {"rewards": {}}}}}} diff --git a/test/languages.ts b/test/languages.ts index a31f78b6f5..14148e136a 100644 --- a/test/languages.ts +++ b/test/languages.ts @@ -1168,6 +1168,8 @@ export const KotlinLanguage: Language = { "nst-test-suite.json", // Klaxon does not support top-level primitives "no-classes.json", + // Klaxon cannot deserialize empty object map values as JsonObject: #2881 + "bug2037.json", // These should be enabled "nbl-stats.json", // TODO Investigate these