diff options
Diffstat (limited to 'node_modules/ajv-keywords/keywords/oneRequired.js')
| -rw-r--r-- | node_modules/ajv-keywords/keywords/oneRequired.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/node_modules/ajv-keywords/keywords/oneRequired.js b/node_modules/ajv-keywords/keywords/oneRequired.js new file mode 100644 index 00000000..5468463b --- /dev/null +++ b/node_modules/ajv-keywords/keywords/oneRequired.js @@ -0,0 +1,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; +}; |
