From 19fc49b59066ea025c78e66c09c11b5fae32a18c Mon Sep 17 00:00:00 2001 From: Ferdi Koomen Date: Wed, 15 Jul 2020 23:42:40 +0200 Subject: [PATCH] - Small fix for anyOf without a "type": "object" property --- package.json | 2 +- src/openApi/v2/parser/getModel.ts | 4 ++-- src/openApi/v3/parser/getModel.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 811cf373..17c600d6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openapi-typescript-codegen", - "version": "0.4.6", + "version": "0.4.7", "description": "NodeJS library that generates Typescript or Javascript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "homepage": "https://github.com/ferdikoomen/openapi-typescript-codegen", diff --git a/src/openApi/v2/parser/getModel.ts b/src/openApi/v2/parser/getModel.ts index dc516af4..f5854641 100644 --- a/src/openApi/v2/parser/getModel.ts +++ b/src/openApi/v2/parser/getModel.ts @@ -120,12 +120,12 @@ export function getModel(openApi: OpenApi, definition: OpenApiSchema, isDefiniti } } - if (definition.type === 'object') { + if (definition.type === 'object' || definition.allOf) { model.export = 'interface'; model.type = PrimaryType.OBJECT; model.base = PrimaryType.OBJECT; - if (definition.allOf) { + if (definition.allOf && definition.allOf.length) { definition.allOf.forEach(parent => { if (parent.$ref) { const parentRef = getType(parent.$ref); diff --git a/src/openApi/v3/parser/getModel.ts b/src/openApi/v3/parser/getModel.ts index 050624b3..c9c9b5bd 100644 --- a/src/openApi/v3/parser/getModel.ts +++ b/src/openApi/v3/parser/getModel.ts @@ -143,13 +143,13 @@ export function getModel(openApi: OpenApi, definition: OpenApiSchema, isDefiniti return model; } - if (definition.type === 'object') { + if (definition.type === 'object' || definition.allOf) { model.export = 'interface'; model.type = PrimaryType.OBJECT; model.base = PrimaryType.OBJECT; model.default = getModelDefault(definition, model); - if (definition.allOf) { + if (definition.allOf && definition.allOf.length) { definition.allOf.forEach(parent => { if (parent.$ref) { const parentRef = getType(parent.$ref);