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

    Install

    npm i ardent

    DownloadsWeekly Downloads

    1

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • kikobeats