aswi2020vldc-gitlab/templetes/node_modules/ajv-keywords/keywords/oneRequired.js @ 3a515b92
1 |
'use strict'; |
---|---|
2 |
|
3 |
module.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 {oneOf: schemas}; |
13 |
},
|
14 |
metaSchema: { |
15 |
type: 'array', |
16 |
items: { |
17 |
type: 'string' |
18 |
}
|
19 |
}
|
20 |
};
|
21 |
|
22 |
ajv.addKeyword('oneRequired', defFunc.definition); |
23 |
return ajv; |
24 |
};
|