mirror of https://github.com/redis/redis.git
				
				
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			953 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			953 B
		
	
	
	
		
			JavaScript
		
	
	
	
function validate_schema(command_schema) {
 | 
						|
    var error_status = false
 | 
						|
    const Ajv = require("ajv/dist/2019")
 | 
						|
    const ajv = new Ajv({strict: true, strictTuples: false})
 | 
						|
    let json = require('../src/commands/'+ command_schema);
 | 
						|
    for (var item in json) {
 | 
						|
        const schema = json[item].reply_schema
 | 
						|
        if (schema ==  undefined)
 | 
						|
            continue;
 | 
						|
        try {
 | 
						|
            ajv.compile(schema)
 | 
						|
        } catch (error) {
 | 
						|
            console.error(command_schema + " : " + error.toString())
 | 
						|
            error_status = true
 | 
						|
        }
 | 
						|
    }
 | 
						|
    return error_status
 | 
						|
}
 | 
						|
 | 
						|
const schema_directory_path = './src/commands'
 | 
						|
const path = require('path')
 | 
						|
var fs = require('fs');
 | 
						|
var files = fs.readdirSync(schema_directory_path);
 | 
						|
jsonFiles = files.filter(el => path.extname(el) === '.json')
 | 
						|
var error_status = false
 | 
						|
jsonFiles.forEach(function(file){
 | 
						|
    if (validate_schema(file))
 | 
						|
        error_status = true
 | 
						|
})
 | 
						|
if (error_status)
 | 
						|
    process.exit(1)
 |