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
						
					
					
						
							864 B
						
					
					
				
			
		
		
	
	
							30 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;
 | 
						|
 |