test-openapi
Version:
Automated client requests
49 lines (32 loc) • 1.35 kB
JavaScript
require("core-js/modules/es.array.iterator");Object.defineProperty(exports,"__esModule",{value:true});exports.loadOpenApiSpec=void 0;var _swaggerParser=_interopRequireDefault(require("swagger-parser"));
var _error=require("../../../errors/error.js");
var _handler=require("../../../errors/handler.js");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
const eLoadOpenApiSpec=function({spec}){
return _swaggerParser.default.validate(spec);
};
const loadSpecHandler=function({message,details}){
if(!Array.isArray(details)){
fetchSpecHandler({message});
}
invalidSpecHandler({details});
};
const loadOpenApiSpec=(0,_handler.addErrorHandler)(
eLoadOpenApiSpec,
loadSpecHandler);exports.loadOpenApiSpec=loadOpenApiSpec;
const fetchSpecHandler=function({message}){
throw new _error.TestOpenApiError(
`OpenAPI specification could not be loaded: ${message}`);
};
const invalidSpecHandler=function({details,details:[{path}]}){
const message=details.map(getErrorMessage).join(`\n${INDENT}`);
throw new _error.TestOpenApiError(
`OpenAPI specification is invalid at ${path.join(
".")
}:\n${INDENT}${message}`);
};
const INDENT_LENGTH=4;
const INDENT=" ".repeat(INDENT_LENGTH);
const getErrorMessage=function({path,message}){
return`At '${path.join(".")}': ${message}`;
};
//# sourceMappingURL=load.js.map
;