UNPKG

openapi-client-sdk-loader

Version:
22 lines (14 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.compile = void 0; var _utils = require("../../utils"); const prepareMimeType = mimeType => (0, _utils.dashes2capitals)((0, _utils.basepath)(mimeType)); const compile = (schemas, transform) => schemas ? Promise.all(Object.keys(schemas).map(schemaName => { return (0, _utils.schema2typescript)(...transform(schemas, schemaName)); })).then(interfaces => interfaces.join('\n')) : Promise.resolve(''); exports.compile = compile; const compileBodies = (bodies, nameSuffix) => bodies ? Object.keys(bodies).map(bodyName => compile(bodies[bodyName].content, (schemas, name) => [schemas[name].schema, `${bodyName}${nameSuffix}${prepareMimeType(name)}`])) : [Promise.resolve('')]; var _default = async (api) => Promise.all([api.components && api.components.schemas ? compile(api.components.schemas, (schemas, name) => [schemas[name], name]) : Promise.resolve(''), api.components && api.components.schemas ? compile(api.components.parameters, (schemas, name) => [schemas[name].schema, `${name}Param`]) : Promise.resolve(''), ...(api.components && api.components.requestBodies ? compileBodies(api.components.requestBodies, 'RequestBody') : []), ...(api.components && api.components.responses ? compileBodies(api.components.responses, 'Response') : [])]).then(interfaces => interfaces.join('\n')); exports.default = _default;