openapi-typescript
Version:
Generate TypeScript types from Swagger OpenAPI specs
34 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformRequestBodyObj = exports.transformRequestBodies = void 0;
const utils_1 = require("../utils");
const schema_1 = require("./schema");
function transformRequestBodies(requestBodies, ctx) {
let output = "";
for (const name of Object.keys(requestBodies)) {
const requestBody = requestBodies[name];
if (requestBody && requestBody.description)
output += ` ${utils_1.comment(requestBody.description)}`;
output += ` "${name}": {\n ${transformRequestBodyObj(requestBody, ctx)}\n }\n`;
}
return output;
}
exports.transformRequestBodies = transformRequestBodies;
function transformRequestBodyObj(requestBody, ctx) {
const readonly = utils_1.tsReadonly(ctx.immutableTypes);
let output = "";
if (requestBody.content && Object.keys(requestBody.content).length) {
output += ` ${readonly}content: {\n`;
for (const k of Object.keys(requestBody.content)) {
const v = requestBody.content[k];
output += ` ${readonly}"${k}": ${schema_1.transformSchemaObj(v.schema, { ...ctx, required: new Set() })};\n`;
}
output += ` }\n`;
}
else {
output += ` unknown;\n`;
}
return output;
}
exports.transformRequestBodyObj = transformRequestBodyObj;
//# sourceMappingURL=request.js.map