openapi-typescript
Version:
Generate TypeScript types from Swagger OpenAPI specs
31 lines • 1.38 kB
JavaScript
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