esquema

0.1.3 • Public • Published

esquema

validate objects against a schema.

installation

npm install --save esquema

tests

npm test

usage

...

var e = require('esquema');

var validateUser = e({
  _id: {
    type: Number,
    required: true
  },
  name: String,
  email: {
    type: String,
    required: true,
    validator: function (value) {
      return /foo/.test(value);
    }
  }
});

var user1 = {_id: 123, email: 'foo@bar.com', name: 'joe', foo: 'bar'};
var user2 = {email: 'foo@bar.com'};
var user3 = {_id: 456, email: 'abc@def.gh', foo: 'bar'};

var res1 = validateUser(user1);
console.log(res1); // {ok: true, errors: []}

var res2 = validateUser(user2);
console.log(res2); // {ok: false, errors: [{path: '_id', reason: 'missing required property'}]}

var res3 = validateUser(user3);
console.log(res3); // {ok: false, errors: [{path: 'email', reason: 'validation error'}]}

...

license

MIT

Package Sidebar

Install

npm i esquema

Weekly Downloads

1

Version

0.1.3

License

MIT

Last publish

Collaborators

  • crowl