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.
		
		
		
		
		
			
		
			
				
					22 lines
				
				561 B
			
		
		
			
		
	
	
					22 lines
				
				561 B
			| 
											3 years ago
										 | 'use strict' | ||
|  | 
 | ||
|  | const Ajv = require('ajv') | ||
|  | const fs = require('fs') | ||
|  | const path = require('path') | ||
|  | const pack = require('ajv-pack') | ||
|  | 
 | ||
|  | const ajv = new Ajv({ | ||
|  |   sourceCode: true // this option is required by ajv-pack
 | ||
|  | }) | ||
|  | 
 | ||
|  | const validate = ajv.compile(require('ajv/lib/refs/json-schema-draft-07.json')) | ||
|  | 
 | ||
|  | const moduleCode = `// This file is autogenerated by ${path.basename(__filename)}, do not edit
 | ||
|  | 
 | ||
|  | function nop () { return true } | ||
|  | 
 | ||
|  | ${pack(ajv, validate).replace(/root\.refVal\[0\]/gm, 'nop')} | ||
|  | `
 | ||
|  | 
 | ||
|  | fs.writeFileSync(path.join(__dirname, 'schema-validator.js'), moduleCode) |