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.
		
		
		
		
		
			
		
			
				
					
					
						
							31 lines
						
					
					
						
							864 B
						
					
					
				
			
		
		
	
	
							31 lines
						
					
					
						
							864 B
						
					
					
				| var baseRange = require('./_baseRange'),
 | |
|     isIterateeCall = require('./_isIterateeCall'),
 | |
|     toFinite = require('./toFinite');
 | |
| 
 | |
| /**
 | |
|  * Creates a `_.range` or `_.rangeRight` function.
 | |
|  *
 | |
|  * @private
 | |
|  * @param {boolean} [fromRight] Specify iterating from right to left.
 | |
|  * @returns {Function} Returns the new range function.
 | |
|  */
 | |
| function createRange(fromRight) {
 | |
|   return function(start, end, step) {
 | |
|     if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
 | |
|       end = step = undefined;
 | |
|     }
 | |
|     // Ensure the sign of `-0` is preserved.
 | |
|     start = toFinite(start);
 | |
|     if (end === undefined) {
 | |
|       end = start;
 | |
|       start = 0;
 | |
|     } else {
 | |
|       end = toFinite(end);
 | |
|     }
 | |
|     step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
 | |
|     return baseRange(start, end, step, fromRight);
 | |
|   };
 | |
| }
 | |
| 
 | |
| module.exports = createRange;
 |