Spaces:
Sleeping
Sleeping
| /** | |
| * @fileoverview The instance of Ajv validator. | |
| * @author Evgeny Poberezkin | |
| */ | |
| ; | |
| //------------------------------------------------------------------------------ | |
| // 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's API | |
| ajv._opts.defaultMeta = metaSchema.id; | |
| return ajv; | |
| }; | |