LendAndRegret/node_modules/es-toolkit/dist/compat/math/rangeRight.js
2026-05-02 17:27:43 +08:00

31 lines
909 B
JavaScript

'use strict';
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const isIterateeCall = require('../_internal/isIterateeCall.js');
const toFinite = require('../util/toFinite.js');
function rangeRight(start, end, step) {
if (step && typeof step !== 'number' && isIterateeCall.isIterateeCall(start, end, step)) {
end = step = undefined;
}
start = toFinite.toFinite(start);
if (end === undefined) {
end = start;
start = 0;
}
else {
end = toFinite.toFinite(end);
}
step = step === undefined ? (start < end ? 1 : -1) : toFinite.toFinite(step);
const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);
const result = new Array(length);
for (let index = length - 1; index >= 0; index--) {
result[index] = start;
start += step;
}
return result;
}
exports.rangeRight = rangeRight;