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.
		
		
		
		
		
			
		
			
				
					
					
						
							34 lines
						
					
					
						
							980 B
						
					
					
				
			
		
		
	
	
							34 lines
						
					
					
						
							980 B
						
					
					
				/** | 
						|
 * @fileoverview The instance of Ajv validator. | 
						|
 * @author Evgeny Poberezkin | 
						|
 */ | 
						|
"use strict"; | 
						|
 | 
						|
//------------------------------------------------------------------------------ | 
						|
// Requirements | 
						|
//------------------------------------------------------------------------------ | 
						|
 | 
						|
const Ajv = require("ajv"), | 
						|
    metaSchema = require("ajv/lib/refs/json-schema-draft-04.json"); | 
						|
 | 
						|
//------------------------------------------------------------------------------ | 
						|
// Public Interface | 
						|
//------------------------------------------------------------------------------ | 
						|
 | 
						|
module.exports = (additionalOptions = {}) => { | 
						|
    const ajv = new Ajv({ | 
						|
        meta: false, | 
						|
        useDefaults: true, | 
						|
        validateSchema: false, | 
						|
        missingRefs: "ignore", | 
						|
        verbose: true, | 
						|
        schemaId: "auto", | 
						|
        ...additionalOptions | 
						|
    }); | 
						|
 | 
						|
    ajv.addMetaSchema(metaSchema); | 
						|
    // eslint-disable-next-line no-underscore-dangle | 
						|
    ajv._opts.defaultMeta = metaSchema.id; | 
						|
 | 
						|
    return ajv; | 
						|
};
 | 
						|
 |