diff --git a/src/openApi/v3/parser/getContent.ts b/src/openApi/v3/parser/getContent.ts index 0a2a4f4e..7559cf8d 100644 --- a/src/openApi/v3/parser/getContent.ts +++ b/src/openApi/v3/parser/getContent.ts @@ -1,30 +1,24 @@ +import { isDefined } from '../../../utils/isDefined'; import type { Dictionary } from '../../../utils/types'; import type { OpenApi } from '../interfaces/OpenApi'; import type { OpenApiMediaType } from '../interfaces/OpenApiMediaType'; import type { OpenApiSchema } from '../interfaces/OpenApiSchema'; export function getContent(openApi: OpenApi, content: Dictionary): OpenApiSchema | null { - /* prettier-ignore */ - return ( - content['application/json-patch+json'] && - content['application/json-patch+json'].schema - ) || ( - content['application/json'] && - content['application/json'].schema - ) || ( - content['text/json'] && - content['text/json'].schema - ) || ( - content['text/plain'] && - content['text/plain'].schema - ) || ( - content['multipart/mixed'] && - content['multipart/mixed'].schema - ) || ( - content['multipart/related'] && - content['multipart/related'].schema - ) || ( - content['multipart/batch'] && - content['multipart/batch'].schema - ) || null; + const basicMediaTypeSchema = + content['application/json-patch+json']?.schema || + content['application/json']?.schema || + content['text/json']?.schema || + content['text/plain']?.schema || + content['multipart/mixed']?.schema || + content['multipart/related']?.schema || + content['multipart/batch']?.schema; + + if (basicMediaTypeSchema) { + return basicMediaTypeSchema; + } + + const mediaTypes = Object.values(content); + const mediaType = mediaTypes.find(mediaType => isDefined(mediaType.schema)); + return mediaType?.schema || null; } diff --git a/test/e2e/v3.node.spec.js b/test/e2e/v3.node.spec.js index 892b53a4..00270b6d 100644 --- a/test/e2e/v3.node.spec.js +++ b/test/e2e/v3.node.spec.js @@ -60,7 +60,6 @@ describe('v3.node', () => { prop: 'valueBody' } ); - console.log(result) expect(result).toBeDefined(); }); });