A small schema enforcer that attempts to cast the properties of an object to the types you want 'em to be.
Install
npm install weak-type-wizard
var Wizard = require('weak-type-wizard')
Example
var cast = boolean: 'sexy' number: 'devil' date: 'Tue May 05 2015 20:51:30 GMT-0500 (CDT)' string: 'one' 'two' 'cat' // => { sexy: true, devil: 667, one: '1', two: '200' }
The "primitive" types of boolean, number, date, and string are supported. You can supply default values, or even add your own types, like so:
var wizard = date: 'dateProperty' exciting: 'butts' number: 'someNumber' 'anotherNumber' default: someNumber: 666 anotherNumber: '1337' cast: { return "!" + input + "!" }
LevelUP support
Use a wizard as a LevelUP encoding - serialize the objects to JSON, and get them back out with all of the parameters cast to whatever you like. Example:
var levelmem = var wizard = date: 'dateProperty' number: 'someNumber' var db =