UNPKG

553 BJavaScriptView Raw
1'use strict';
2
3module.exports = function defFunc(ajv) {
4 defFunc.definition = {
5 type: 'object',
6 macro: function (schema) {
7 if (schema.length == 0) return {};
8 if (schema.length == 1) return { not: { required: schema } };
9 var schemas = schema.map(function (prop) {
10 return { required: [prop] };
11 });
12 return { not: { anyOf: schemas } };
13 },
14 metaSchema: {
15 type: 'array',
16 items: {
17 type: 'string'
18 }
19 }
20 };
21
22 ajv.addKeyword('prohibited', defFunc.definition);
23 return ajv;
24};
25