Spaces:
Runtime error
Runtime error
; | |
var KEYWORDS = [ | |
'multipleOf', | |
'maximum', | |
'exclusiveMaximum', | |
'minimum', | |
'exclusiveMinimum', | |
'maxLength', | |
'minLength', | |
'pattern', | |
'additionalItems', | |
'maxItems', | |
'minItems', | |
'uniqueItems', | |
'maxProperties', | |
'minProperties', | |
'required', | |
'additionalProperties', | |
'enum', | |
'format', | |
'const' | |
]; | |
module.exports = function (metaSchema, keywordsJsonPointers) { | |
for (var i=0; i<keywordsJsonPointers.length; i++) { | |
metaSchema = JSON.parse(JSON.stringify(metaSchema)); | |
var segments = keywordsJsonPointers[i].split('/'); | |
var keywords = metaSchema; | |
var j; | |
for (j=1; j<segments.length; j++) | |
keywords = keywords[segments[j]]; | |
for (j=0; j<KEYWORDS.length; j++) { | |
var key = KEYWORDS[j]; | |
var schema = keywords[key]; | |
if (schema) { | |
keywords[key] = { | |
anyOf: [ | |
schema, | |
{ $ref: 'https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#' } | |
] | |
}; | |
} | |
} | |
} | |
return metaSchema; | |
}; | |