| '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 |
| } |