@scottjarvis/validator

1.0.2 • Public • Published

Validator

A tiny schema validation thing for JavaScript Objects.

Install

npm i @scottjarvis/validator

Usage

Add to your project:

var validator = require("@scottjarvis/validator")

Define a schema:

  • create the object shape and property names you want
  • add the expected type to each property
  • or add a function for custom validation
var schema = {
  id: "number",
  list: "array",
  name: "string",
  age: age => typeof age === "number" && age > 17 && age < 130,
  foo: {
    baz: "string"
  }
}

Define the object to validate:

var obj = {
  id: 1,
  name: "bob",
  age: 300,
  list: { one: "two" },
  foo: { bar: "thing" }
}

Now lets check obj matches schema

var errs = validator(obj, schema)

//
// report the results
//
if (errs.length < 1) {
  console.log("Valid")
} else {
  console.error("Invalid! Errors:", errs)
}

Changelog

1.0.1

  • fixed generation of errors, no duplicates

1.0.0

  • initial release

Package Sidebar

Install

npm i @scottjarvis/validator

Weekly Downloads

5

Version

1.0.2

License

ISC

Unpacked Size

12.7 kB

Total Files

13

Last publish

Collaborators

  • scottjarvis