kitchensink
Version:
Dispatch's awesome components and style guide
13 lines (9 loc) • 385 B
JavaScript
;
var toStr = Object.prototype.toString;
var fnToStr = Function.prototype.toString;
var isFnRegex = /^\s*function\*/;
module.exports = function isGeneratorFunction(fn) {
if (typeof fn !== 'function') { return false; }
var fnStr = toStr.call(fn);
return (fnStr === '[object Function]' || fnStr === '[object GeneratorFunction]') && isFnRegex.test(fnToStr.call(fn));
};