'use strict'; module.exports = function (ajv, options) { if (!ajv._opts.allErrors) throw new Error('ajv-errors: Ajv option allErrors must be true'); if (!ajv._opts.jsonPointers) { console.warn('ajv-errors: Ajv option jsonPointers changed to true'); ajv._opts.jsonPointers = true; } ajv.addKeyword('errorMessage', { inline: require('./lib/dotjs/errorMessage'), statements: true, valid: true, errors: 'full', config: { KEYWORD_PROPERTY_PARAMS: { required: 'missingProperty', dependencies: 'property' }, options: options || {} }, metaSchema: { 'type': ['string', 'object'], properties: { properties: {$ref: '#/definitions/stringMap'}, items: {$ref: '#/definitions/stringList'}, required: {$ref: '#/definitions/stringOrMap'}, dependencies: {$ref: '#/definitions/stringOrMap'} }, additionalProperties: {'type': 'string'}, definitions: { stringMap: { 'type': ['object'], additionalProperties: {'type': 'string'} }, stringOrMap: { 'type': ['string', 'object'], additionalProperties: {'type': 'string'} }, stringList: { 'type': ['array'], items: {'type': 'string'} } } } }); return ajv; };