UNPKG

@kubb/plugin-oas

Version:
50 lines (46 loc) 1.6 kB
'use strict'; var oas = require('@kubb/oas'); // src/utils/getSchemaFactory.ts function getSchemaFactory(oas$1) { return (schema) => { const version = oas.isOpenApiV3_1Document(oas$1.api) ? "3.1" : "3.0"; return { schema: oas$1.dereferenceWithRef(schema), version }; }; } // src/utils/getSchemas.ts function getSchemas({ oas, contentType, includes = ["schemas", "requestBodies", "responses"] }) { const components = oas.getDefinition().components; let schemas = {}; if (includes.includes("schemas")) { schemas = { ...schemas, ...components?.schemas || {} }; } const requestBodies = components?.requestBodies || {}; if (includes.includes("responses")) { const responses = components?.responses || {}; Object.entries(responses).forEach(([name, response]) => { if (response.content && !schemas[name]) { const firstContentType = Object.keys(response.content)[0] || "application/json"; schemas[name] = response.content?.[contentType || firstContentType]?.schema; } }); } if (includes.includes("requestBodies")) { Object.entries(requestBodies).forEach(([name, request]) => { if (request.content && !schemas[name]) { const firstContentType = Object.keys(request.content)[0] || "application/json"; schemas[name] = request.content?.[contentType || firstContentType]?.schema; } }); } return schemas; } exports.getSchemaFactory = getSchemaFactory; exports.getSchemas = getSchemas; //# sourceMappingURL=chunk-B7KP5ZFA.cjs.map //# sourceMappingURL=chunk-B7KP5ZFA.cjs.map