UNPKG

531 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 true;
8 if (schema.length == 1) return {required: schema};
9 var schemas = schema.map(function (prop) {
10 return {required: [prop]};
11 });
12 return {anyOf: schemas};
13 },
14 metaSchema: {
15 type: 'array',
16 items: {
17 type: 'string'
18 }
19 }
20 };
21
22 ajv.addKeyword('anyRequired', defFunc.definition);
23 return ajv;
24};