openapi-diff
Version:
A CLI tool to identify differences between Swagger/OpenAPI specs.
31 lines (30 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseOpenApi3RequestBody = void 0;
const dereference_object_1 = require("../common/dereference-object");
const parse_openapi3_body_object_json_schema_1 = require("./parse-openapi3-body-object-json-schema");
const toParsedRequestBody = (requestBodyOrReference, pathBuilder, spec) => {
const requestBody = (0, dereference_object_1.dereferenceObject)(requestBodyOrReference, spec);
const jsonSchema = (0, parse_openapi3_body_object_json_schema_1.parseOpenApi3BodyObjectJsonSchema)(requestBody, pathBuilder, spec);
return {
jsonSchema,
originalValue: {
originalPath: pathBuilder.build(),
value: requestBody
}
};
};
const toParsedUndefinedRequestBody = (pathBuilder) => {
return {
originalValue: {
originalPath: pathBuilder.build(),
value: undefined
}
};
};
const parseOpenApi3RequestBody = (requestBodyOrReference, pathBuilder, spec) => {
return requestBodyOrReference
? toParsedRequestBody(requestBodyOrReference, pathBuilder, spec)
: toParsedUndefinedRequestBody(pathBuilder);
};
exports.parseOpenApi3RequestBody = parseOpenApi3RequestBody;