schema-model
Javascript model backed by jsonschema validation
Usage
Example
var Model = ; var MyModel = Model; var model = ;model ; // check if model is validif model // do stuff // re-constructing a modelvar existing = a: 'a' b: 'b' ;
Model Definition
Returns a model class for creating model instances and validating them
Options
schema
: JSON Schema used for validating the model. Schema has been enriched withjsonschema-extra
(https://www.npmjs.com/package/jsonschema-extra) to support additional types and attributesdefault
: Function to generate the default model, defaults tofunction() { return {}; }
Instance Methods
.get([property])
Return the entire model or a single property
// root propertymodel; // nested propertymodel; // entire modelmodel;
.set(property, [value])
Set a single or multiple properties. Can chain multiple set
commands
model ;
.valid()
Returns a boolean to indicate if a model passes the schema
var MyModel = Model; var model = ;model ; // check if model is validif model // do stuff else // stores the current state of the model including its validation result console;
.toJSON()
When the model instance is JSON.stringified
, it returns the raw model. Can also be used as an alternative to .get()
to retrieve the entire model as JSON.
var assert = ; var MyModel = Model; var model = a: 1 b: a: 2 ; assert;
Changelog
v1.1.0 (22 Dec 2014)
- Bumped dependency versions
v1.0.2 (19 Dec 2014)
- Updated project git url
v1.0.1 (18 Dec 2014)
- Minor documentation changes
v1.0.0 (18 Dec 2014)
- Initial commit