UNPKG

@qualipool/swissrets-json

Version:
24 lines 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateSwissRets = void 0; const tslib_1 = require("tslib"); const ajv_formats_1 = tslib_1.__importDefault(require("ajv-formats")); const _2020_1 = tslib_1.__importDefault(require("ajv/dist/2020")); const lodash_1 = require("lodash"); const custom_validation_1 = require("../validator/custom-validation"); const swissRetsSchema_json_1 = tslib_1.__importDefault(require("../../../schema/swissRetsSchema.json")); /** * Validates the given SwissRETS JSON string or object against the schema. * @param swissretsJson The SwissRETS JSON string or object to validate. * @returns An array of errors. If the array is empty, the JSON is valid. */ const validateSwissRets = (swissretsJson, config = { removeAdditional: false }) => { const ajv2020Instance = new _2020_1.default({ allErrors: true, verbose: true, ...config }); (0, ajv_formats_1.default)(ajv2020Instance); (0, lodash_1.each)((0, custom_validation_1.allCustomValidators)(), (item) => ajv2020Instance.addKeyword(item)); const jsonObject = swissretsJson instanceof Object ? swissretsJson : JSON.parse(swissretsJson); ajv2020Instance.validate(swissRetsSchema_json_1.default, jsonObject); return ajv2020Instance.errors || []; }; exports.validateSwissRets = validateSwissRets; //# sourceMappingURL=validator.js.map