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
						
					
					
						
							542 B
						
					
					
				
			
		
		
	
	
							30 lines
						
					
					
						
							542 B
						
					
					
				| /* eslint no-constant-condition: 0 */
 | |
| /**
 | |
|  * Obliterator Consume Function
 | |
|  * =============================
 | |
|  *
 | |
|  * Function consuming the given iterator for n or every steps.
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Consume.
 | |
|  *
 | |
|  * @param  {Iterator} iterator - Target iterator.
 | |
|  * @param  {number}   [steps]  - Optional steps.
 | |
|  */
 | |
| module.exports = function consume(iterator, steps) {
 | |
|   var step,
 | |
|     l = arguments.length > 1 ? steps : Infinity,
 | |
|     i = 0;
 | |
| 
 | |
|   while (true) {
 | |
|     if (i === l) return;
 | |
| 
 | |
|     step = iterator.next();
 | |
| 
 | |
|     if (step.done) return;
 | |
| 
 | |
|     i++;
 | |
|   }
 | |
| };
 |