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.
		
		
		
		
		
			
		
			
				
					28 lines
				
				579 B
			
		
		
			
		
	
	
					28 lines
				
				579 B
			| 
											3 years ago
										 | /** | ||
|  |  * Obliterator Find Function | ||
|  |  * ========================== | ||
|  |  * | ||
|  |  * Function taking an iterable and a predicate and returning the first item | ||
|  |  * matching the given predicate. | ||
|  |  */ | ||
|  | var iter = require('./iter.js'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Find. | ||
|  |  * | ||
|  |  * @param  {Iterable} iterable  - Target iterable. | ||
|  |  * @param  {function} predicate - Predicate function. | ||
|  |  * @return {boolean} | ||
|  |  */ | ||
|  | module.exports = function find(iterable, predicate) { | ||
|  |   var iterator = iter(iterable); | ||
|  | 
 | ||
|  |   var step; | ||
|  | 
 | ||
|  |   while (((step = iterator.next()), !step.done)) { | ||
|  |     if (predicate(step.value)) return step.value; | ||
|  |   } | ||
|  | 
 | ||
|  |   return; | ||
|  | }; |