Urara-Blog/node_modules/.pnpm-store/v3/files/f8/67b722d28d2f7e97068e75b742d53cf2ffbbe1f25f4232016c106a6874d202435bc02b03ab1305e4a67b83300014abd73d101d22c37877521747e073606851
2022-08-14 01:14:53 +08:00

30 lines
864 B
Text

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;