UNPKG

pot-js

Version:

Process management module

33 lines (26 loc) 724 B
'use strict'; 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; }