1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| '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;
| };
|
|