es-toolkit 1.29.0-dev.952 → 1.29.0-dev.954
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunk/{rangeRight-w3WrXN.js → range-HnEIT7.js} +0 -17
- package/dist/browser.global.js +1 -1
- package/dist/browser.global.js.map +1 -1
- package/dist/compat/index.d.mts +2 -2
- package/dist/compat/index.d.ts +2 -2
- package/dist/compat/index.js +55 -11
- package/dist/compat/index.mjs +2 -2
- package/dist/compat/math/range.d.mts +47 -0
- package/dist/compat/math/range.d.ts +47 -0
- package/dist/compat/math/range.mjs +26 -0
- package/dist/compat/math/rangeRight.d.mts +47 -0
- package/dist/compat/math/rangeRight.d.ts +47 -0
- package/dist/compat/math/rangeRight.mjs +26 -0
- package/dist/index.js +10 -10
- package/dist/math/index.js +26 -10
- package/package.json +1 -1
package/dist/compat/index.d.mts
CHANGED
|
@@ -42,8 +42,6 @@ export { meanBy } from '../math/meanBy.mjs';
|
|
|
42
42
|
export { median } from '../math/median.mjs';
|
|
43
43
|
export { medianBy } from '../math/medianBy.mjs';
|
|
44
44
|
export { randomInt } from '../math/randomInt.mjs';
|
|
45
|
-
export { range } from '../math/range.mjs';
|
|
46
|
-
export { rangeRight } from '../math/rangeRight.mjs';
|
|
47
45
|
export { clone } from '../object/clone.mjs';
|
|
48
46
|
export { flattenObject } from '../object/flattenObject.mjs';
|
|
49
47
|
export { invert } from '../object/invert.mjs';
|
|
@@ -144,6 +142,8 @@ export { max } from './math/max.mjs';
|
|
|
144
142
|
export { min } from './math/min.mjs';
|
|
145
143
|
export { parseInt } from './math/parseInt.mjs';
|
|
146
144
|
export { random } from './math/random.mjs';
|
|
145
|
+
export { range } from './math/range.mjs';
|
|
146
|
+
export { rangeRight } from './math/rangeRight.mjs';
|
|
147
147
|
export { round } from './math/round.mjs';
|
|
148
148
|
export { sum } from './math/sum.mjs';
|
|
149
149
|
export { sumBy } from './math/sumBy.mjs';
|
package/dist/compat/index.d.ts
CHANGED
|
@@ -42,8 +42,6 @@ export { meanBy } from '../math/meanBy.js';
|
|
|
42
42
|
export { median } from '../math/median.js';
|
|
43
43
|
export { medianBy } from '../math/medianBy.js';
|
|
44
44
|
export { randomInt } from '../math/randomInt.js';
|
|
45
|
-
export { range } from '../math/range.js';
|
|
46
|
-
export { rangeRight } from '../math/rangeRight.js';
|
|
47
45
|
export { clone } from '../object/clone.js';
|
|
48
46
|
export { flattenObject } from '../object/flattenObject.js';
|
|
49
47
|
export { invert } from '../object/invert.js';
|
|
@@ -144,6 +142,8 @@ export { max } from './math/max.js';
|
|
|
144
142
|
export { min } from './math/min.js';
|
|
145
143
|
export { parseInt } from './math/parseInt.js';
|
|
146
144
|
export { random } from './math/random.js';
|
|
145
|
+
export { range } from './math/range.js';
|
|
146
|
+
export { rangeRight } from './math/rangeRight.js';
|
|
147
147
|
export { round } from './math/round.js';
|
|
148
148
|
export { sum } from './math/sum.js';
|
|
149
149
|
export { sumBy } from './math/sumBy.js';
|
package/dist/compat/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const zipWith = require('../_chunk/zipWith-nbzldx.js');
|
|
|
6
6
|
const promise_index = require('../_chunk/index-BGZDR9.js');
|
|
7
7
|
const unary = require('../_chunk/unary-CcTNuC.js');
|
|
8
8
|
const noop = require('../_chunk/noop-2IwLUk.js');
|
|
9
|
-
const
|
|
9
|
+
const range$1 = require('../_chunk/range-HnEIT7.js');
|
|
10
10
|
const randomInt = require('../_chunk/randomInt-CF7bZK.js');
|
|
11
11
|
const toMerged = require('../_chunk/toMerged-DGFrN7.js');
|
|
12
12
|
const isPlainObject$1 = require('../_chunk/isPlainObject-octpoD.js');
|
|
@@ -875,7 +875,7 @@ function forEach(collection, callback = unary.identity) {
|
|
|
875
875
|
if (!collection) {
|
|
876
876
|
return collection;
|
|
877
877
|
}
|
|
878
|
-
const keys = isArrayLike(collection) || Array.isArray(collection) ?
|
|
878
|
+
const keys = isArrayLike(collection) || Array.isArray(collection) ? range$1.range(0, collection.length) : Object.keys(collection);
|
|
879
879
|
for (let i = 0; i < keys.length; i++) {
|
|
880
880
|
const key = keys[i];
|
|
881
881
|
const value = collection[key];
|
|
@@ -1024,7 +1024,7 @@ function map(collection, _iteratee) {
|
|
|
1024
1024
|
if (!collection) {
|
|
1025
1025
|
return [];
|
|
1026
1026
|
}
|
|
1027
|
-
const keys = isArrayLike(collection) || Array.isArray(collection) ?
|
|
1027
|
+
const keys = isArrayLike(collection) || Array.isArray(collection) ? range$1.range(0, collection.length) : Object.keys(collection);
|
|
1028
1028
|
const iteratee$1 = iteratee(_iteratee ?? unary.identity);
|
|
1029
1029
|
const result = new Array(keys.length);
|
|
1030
1030
|
for (let i = 0; i < keys.length; i++) {
|
|
@@ -1769,7 +1769,7 @@ function clamp(value, bound1, bound2) {
|
|
|
1769
1769
|
if (Number.isNaN(bound2)) {
|
|
1770
1770
|
bound2 = 0;
|
|
1771
1771
|
}
|
|
1772
|
-
return
|
|
1772
|
+
return range$1.clamp(value, bound1, bound2);
|
|
1773
1773
|
}
|
|
1774
1774
|
|
|
1775
1775
|
function floor(number, precision = 0) {
|
|
@@ -1798,7 +1798,7 @@ function inRange(value, minimum, maximum) {
|
|
|
1798
1798
|
if (minimum === maximum) {
|
|
1799
1799
|
return false;
|
|
1800
1800
|
}
|
|
1801
|
-
return
|
|
1801
|
+
return range$1.inRange(value, minimum, maximum);
|
|
1802
1802
|
}
|
|
1803
1803
|
|
|
1804
1804
|
function max(items = []) {
|
|
@@ -1899,6 +1899,50 @@ function random(...args) {
|
|
|
1899
1899
|
}
|
|
1900
1900
|
}
|
|
1901
1901
|
|
|
1902
|
+
function range(start, end, step) {
|
|
1903
|
+
if (step && typeof step !== 'number' && isIterateeCall(start, end, step)) {
|
|
1904
|
+
end = step = undefined;
|
|
1905
|
+
}
|
|
1906
|
+
start = toFinite(start);
|
|
1907
|
+
if (end === undefined) {
|
|
1908
|
+
end = start;
|
|
1909
|
+
start = 0;
|
|
1910
|
+
}
|
|
1911
|
+
else {
|
|
1912
|
+
end = toFinite(end);
|
|
1913
|
+
}
|
|
1914
|
+
step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
|
|
1915
|
+
const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);
|
|
1916
|
+
const result = new Array(length);
|
|
1917
|
+
for (let index = 0; index < length; index++) {
|
|
1918
|
+
result[index] = start;
|
|
1919
|
+
start += step;
|
|
1920
|
+
}
|
|
1921
|
+
return result;
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1924
|
+
function rangeRight(start, end, step) {
|
|
1925
|
+
if (step && typeof step !== 'number' && isIterateeCall(start, end, step)) {
|
|
1926
|
+
end = step = undefined;
|
|
1927
|
+
}
|
|
1928
|
+
start = toFinite(start);
|
|
1929
|
+
if (end === undefined) {
|
|
1930
|
+
end = start;
|
|
1931
|
+
start = 0;
|
|
1932
|
+
}
|
|
1933
|
+
else {
|
|
1934
|
+
end = toFinite(end);
|
|
1935
|
+
}
|
|
1936
|
+
step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
|
|
1937
|
+
const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);
|
|
1938
|
+
const result = new Array(length);
|
|
1939
|
+
for (let index = length - 1; index >= 0; index--) {
|
|
1940
|
+
result[index] = start;
|
|
1941
|
+
start += step;
|
|
1942
|
+
}
|
|
1943
|
+
return result;
|
|
1944
|
+
}
|
|
1945
|
+
|
|
1902
1946
|
function round(number, precision = 0) {
|
|
1903
1947
|
return decimalAdjust('round', number, precision);
|
|
1904
1948
|
}
|
|
@@ -2977,12 +3021,10 @@ exports.partial = unary.partial;
|
|
|
2977
3021
|
exports.partialRight = unary.partialRight;
|
|
2978
3022
|
exports.unary = unary.unary;
|
|
2979
3023
|
exports.noop = noop.noop;
|
|
2980
|
-
exports.mean =
|
|
2981
|
-
exports.meanBy =
|
|
2982
|
-
exports.median =
|
|
2983
|
-
exports.medianBy =
|
|
2984
|
-
exports.range = rangeRight.range;
|
|
2985
|
-
exports.rangeRight = rangeRight.rangeRight;
|
|
3024
|
+
exports.mean = range$1.mean;
|
|
3025
|
+
exports.meanBy = range$1.meanBy;
|
|
3026
|
+
exports.median = range$1.median;
|
|
3027
|
+
exports.medianBy = range$1.medianBy;
|
|
2986
3028
|
exports.randomInt = randomInt.randomInt;
|
|
2987
3029
|
exports.clone = toMerged.clone;
|
|
2988
3030
|
exports.flattenObject = toMerged.flattenObject;
|
|
@@ -3140,6 +3182,8 @@ exports.property = property;
|
|
|
3140
3182
|
exports.propertyOf = propertyOf;
|
|
3141
3183
|
exports.pull = pull;
|
|
3142
3184
|
exports.random = random;
|
|
3185
|
+
exports.range = range;
|
|
3186
|
+
exports.rangeRight = rangeRight;
|
|
3143
3187
|
exports.rearg = rearg;
|
|
3144
3188
|
exports.repeat = repeat;
|
|
3145
3189
|
exports.replace = replace;
|
package/dist/compat/index.mjs
CHANGED
|
@@ -41,8 +41,6 @@ export { meanBy } from '../math/meanBy.mjs';
|
|
|
41
41
|
export { median } from '../math/median.mjs';
|
|
42
42
|
export { medianBy } from '../math/medianBy.mjs';
|
|
43
43
|
export { randomInt } from '../math/randomInt.mjs';
|
|
44
|
-
export { range } from '../math/range.mjs';
|
|
45
|
-
export { rangeRight } from '../math/rangeRight.mjs';
|
|
46
44
|
export { clone } from '../object/clone.mjs';
|
|
47
45
|
export { isPrimitive } from '../predicate/isPrimitive.mjs';
|
|
48
46
|
export { flattenObject } from '../object/flattenObject.mjs';
|
|
@@ -146,6 +144,8 @@ export { max } from './math/max.mjs';
|
|
|
146
144
|
export { min } from './math/min.mjs';
|
|
147
145
|
export { parseInt } from './math/parseInt.mjs';
|
|
148
146
|
export { random } from './math/random.mjs';
|
|
147
|
+
export { range } from './math/range.mjs';
|
|
148
|
+
export { rangeRight } from './math/rangeRight.mjs';
|
|
149
149
|
export { round } from './math/round.mjs';
|
|
150
150
|
export { sum } from './math/sum.mjs';
|
|
151
151
|
export { sumBy } from './math/sumBy.mjs';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an array of numbers from `0` (inclusive) to `end` (exclusive), incrementing by `1`.
|
|
3
|
+
*
|
|
4
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
5
|
+
* @returns {number[]} An array of numbers from `0` (inclusive) to `end` (exclusive) with a step of `1`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // Returns [0, 1, 2, 3]
|
|
9
|
+
* range(4);
|
|
10
|
+
*/
|
|
11
|
+
declare function range(end: number): number[];
|
|
12
|
+
/**
|
|
13
|
+
* Returns an array of numbers from `start` (inclusive) to `end` (exclusive), incrementing by `1`.
|
|
14
|
+
*
|
|
15
|
+
* @param {number} start - The starting number of the range (inclusive).
|
|
16
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
17
|
+
* @returns {number[]} An array of numbers from `start` (inclusive) to `end` (exclusive) with a step of `1`.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // Returns [1, 2, 3]
|
|
21
|
+
* range(1, 4);
|
|
22
|
+
*/
|
|
23
|
+
declare function range(start: number, end: number): number[];
|
|
24
|
+
/**
|
|
25
|
+
* Returns an array of numbers from `start` (inclusive) to `end` (exclusive), incrementing by `step`.
|
|
26
|
+
*
|
|
27
|
+
* @param {number} start - The starting number of the range (inclusive).
|
|
28
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
29
|
+
* @param {number} step - The step value for the range.
|
|
30
|
+
* @returns {number[]} An array of numbers from `start` (inclusive) to `end` (exclusive) with the specified `step`.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* // Returns [0, 5, 10, 15]
|
|
34
|
+
* range(0, 20, 5);
|
|
35
|
+
*/
|
|
36
|
+
declare function range(start: number, end: number, step: number): number[];
|
|
37
|
+
/**
|
|
38
|
+
* Enables use as an iteratee for methods like `_.map`.
|
|
39
|
+
*
|
|
40
|
+
* @param {number} end - The current iteratee value.
|
|
41
|
+
* @param {PropertyKey} index - The iteration index.
|
|
42
|
+
* @param {object} guard - The iteratee object.
|
|
43
|
+
* @returns {number[]} An array of numbers from `start` (inclusive) to `end` (exclusive) with the specified `step`.
|
|
44
|
+
*/
|
|
45
|
+
declare function range(end: number, index: PropertyKey, guard: object): number[];
|
|
46
|
+
|
|
47
|
+
export { range };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an array of numbers from `0` (inclusive) to `end` (exclusive), incrementing by `1`.
|
|
3
|
+
*
|
|
4
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
5
|
+
* @returns {number[]} An array of numbers from `0` (inclusive) to `end` (exclusive) with a step of `1`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // Returns [0, 1, 2, 3]
|
|
9
|
+
* range(4);
|
|
10
|
+
*/
|
|
11
|
+
declare function range(end: number): number[];
|
|
12
|
+
/**
|
|
13
|
+
* Returns an array of numbers from `start` (inclusive) to `end` (exclusive), incrementing by `1`.
|
|
14
|
+
*
|
|
15
|
+
* @param {number} start - The starting number of the range (inclusive).
|
|
16
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
17
|
+
* @returns {number[]} An array of numbers from `start` (inclusive) to `end` (exclusive) with a step of `1`.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // Returns [1, 2, 3]
|
|
21
|
+
* range(1, 4);
|
|
22
|
+
*/
|
|
23
|
+
declare function range(start: number, end: number): number[];
|
|
24
|
+
/**
|
|
25
|
+
* Returns an array of numbers from `start` (inclusive) to `end` (exclusive), incrementing by `step`.
|
|
26
|
+
*
|
|
27
|
+
* @param {number} start - The starting number of the range (inclusive).
|
|
28
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
29
|
+
* @param {number} step - The step value for the range.
|
|
30
|
+
* @returns {number[]} An array of numbers from `start` (inclusive) to `end` (exclusive) with the specified `step`.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* // Returns [0, 5, 10, 15]
|
|
34
|
+
* range(0, 20, 5);
|
|
35
|
+
*/
|
|
36
|
+
declare function range(start: number, end: number, step: number): number[];
|
|
37
|
+
/**
|
|
38
|
+
* Enables use as an iteratee for methods like `_.map`.
|
|
39
|
+
*
|
|
40
|
+
* @param {number} end - The current iteratee value.
|
|
41
|
+
* @param {PropertyKey} index - The iteration index.
|
|
42
|
+
* @param {object} guard - The iteratee object.
|
|
43
|
+
* @returns {number[]} An array of numbers from `start` (inclusive) to `end` (exclusive) with the specified `step`.
|
|
44
|
+
*/
|
|
45
|
+
declare function range(end: number, index: PropertyKey, guard: object): number[];
|
|
46
|
+
|
|
47
|
+
export { range };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isIterateeCall } from '../_internal/isIterateeCall.mjs';
|
|
2
|
+
import { toFinite } from '../util/toFinite.mjs';
|
|
3
|
+
|
|
4
|
+
function range(start, end, step) {
|
|
5
|
+
if (step && typeof step !== 'number' && isIterateeCall(start, end, step)) {
|
|
6
|
+
end = step = undefined;
|
|
7
|
+
}
|
|
8
|
+
start = toFinite(start);
|
|
9
|
+
if (end === undefined) {
|
|
10
|
+
end = start;
|
|
11
|
+
start = 0;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
end = toFinite(end);
|
|
15
|
+
}
|
|
16
|
+
step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
|
|
17
|
+
const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);
|
|
18
|
+
const result = new Array(length);
|
|
19
|
+
for (let index = 0; index < length; index++) {
|
|
20
|
+
result[index] = start;
|
|
21
|
+
start += step;
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { range };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an array of numbers from `end` (exclusive) to `0` (inclusive), decrementing by `1`.
|
|
3
|
+
*
|
|
4
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
5
|
+
* @returns {number[]} An array of numbers from `end` (exclusive) to `0` (inclusive) with a step of `1`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // Returns [3, 2, 1, 0]
|
|
9
|
+
* rangeRight(4);
|
|
10
|
+
*/
|
|
11
|
+
declare function rangeRight(end: number): number[];
|
|
12
|
+
/**
|
|
13
|
+
* Returns an array of numbers from `end` (exclusive) to `start` (inclusive), decrementing by `1`.
|
|
14
|
+
*
|
|
15
|
+
* @param {number} start - The starting number of the range (inclusive).
|
|
16
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
17
|
+
* @returns {number[]} An array of numbers from `end` (exclusive) to `start` (inclusive) with a step of `1`.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // Returns [3, 2, 1]
|
|
21
|
+
* rangeRight(1, 4);
|
|
22
|
+
*/
|
|
23
|
+
declare function rangeRight(start: number, end: number): number[];
|
|
24
|
+
/**
|
|
25
|
+
* Returns an array of numbers from `end` (exclusive) to `start` (inclusive), decrementing by `step`.
|
|
26
|
+
*
|
|
27
|
+
* @param {number} start - The starting number of the range (inclusive).
|
|
28
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
29
|
+
* @param {number} step - The step value for the range.
|
|
30
|
+
* @returns {number[]} An array of numbers from `end` (exclusive) to `start` (inclusive) with the specified `step`.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* // Returns [15, 10, 5, 0]
|
|
34
|
+
* rangeRight(0, 20, 5);
|
|
35
|
+
*/
|
|
36
|
+
declare function rangeRight(start: number, end: number, step: number): number[];
|
|
37
|
+
/**
|
|
38
|
+
* Enables use as an iteratee for methods like `_.map`.
|
|
39
|
+
*
|
|
40
|
+
* @param {number} end - The current iteratee value.
|
|
41
|
+
* @param {PropertyKey} index - The iteration index.
|
|
42
|
+
* @param {object} guard - The iteratee object.
|
|
43
|
+
* @returns {number[]} An array of numbers from `start` (inclusive) to `end` (exclusive) with the specified `step`.
|
|
44
|
+
*/
|
|
45
|
+
declare function rangeRight(end: number, index: PropertyKey, guard: object): number[];
|
|
46
|
+
|
|
47
|
+
export { rangeRight };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an array of numbers from `end` (exclusive) to `0` (inclusive), decrementing by `1`.
|
|
3
|
+
*
|
|
4
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
5
|
+
* @returns {number[]} An array of numbers from `end` (exclusive) to `0` (inclusive) with a step of `1`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // Returns [3, 2, 1, 0]
|
|
9
|
+
* rangeRight(4);
|
|
10
|
+
*/
|
|
11
|
+
declare function rangeRight(end: number): number[];
|
|
12
|
+
/**
|
|
13
|
+
* Returns an array of numbers from `end` (exclusive) to `start` (inclusive), decrementing by `1`.
|
|
14
|
+
*
|
|
15
|
+
* @param {number} start - The starting number of the range (inclusive).
|
|
16
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
17
|
+
* @returns {number[]} An array of numbers from `end` (exclusive) to `start` (inclusive) with a step of `1`.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // Returns [3, 2, 1]
|
|
21
|
+
* rangeRight(1, 4);
|
|
22
|
+
*/
|
|
23
|
+
declare function rangeRight(start: number, end: number): number[];
|
|
24
|
+
/**
|
|
25
|
+
* Returns an array of numbers from `end` (exclusive) to `start` (inclusive), decrementing by `step`.
|
|
26
|
+
*
|
|
27
|
+
* @param {number} start - The starting number of the range (inclusive).
|
|
28
|
+
* @param {number} end - The end number of the range (exclusive).
|
|
29
|
+
* @param {number} step - The step value for the range.
|
|
30
|
+
* @returns {number[]} An array of numbers from `end` (exclusive) to `start` (inclusive) with the specified `step`.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* // Returns [15, 10, 5, 0]
|
|
34
|
+
* rangeRight(0, 20, 5);
|
|
35
|
+
*/
|
|
36
|
+
declare function rangeRight(start: number, end: number, step: number): number[];
|
|
37
|
+
/**
|
|
38
|
+
* Enables use as an iteratee for methods like `_.map`.
|
|
39
|
+
*
|
|
40
|
+
* @param {number} end - The current iteratee value.
|
|
41
|
+
* @param {PropertyKey} index - The iteration index.
|
|
42
|
+
* @param {object} guard - The iteratee object.
|
|
43
|
+
* @returns {number[]} An array of numbers from `start` (inclusive) to `end` (exclusive) with the specified `step`.
|
|
44
|
+
*/
|
|
45
|
+
declare function rangeRight(end: number, index: PropertyKey, guard: object): number[];
|
|
46
|
+
|
|
47
|
+
export { rangeRight };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isIterateeCall } from '../_internal/isIterateeCall.mjs';
|
|
2
|
+
import { toFinite } from '../util/toFinite.mjs';
|
|
3
|
+
|
|
4
|
+
function rangeRight(start, end, step) {
|
|
5
|
+
if (step && typeof step !== 'number' && isIterateeCall(start, end, step)) {
|
|
6
|
+
end = step = undefined;
|
|
7
|
+
}
|
|
8
|
+
start = toFinite(start);
|
|
9
|
+
if (end === undefined) {
|
|
10
|
+
end = start;
|
|
11
|
+
start = 0;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
end = toFinite(end);
|
|
15
|
+
}
|
|
16
|
+
step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
|
|
17
|
+
const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);
|
|
18
|
+
const result = new Array(length);
|
|
19
|
+
for (let index = length - 1; index >= 0; index--) {
|
|
20
|
+
result[index] = start;
|
|
21
|
+
start += step;
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { rangeRight };
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ const promise_index = require('./_chunk/index-BGZDR9.js');
|
|
|
8
8
|
const unary = require('./_chunk/unary-CcTNuC.js');
|
|
9
9
|
const function_index = require('./function/index.js');
|
|
10
10
|
const noop = require('./_chunk/noop-2IwLUk.js');
|
|
11
|
-
const
|
|
11
|
+
const range = require('./_chunk/range-HnEIT7.js');
|
|
12
12
|
const randomInt = require('./_chunk/randomInt-CF7bZK.js');
|
|
13
13
|
const math_index = require('./math/index.js');
|
|
14
14
|
const toMerged = require('./_chunk/toMerged-DGFrN7.js');
|
|
@@ -104,17 +104,17 @@ exports.curryRight = function_index.curryRight;
|
|
|
104
104
|
exports.spread = function_index.spread;
|
|
105
105
|
exports.throttle = function_index.throttle;
|
|
106
106
|
exports.noop = noop.noop;
|
|
107
|
-
exports.clamp =
|
|
108
|
-
exports.inRange =
|
|
109
|
-
exports.mean =
|
|
110
|
-
exports.meanBy =
|
|
111
|
-
exports.median =
|
|
112
|
-
exports.medianBy =
|
|
113
|
-
exports.range =
|
|
114
|
-
exports.
|
|
115
|
-
exports.sum = rangeRight.sum;
|
|
107
|
+
exports.clamp = range.clamp;
|
|
108
|
+
exports.inRange = range.inRange;
|
|
109
|
+
exports.mean = range.mean;
|
|
110
|
+
exports.meanBy = range.meanBy;
|
|
111
|
+
exports.median = range.median;
|
|
112
|
+
exports.medianBy = range.medianBy;
|
|
113
|
+
exports.range = range.range;
|
|
114
|
+
exports.sum = range.sum;
|
|
116
115
|
exports.random = randomInt.random;
|
|
117
116
|
exports.randomInt = randomInt.randomInt;
|
|
117
|
+
exports.rangeRight = math_index.rangeRight;
|
|
118
118
|
exports.round = math_index.round;
|
|
119
119
|
exports.sumBy = math_index.sumBy;
|
|
120
120
|
exports.clone = toMerged.clone;
|
package/dist/math/index.js
CHANGED
|
@@ -2,9 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const range = require('../_chunk/range-HnEIT7.js');
|
|
6
6
|
const randomInt = require('../_chunk/randomInt-CF7bZK.js');
|
|
7
7
|
|
|
8
|
+
function rangeRight(start, end, step = 1) {
|
|
9
|
+
if (end == null) {
|
|
10
|
+
end = start;
|
|
11
|
+
start = 0;
|
|
12
|
+
}
|
|
13
|
+
if (!Number.isInteger(step) || step === 0) {
|
|
14
|
+
throw new Error(`The step value must be a non-zero integer.`);
|
|
15
|
+
}
|
|
16
|
+
const length = Math.max(Math.ceil((end - start) / step), 0);
|
|
17
|
+
const result = new Array(length);
|
|
18
|
+
for (let i = 0; i < length; i++) {
|
|
19
|
+
result[i] = start + (length - i - 1) * step;
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
8
24
|
function round(value, precision = 0) {
|
|
9
25
|
if (!Number.isInteger(precision)) {
|
|
10
26
|
throw new Error('Precision must be an integer.');
|
|
@@ -21,16 +37,16 @@ function sumBy(items, getValue) {
|
|
|
21
37
|
return result;
|
|
22
38
|
}
|
|
23
39
|
|
|
24
|
-
exports.clamp =
|
|
25
|
-
exports.inRange =
|
|
26
|
-
exports.mean =
|
|
27
|
-
exports.meanBy =
|
|
28
|
-
exports.median =
|
|
29
|
-
exports.medianBy =
|
|
30
|
-
exports.range =
|
|
31
|
-
exports.
|
|
32
|
-
exports.sum = rangeRight.sum;
|
|
40
|
+
exports.clamp = range.clamp;
|
|
41
|
+
exports.inRange = range.inRange;
|
|
42
|
+
exports.mean = range.mean;
|
|
43
|
+
exports.meanBy = range.meanBy;
|
|
44
|
+
exports.median = range.median;
|
|
45
|
+
exports.medianBy = range.medianBy;
|
|
46
|
+
exports.range = range.range;
|
|
47
|
+
exports.sum = range.sum;
|
|
33
48
|
exports.random = randomInt.random;
|
|
34
49
|
exports.randomInt = randomInt.randomInt;
|
|
50
|
+
exports.rangeRight = rangeRight;
|
|
35
51
|
exports.round = round;
|
|
36
52
|
exports.sumBy = sumBy;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "es-toolkit",
|
|
3
3
|
"description": "A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.",
|
|
4
|
-
"version": "1.29.0-dev.
|
|
4
|
+
"version": "1.29.0-dev.954+99f7611e",
|
|
5
5
|
"homepage": "https://es-toolkit.slash.page",
|
|
6
6
|
"bugs": "https://github.com/toss/es-toolkit/issues",
|
|
7
7
|
"repository": {
|