runner.js
590 Bytes
'use strict'
var schemas = require('./schemas')
var ValidationError = require('./error')
var validator = require('is-my-json-valid')
module.exports = function (schema, data, cb) {
// default value
var valid = false
// validator config
var validate = validator(schema, {
greedy: true,
verbose: true,
schemas: schemas
})
// execute is-my-json-valid
if (data !== undefined) {
valid = validate(data)
}
// callback?
if (typeof cb === 'function') {
return cb(validate.errors ? new ValidationError(validate.errors) : null, valid)
}
return valid
}