UNPKG

openapi-diff

Version:

A CLI tool to identify differences between Swagger/OpenAPI specs.

26 lines (25 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseOpenApi3Responses = 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 parse_openapi3_response_headers_1 = require("./parse-openapi3-response-headers"); const parseResponse = (responseOrReference, pathBuilder, spec) => { const response = (0, dereference_object_1.dereferenceObject)(responseOrReference, spec); return { headers: (0, parse_openapi3_response_headers_1.parseOpenApi3ResponseHeaders)(response, pathBuilder), jsonSchema: (0, parse_openapi3_body_object_json_schema_1.parseOpenApi3BodyObjectJsonSchema)(response, pathBuilder, spec), originalValue: { originalPath: pathBuilder.build(), value: responseOrReference } }; }; const parseOpenApi3Responses = (responses, pathBuilder, spec) => { return Object.keys(responses).reduce((accumulator, statusCode) => { const originalPath = pathBuilder.withChild(statusCode); accumulator[statusCode] = parseResponse(responses[statusCode], originalPath, spec); return accumulator; }, {}); }; exports.parseOpenApi3Responses = parseOpenApi3Responses;