UNPKG

future-utils

Version:

Create futures from other async standards

27 lines (21 loc) 593 B
module.exports = function(Future) { return { fromPomise: function(promise) { return new Future(function(reject, resolve) { promise.then(resolve, reject) }) }, futurify: function(f, owner) { return function() { var args = arguments return new Future(function(reject, resolve) { function nodeResolver(e, res) { return e != null ? reject(e) : resolve(res) } var fullArgs = Array.prototype.slice.call(args).concat(nodeResolver) f.apply(owner, fullArgs) }) } } } }