12345678910111213141516171819202122232425 |
- 'use strict';
- module.exports = function defFunc(ajv) {
- defFunc.definition = {
- type: 'object',
- macro: function (schema) {
- if (schema.length == 0) return {};
- if (schema.length == 1) return { not: { required: schema } };
- var schemas = schema.map(function (prop) {
- return { required: [prop] };
- });
- return { not: { anyOf: schemas } };
- },
- metaSchema: {
- type: 'array',
- items: {
- type: 'string'
- }
- }
- };
- ajv.addKeyword('prohibited', defFunc.definition);
- return ajv;
- };
|