diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/modelOneOf.mustache index 46352ea71acd..5d4b5891b73f 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/modelOneOf.mustache @@ -61,7 +61,6 @@ export function {{classname}}FromJSONTyped(json: any, ignoreDiscriminator: boole } {{#-last}} } - return json; } {{/-last}} {{/oneOfArrays}} @@ -105,6 +104,15 @@ export function {{classname}}FromJSONTyped(json: any, ignoreDiscriminator: boole {{/isString}} {{/items}} {{/isArray}} + {{/oneOfPrimitives}} + {{#oneOfArrays}} + {{#-last}} + if (Array.isArray(json)) { + return json; + } + {{/-last}} + {{/oneOfArrays}} + {{#oneOfPrimitives}} {{^isArray}} {{#isDateType}} if (!(isNaN(new Date(json).getTime()))) { @@ -178,7 +186,6 @@ export function {{classname}}ToJSONTyped(value?: {{classname}} | null, ignoreDis } {{#-last}} } - return value; } {{/-last}} {{/oneOfArrays}} @@ -187,7 +194,7 @@ export function {{classname}}ToJSONTyped(value?: {{classname}} | null, ignoreDis {{#items}} {{#isDateType}} if (Array.isArray(value)) { - if (value.every(item => item instanceof Date) { + if (value.every(item => item instanceof Date)) { return value.map(value => value.toISOString().substring(0,10)); } } @@ -222,6 +229,15 @@ export function {{classname}}ToJSONTyped(value?: {{classname}} | null, ignoreDis {{/isString}} {{/items}} {{/isArray}} + {{/oneOfPrimitives}} + {{#oneOfArrays}} + {{#-last}} + if (Array.isArray(value)) { + return value; + } + {{/-last}} + {{/oneOfArrays}} + {{#oneOfPrimitives}} {{^isArray}} {{#isDateType}} if (value instanceof Date) { diff --git a/samples/client/petstore/typescript-fetch/builds/oneOf/models/TestArrayResponse.ts b/samples/client/petstore/typescript-fetch/builds/oneOf/models/TestArrayResponse.ts index 29e0eb1017e3..e496b66889d1 100644 --- a/samples/client/petstore/typescript-fetch/builds/oneOf/models/TestArrayResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/oneOf/models/TestArrayResponse.ts @@ -51,13 +51,15 @@ export function TestArrayResponseFromJSONTyped(json: any, ignoreDiscriminator: b return json.map(value => TestBFromJSONTyped(value, true)); } } - return json; } if (Array.isArray(json)) { if (json.every(item => typeof item === 'string')) { return json; } } + if (Array.isArray(json)) { + return json; + } return {} as any; } @@ -78,13 +80,15 @@ export function TestArrayResponseToJSONTyped(value?: TestArrayResponse | null, i return value.map(value => TestBToJSON(value as TestB)); } } - return value; } if (Array.isArray(value)) { if (value.every(item => typeof item === 'string')) { return value; } } + if (Array.isArray(value)) { + return value; + } return {}; }