ardent

1.0.0 • Public • Published

ardent

Last version Build Status Dependency status Dev Dependencies Status NPM Status Donate

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 if nill value as input is provided.
  • filter: an Array 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

Readme

Keywords

Package Sidebar

Install

npm i ardent

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • kikobeats