UNPKG

openapi-typescript

Version:

Generate TypeScript types from Swagger OpenAPI specs

31 lines 1.38 kB
import { comment, isRef, tsReadonly } from "../utils"; import { transformParametersArray } from "./parameters"; import { transformRequestBodyObj } from "./request"; import { transformResponsesObj } from "./responses"; export function transformOperationObj(operation, options) { const { pathItem = {}, globalParameters, ...ctx } = options; const readonly = tsReadonly(ctx.immutableTypes); let output = ""; if (operation.parameters || pathItem.parameters) { const parameters = (pathItem.parameters || []).concat(operation.parameters || []); output += ` ${readonly}parameters: {\n ${transformParametersArray(parameters, { ...ctx, globalParameters, })}\n }\n`; } if (operation.responses) { output += ` ${readonly}responses: {\n ${transformResponsesObj(operation.responses, ctx)}\n }\n`; } if (operation.requestBody) { if (isRef(operation.requestBody)) { output += ` ${readonly}requestBody: ${operation.requestBody.$ref};\n`; } else { if (operation.requestBody.description) output += comment(operation.requestBody.description); output += ` ${readonly}requestBody: {\n ${transformRequestBodyObj(operation.requestBody, ctx)} }\n`; } } return output; } //# sourceMappingURL=operation.js.map