0.0.1 • Published 11 months ago
ardent v0.0.1
ardent
Fancy Object Schema Modeling. Inspired in Mongoose Schema but out of the box.
Install
$ npm install ardent --saveIf you want to use in the browser (powered by Browserify):
$ bower install ardent --saveand 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 ifnillvalue as input is provided.filter: anArraycollection 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