.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / ajv-keywords / keywords / oneRequired.js
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 };