UNPKG

openapi-typescript

Version:

Generate TypeScript types from Swagger OpenAPI specs

35 lines 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformOperationObj = void 0; const utils_1 = require("../utils"); const parameters_1 = require("./parameters"); const request_1 = require("./request"); const responses_1 = require("./responses"); function transformOperationObj(operation, options) { const { pathItem = {}, globalParameters, ...ctx } = options; const readonly = (0, utils_1.tsReadonly)(ctx.immutableTypes); let output = ""; if (operation.parameters || pathItem.parameters) { const parameters = (pathItem.parameters || []).concat(operation.parameters || []); output += ` ${readonly}parameters: {\n ${(0, parameters_1.transformParametersArray)(parameters, { ...ctx, globalParameters, })}\n }\n`; } if (operation.responses) { output += ` ${readonly}responses: {\n ${(0, responses_1.transformResponsesObj)(operation.responses, ctx)}\n }\n`; } if (operation.requestBody) { if ((0, utils_1.isRef)(operation.requestBody)) { output += ` ${readonly}requestBody: ${operation.requestBody.$ref};\n`; } else { if (operation.requestBody.description) output += (0, utils_1.comment)(operation.requestBody.description); output += ` ${readonly}requestBody: {\n ${(0, request_1.transformRequestBodyObj)(operation.requestBody, ctx)} }\n`; } } return output; } exports.transformOperationObj = transformOperationObj; //# sourceMappingURL=operation.js.map