pot-js
Version:
Process management module
33 lines (26 loc) • 724 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = validateBySchema;
var _ajv = require('ajv');
var _ajv2 = _interopRequireDefault(_ajv);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const ajv = new _ajv2.default({
useDefaults: true,
allErrors: true,
verbose: true,
coerceTypes: true
});
function validateBySchema(schema) {
let config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
const valid = ajv.validate(schema, config);
if (!valid) {
const error = new Error(ajv.errorsText(ajv.errors, {
dataVar: 'config'
}));
error.errors = ajv.errors;
throw error;
}
return config;
}