0.0.1 • Published 10 months ago

ardent v0.0.1

Weekly downloads
2
License
-
Repository
-
Last release
10 months ago

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

0.0.1

10 months ago

1.0.0

9 years ago

0.0.0

10 years ago