/** * @fileoverview The instance of Ajv validator. * @author Evgeny Poberezkin */ "use strict"; //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ const Ajv = require("ajv"), metaSchema = require("ajv/lib/refs/json-schema-draft-04.json"); //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ module.exports = (additionalOptions = {}) => { const ajv = new Ajv({ meta: false, useDefaults: true, validateSchema: false, missingRefs: "ignore", verbose: true, schemaId: "auto", ...additionalOptions }); ajv.addMetaSchema(metaSchema); // eslint-disable-next-line no-underscore-dangle ajv._opts.defaultMeta = metaSchema.id; return ajv; };