A tiny schema validation thing for JavaScript Objects.
npm i @scottjarvis/validator
Add it to your project:
varvalidator=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
varschema={id: "number",list: "array",name: "string",age: age=>typeofage==="number"&&age>17&&age<130,foo: {baz: "string"}}Define the object to validate:
varobj={id: 1,name: "bob",age: 300,list: {one: "two"},foo: {bar: "thing"}}Now lets check obj matches schema
varerrs=validator(obj,schema)//// report the results//if(errs.length<1){console.log("Valid")}else{console.error("Invalid! Errors:",errs)}1.0.1
- fixed generation of errors, no duplicates
1.0.0
- initial release