@apideck/portman
Version:
Port OpenAPI Spec to Postman Collection, with contract & variation tests included
30 lines • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validate = void 0;
var tslib_1 = require("tslib");
var better_ajv_errors_1 = require("@apideck/better-ajv-errors");
var ajv_1 = tslib_1.__importDefault(require("ajv"));
var json_schema_draft_06_json_1 = tslib_1.__importDefault(require("ajv/lib/refs/json-schema-draft-06.json"));
var Either = tslib_1.__importStar(require("fp-ts/lib/Either"));
var portman_config_schema_json_1 = tslib_1.__importDefault(require("./portman-config-schema.json"));
var validate = function (data) {
var ajv = new ajv_1.default({
allErrors: true,
allowUnionTypes: true
});
ajv.addMetaSchema(json_schema_draft_06_json_1.default);
var valid = ajv.validate(portman_config_schema_json_1.default, data);
if (!valid) {
var betterErrors = (0, better_ajv_errors_1.betterAjvErrors)({
schema: portman_config_schema_json_1.default,
data: data,
errors: ajv.errors
});
return Either.left(betterErrors);
}
else {
return Either.right(data);
}
};
exports.validate = validate;
//# sourceMappingURL=PortmanConfig.validator.js.map