hoist

Synchronous mappings:

npm install hoist
47 downloads in the last day
186 downloads in the last week
731 downloads in the last month

Hoist makes it easy to transform your objects.

Hoist Transformer

Synchronous mappings:

var hoist = require("hoist");
var castNumValue = hoist.cast(Number).map(function(num) {
  return {
    value: num
  }
});

var castArray = house.cast(Array);

console.log(castNumValue("5")); //{ value: 5 }
console.log(castNumValue({ value: 5 })); //{ value: 5 }
console.log(castArray(5)); //[5]
console.log(castArray([5])); //5

Asynchronous mappings:

var castNumValue = hoist.cast(Number).map(function(num, next) {
  setTimeout(next, 500, null, { value: num });
});

castNumValue("5", function(err, result) {
  console.log(result); //{ value: 5 }
})

castNumValue("5"); //error thrown for casting against asynchronous caster
npm loves you