Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ardent

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ardent

Fancy Object Schema Modeling. Inspired in Mongoose Schema defintion but out of box.

  • 1.0.0
  • unpublished
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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

Keywords

FAQs

Package last updated on 03 Apr 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc