jest-expect-openapi
Version:
Jest/Vitest matcher for asserting valid OpenAPI definitions
32 lines (27 loc) • 1.09 kB
JavaScript
Object.defineProperty(exports, "__esModule", {value: true});// src/index.ts
var _openapiparser = require('@readme/openapi-parser');
async function toBeAValidOpenAPIDefinition(definition, transformer) {
const { matcherHint, printReceived } = this.utils;
const message = (pass2, error2) => () => {
return `${matcherHint(pass2 ? ".not.toBeAValidOpenAPIDefinition" : ".toBeAValidOpenAPIDefinition")}
Expected OpenAPI definition to be valid.
${printReceived(error2)}`;
};
let cloned = JSON.parse(JSON.stringify(definition));
if (transformer) {
cloned = transformer(cloned);
}
const { pass, error } = await _openapiparser.validate.call(void 0, cloned).then((res) => {
if (res.valid) {
return { pass: true, error: null };
}
return { pass: false, error: _openapiparser.compileErrors.call(void 0, res) };
}).catch((err) => ({ pass: false, error: err.message }));
return {
pass,
message: message(pass, error)
};
}
exports.default = toBeAValidOpenAPIDefinition;
module.exports = exports.default;
//# sourceMappingURL=index.cjs.map
;