123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- '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;
- };
|