You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							1.0 KiB
						
					
					
				'use strict'; | 
						|
 | 
						|
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; | 
						|
};
 | 
						|
 |