You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					30 lines
				
				581 B
			
		
		
			
		
	
	
					30 lines
				
				581 B
			| 
											3 years ago
										 | /** | ||
|  |  * 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' | ||
|  | } |