| /** |
| * @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; |
| }; |