Simon Priet 9e2991e668 init
2021-09-05 22:53:58 +02:00

30 lines
581 B
JavaScript

/**
* Export generator function checks.
*/
module.exports = isGenerator
module.exports.fn = isGeneratorFunction
/**
* Check whether an object is a generator.
*
* @param {Object} obj
* @return {Boolean}
*/
function isGenerator (obj) {
return obj &&
typeof obj.next === 'function' &&
typeof obj.throw === 'function'
}
/**
* Check whether a function is generator.
*
* @param {Function} fn
* @return {Boolean}
*/
function isGeneratorFunction (fn) {
return typeof fn === 'function' &&
fn.constructor &&
fn.constructor.name === 'GeneratorFunction'
}