37 lines
947 B
JavaScript
37 lines
947 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var META_SCHEMA_ID = 'http://json-schema.org/draft-06/schema';
|
||
|
|
||
|
module.exports = function (ajv) {
|
||
|
var defaultMeta = ajv._opts.defaultMeta;
|
||
|
var metaSchemaRef = typeof defaultMeta == 'string'
|
||
|
? { $ref: defaultMeta }
|
||
|
: ajv.getSchema(META_SCHEMA_ID)
|
||
|
? { $ref: META_SCHEMA_ID }
|
||
|
: {};
|
||
|
|
||
|
ajv.addKeyword('patternGroups', {
|
||
|
// implemented in properties.jst
|
||
|
metaSchema: {
|
||
|
type: 'object',
|
||
|
additionalProperties: {
|
||
|
type: 'object',
|
||
|
required: [ 'schema' ],
|
||
|
properties: {
|
||
|
maximum: {
|
||
|
type: 'integer',
|
||
|
minimum: 0
|
||
|
},
|
||
|
minimum: {
|
||
|
type: 'integer',
|
||
|
minimum: 0
|
||
|
},
|
||
|
schema: metaSchemaRef
|
||
|
},
|
||
|
additionalProperties: false
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
ajv.RULES.all.properties.implements.push('patternGroups');
|
||
|
};
|