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