node package manager


Classify the things in your world and how they interact.

view on npm npm module downloads per month Build Status Dependency Status Analytics


abstract validation tests, for re-usabilty.


A plain object with

  • validation per property
  • validation per whole object (e.g. values must not match)
  • observable, emit change events


  • validation (e.g. all files in a collection exist)

nature module

provides extra features on models and collections..

  • test valid: nature.isValid(model)

  • group:, [ "name", "type" ], "groupA")

  • mixin: nature.merge(commandLineArgs, fileArgs)

  • extract: nature.where(model, "fileArgs")

  • create

    var argv = nature.create([ { name: "one", alias: "a" }, { name: "files", alias: "a", required: true, defaultOption: true }, { name: "verbose", type: "boolean" } ]);