diff --git a/.changeset/primitive-anyof-test.md b/.changeset/primitive-anyof-test.md new file mode 100644 index 000000000..46f187679 --- /dev/null +++ b/.changeset/primitive-anyof-test.md @@ -0,0 +1,5 @@ +--- +"swagger-typescript-api": patch +--- + +Add test verifying primitive + object anyOf unions. diff --git a/tests/spec/object-types/__snapshots__/basic.test.ts.snap b/tests/spec/object-types/__snapshots__/basic.test.ts.snap index 84c13ba23..798a92c32 100644 --- a/tests/spec/object-types/__snapshots__/basic.test.ts.snap +++ b/tests/spec/object-types/__snapshots__/basic.test.ts.snap @@ -60,6 +60,14 @@ export type Test1 = { multiple: string | number; } | null; +export interface AddressCreationRequest { + city?: string; +} + +export interface ContainerWithPrimitiveAnyOf { + origin?: string | AddressCreationRequest; +} + export interface AdditionalObjectProperties { id?: string; [key: string]: any; diff --git a/tests/spec/object-types/schema.json b/tests/spec/object-types/schema.json index 4496d173f..db7e4a56b 100644 --- a/tests/spec/object-types/schema.json +++ b/tests/spec/object-types/schema.json @@ -83,6 +83,29 @@ } } }, + "AddressCreationRequest": { + "type": "object", + "properties": { + "city": { + "type": "string" + } + } + }, + "ContainerWithPrimitiveAnyOf": { + "type": "object", + "properties": { + "origin": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/AddressCreationRequest" + } + ] + } + } + }, "AdditionalObjectProperties": { "type": "object", "properties": {