Spaces:
Sleeping
Sleeping
| ; | |
| 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; | |
| }; | |