Projekt

Obecné

Profil

Stáhnout (544 Bajtů) Statistiky
| Větev: | Revize:
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 {not: {required: schema}};
9
      var schemas = schema.map(function (prop) {
10
        return {required: [prop]};
11
      });
12
      return {not: {anyOf: schemas}};
13
    },
14
    metaSchema: {
15
      type: 'array',
16
      items: {
17
        type: 'string'
18
      }
19
    }
20
  };
21

    
22
  ajv.addKeyword('prohibited', defFunc.definition);
23
  return ajv;
24
};
(14-14/21)