ardent
v1.0.0
Published
Fancy Object Schema Modeling. Inspired in Mongoose Schema defintion but out of box.
Downloads
6
Readme
ardent
Fancy Object Schema Modeling. Inspired in Mongoose Schema but out of the box.
Install
$ npm install ardent --save
If you want to use in the browser (powered by Browserify):
$ bower install ardent --save
and later link in your HTML:
<script src="bower_components/ardent/dist/ardent.js"></script>
Usage
var Ardent = require('ardent')
function trim (str) {
return str.trim()
}
// setup your schema
var schema = {
age: {
type: String,
default: '23',
filter: [trim]
}
}
// creating schema validation
var ardent = Ardent(schema)
// schema factory
ardent({age: ' 23 '}).should.be.eql({age: '23'})
API
ardent(schema, [options])
schema
Required
Type: object
Created a Factory for validate a schema based in a set of rules.
Rules are setup following two approach
Basic
Just provide key/value
pair per rule, where key
is the name of the rule and value
the type casting result:
var basicSchema = {
age: Number
}
Advanced
The basic mode is a simplification of the advanced mode.
While in basic mode only is possible setup type
casting, in advanced mode you can setup more things providing a configurable object
.
The following keys setup your rule:
type
: as in basic mode, it specifies the type casting of the output value.default
: whatever default value that you can set ifnill
value as input is provided.filter
: anArray
collection of data transforms as pipeline of methods to apply for the input value.
function trim (str) {
return str.trim()
}
var advancedSchema = {
age: {
type: String,
default: '23',
filter: [trim]
}
}
options
Type: object
Default: soon
soon
License
MIT © Kiko Beats