node package manager



npm install degent

Takes a generator function and returns a promise for its return value, any yields in the generator which have a then method are assumed to be promises and the resolved value is passed back in, in other words

// simply returns a function with a promise which resolves to the value 
// passed in after some time. 
function async(wait,value){
  return new Promise(function(fulfill){
  var a = yield async(5,5);
  var b = yield async(5,a*5);
  return async(5,b*5);
  //prints 125; 

if function is returned it is assumed to be a thunk and called node style, otherwise the value is passed back in.

requires --harmony flag, also you can pass additional arguments to degent which are passed along to the generator function.