Website/node_modules/unyield/index.js
2015-12-02 18:21:44 -05:00

33 lines
487 B
JavaScript

/**
* Module Dependencies
*/
var co = require('co');
var slice = [].slice;
/**
* Expose `unyield`
*/
module.exports = unyield;
/**
* Unyield
*
* @param {Generator} gen
* @return {Function}
* @api public
*/
function unyield(gen) {
return function() {
var args = slice.call(arguments);
var last = args[args.length - 1];
var fn = 'function' == typeof last && last;
return fn
? co(gen).apply(this, arguments)
: gen.apply(this, arguments);
}
}