Spaces:
Runtime error
Runtime error
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; | |