parse-openapi
Version:
OpenAPI v3 parser
28 lines (27 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOperationResponses = void 0;
const getOperationResponse_1 = require("./getOperationResponse");
const getOperationResponseCode_1 = require("./getOperationResponseCode");
const getRef_1 = require("./getRef");
const getOperationResponses = (openApi, responses) => {
const operationResponses = [];
// Iterate over each response code and get the
// status code and response message (if any).
for (const code in responses) {
if (responses.hasOwnProperty(code)) {
const responseOrReference = responses[code];
const response = (0, getRef_1.getRef)(openApi, responseOrReference);
const responseCode = (0, getOperationResponseCode_1.getOperationResponseCode)(code);
if (responseCode) {
const operationResponse = (0, getOperationResponse_1.getOperationResponse)(openApi, response, responseCode);
operationResponses.push(operationResponse);
}
}
}
// Sort the responses to 2XX success codes come before 4XX and 5XX error codes.
return operationResponses.sort((a, b) => {
return a.code < b.code ? -1 : a.code > b.code ? 1 : 0;
});
};
exports.getOperationResponses = getOperationResponses;