es-toolkit 1.26.1 → 1.27.0-dev.874
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/CHANGELOG.md +12 -0
- package/dist/_chunk/{sumBy-RVppiV.js → rangeRight-w3WrXN.js} +2 -14
- package/dist/_chunk/{toMerged-wNz52b.js → toMerged-CPY8Ug.js} +7 -1
- package/dist/_chunk/{upperFirst-BUECmK.js → upperFirst-DK_rTF.js} +23 -23
- package/dist/_chunk/{zipWith-Dkv3D1.js → zipWith-Bb2eZI.js} +19 -5
- package/dist/array/at.mjs +7 -2
- package/dist/array/index.d.mts +1 -0
- package/dist/array/index.d.ts +1 -0
- package/dist/array/index.js +2 -1
- package/dist/array/index.mjs +1 -0
- package/dist/array/isSubsetWith.d.mts +33 -0
- package/dist/array/isSubsetWith.d.ts +33 -0
- package/dist/array/isSubsetWith.mjs +7 -0
- package/dist/array/without.mjs +3 -2
- package/dist/array/zip.mjs +6 -1
- package/dist/browser.global.js +1 -1
- package/dist/browser.global.js.map +1 -1
- package/dist/compat/_internal/flattenArrayLike.mjs +17 -0
- package/dist/compat/_internal/isPrototype.mjs +7 -0
- package/dist/compat/_internal/toArray.mjs +5 -0
- package/dist/compat/array/chunk.mjs +2 -1
- package/dist/compat/array/difference.mjs +2 -1
- package/dist/compat/array/differenceBy.d.mts +82 -0
- package/dist/compat/array/differenceBy.d.ts +82 -0
- package/dist/compat/array/differenceBy.mjs +20 -0
- package/dist/compat/array/drop.mjs +2 -1
- package/dist/compat/array/dropRight.mjs +2 -1
- package/dist/compat/array/dropWhile.mjs +2 -1
- package/dist/compat/array/findLastIndex.mjs +2 -1
- package/dist/compat/array/forEach.d.mts +106 -0
- package/dist/compat/array/forEach.d.ts +106 -0
- package/dist/compat/array/forEach.mjs +21 -0
- package/dist/compat/array/head.mjs +2 -1
- package/dist/compat/array/last.mjs +2 -1
- package/dist/compat/array/sample.mjs +2 -1
- package/dist/compat/array/tail.mjs +2 -1
- package/dist/compat/array/take.mjs +2 -1
- package/dist/compat/array/takeRight.mjs +2 -1
- package/dist/compat/array/union.d.mts +30 -0
- package/dist/compat/array/union.d.ts +30 -0
- package/dist/compat/array/union.mjs +11 -0
- package/dist/compat/array/uniqBy.d.mts +60 -0
- package/dist/compat/array/uniqBy.d.ts +60 -0
- package/dist/compat/array/uniqBy.mjs +25 -0
- package/dist/compat/array/unzip.d.mts +16 -0
- package/dist/compat/array/unzip.d.ts +16 -0
- package/dist/compat/array/unzip.mjs +14 -0
- package/dist/compat/array/zip.d.mts +134 -0
- package/dist/compat/array/zip.d.ts +134 -0
- package/dist/compat/array/zip.mjs +11 -0
- package/dist/compat/index.d.mts +15 -8
- package/dist/compat/index.d.ts +15 -8
- package/dist/compat/index.js +312 -104
- package/dist/compat/index.mjs +15 -8
- package/dist/compat/math/sum.d.mts +37 -0
- package/dist/compat/math/sum.d.ts +37 -0
- package/dist/compat/math/sum.mjs +7 -0
- package/dist/compat/math/sumBy.d.mts +64 -0
- package/dist/compat/math/sumBy.d.ts +64 -0
- package/dist/compat/math/sumBy.mjs +20 -0
- package/dist/compat/predicate/isEmpty.d.mts +78 -0
- package/dist/compat/predicate/isEmpty.d.ts +78 -0
- package/dist/compat/predicate/isEmpty.mjs +33 -0
- package/dist/compat/string/replace.d.mts +17 -0
- package/dist/compat/string/replace.d.ts +17 -0
- package/dist/compat/string/replace.mjs +10 -0
- package/dist/compat/string/startCase.mjs +4 -4
- package/dist/compat/util/iteratee.d.mts +44 -0
- package/dist/compat/util/iteratee.d.ts +44 -0
- package/dist/compat/util/iteratee.mjs +28 -0
- package/dist/compat/util/toPath.mjs +56 -25
- package/dist/index.d.mts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +17 -14
- package/dist/index.mjs +3 -0
- package/dist/math/index.js +19 -11
- package/dist/math/range.mjs +1 -4
- package/dist/math/rangeRight.mjs +1 -4
- package/dist/math/sumBy.mjs +5 -4
- package/dist/object/cloneDeep.mjs +1 -1
- package/dist/object/findKey.d.mts +21 -0
- package/dist/object/findKey.d.ts +21 -0
- package/dist/object/findKey.mjs +6 -0
- package/dist/object/index.d.mts +1 -0
- package/dist/object/index.d.ts +1 -0
- package/dist/object/index.js +2 -1
- package/dist/object/index.mjs +1 -0
- package/dist/object/mapKeys.d.mts +4 -5
- package/dist/object/mapKeys.d.ts +4 -5
- package/dist/object/mergeWith.d.mts +1 -1
- package/dist/object/mergeWith.d.ts +1 -1
- package/dist/object/toMerged.d.mts +1 -1
- package/dist/object/toMerged.d.ts +1 -1
- package/dist/string/camelCase.mjs +4 -4
- package/dist/string/constantCase.mjs +3 -3
- package/dist/string/index.d.mts +1 -0
- package/dist/string/index.d.ts +1 -0
- package/dist/string/index.js +3 -2
- package/dist/string/index.mjs +1 -0
- package/dist/string/kebabCase.mjs +3 -3
- package/dist/string/lowerCase.mjs +3 -3
- package/dist/string/pascalCase.mjs +3 -3
- package/dist/string/snakeCase.mjs +3 -3
- package/dist/string/startCase.mjs +4 -4
- package/dist/string/upperCase.mjs +5 -5
- package/dist/string/words.d.mts +20 -0
- package/dist/string/words.d.ts +20 -0
- package/dist/string/{_internal/getWords.mjs → words.mjs} +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a `identity` function when `value` is `null` or `undefined`.
|
|
3
|
+
*
|
|
4
|
+
* @param {null} [value] - The value to convert to an iteratee.
|
|
5
|
+
* @returns {<T>(value: T) => T} - Returns a `identity` function.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const func = iteratee();
|
|
9
|
+
* [{ a: 1 }, { a: 2 }, { a: 3 }].map(func) // => [{ a: 1 }, { a: 2 }, { a: 3 }]
|
|
10
|
+
*/
|
|
11
|
+
declare function iteratee(value?: null): <T>(value: T) => T;
|
|
12
|
+
/**
|
|
13
|
+
* Returns a given `func` function when `value` is a `function`.
|
|
14
|
+
*
|
|
15
|
+
* @template {(...args: any[]) => unknown} F - The function type.
|
|
16
|
+
* @param {F} func - The function to return.
|
|
17
|
+
* @returns {F} - Returns the given function.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const func = iteratee((object) => object.a);
|
|
21
|
+
* [{ a: 1 }, { a: 2 }, { a: 3 }].map(func) // => [1, 2, 3]
|
|
22
|
+
*/
|
|
23
|
+
declare function iteratee<F extends (...args: any[]) => unknown>(func: F): F;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a function that invokes `value` with the arguments of the created function.
|
|
26
|
+
*
|
|
27
|
+
* The created function returns the property value for a given element.
|
|
28
|
+
*
|
|
29
|
+
* @param {symbol | number | string | object} value - The value to convert to an iteratee.
|
|
30
|
+
* @returns {(...args: any[]) => any} - Returns the new iteratee function.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const func = iteratee('a');
|
|
34
|
+
* [{ a: 1 }, { a: 2 }, { a: 3 }].map(func) // => [1, 2, 3]
|
|
35
|
+
*
|
|
36
|
+
* const func = iteratee({ a: 1 });
|
|
37
|
+
* [{ a: 1 }, { a: 2 }, { a: 3 }].find(func) // => { a: 1 }
|
|
38
|
+
*
|
|
39
|
+
* const func = iteratee(['a', 1]);
|
|
40
|
+
* [{ a: 1 }, { a: 2 }, { a: 3 }].find(func) // => { a: 1 }
|
|
41
|
+
*/
|
|
42
|
+
declare function iteratee(value: symbol | number | string | object): (...args: any[]) => any;
|
|
43
|
+
|
|
44
|
+
export { iteratee };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { identity } from '../../function/identity.mjs';
|
|
2
|
+
import { property } from '../object/property.mjs';
|
|
3
|
+
import { matches } from '../predicate/matches.mjs';
|
|
4
|
+
import { matchesProperty } from '../predicate/matchesProperty.mjs';
|
|
5
|
+
|
|
6
|
+
function iteratee(value) {
|
|
7
|
+
if (value == null) {
|
|
8
|
+
return identity;
|
|
9
|
+
}
|
|
10
|
+
switch (typeof value) {
|
|
11
|
+
case 'function': {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
case 'object': {
|
|
15
|
+
if (Array.isArray(value) && value.length === 2) {
|
|
16
|
+
return matchesProperty(value[0], value[1]);
|
|
17
|
+
}
|
|
18
|
+
return matches(value);
|
|
19
|
+
}
|
|
20
|
+
case 'string':
|
|
21
|
+
case 'symbol':
|
|
22
|
+
case 'number': {
|
|
23
|
+
return property(value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { iteratee };
|
|
@@ -1,34 +1,65 @@
|
|
|
1
|
-
const DOTS_KEY = /^[\w.]+$/g;
|
|
2
|
-
const ESCAPE_REGEXP = /\\(\\)?/g;
|
|
3
|
-
const PROPERTY_REGEXP = RegExp('[^.[\\]]+' +
|
|
4
|
-
'|' +
|
|
5
|
-
'\\[(?:' +
|
|
6
|
-
'([^"\'][^[]*)' +
|
|
7
|
-
'|' +
|
|
8
|
-
'(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2' +
|
|
9
|
-
')\\]' +
|
|
10
|
-
'|' +
|
|
11
|
-
'(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))', 'g');
|
|
12
1
|
function toPath(deepKey) {
|
|
13
|
-
if (DOTS_KEY.test(deepKey)) {
|
|
14
|
-
return deepKey.split('.');
|
|
15
|
-
}
|
|
16
2
|
const result = [];
|
|
17
|
-
|
|
3
|
+
const length = deepKey.length;
|
|
4
|
+
if (length === 0) {
|
|
5
|
+
return result;
|
|
6
|
+
}
|
|
7
|
+
let index = 0;
|
|
8
|
+
let key = '';
|
|
9
|
+
let quoteChar = '';
|
|
10
|
+
let bracket = false;
|
|
11
|
+
if (deepKey.charCodeAt(0) === 46) {
|
|
18
12
|
result.push('');
|
|
13
|
+
index++;
|
|
19
14
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
while (index < length) {
|
|
16
|
+
const char = deepKey[index];
|
|
17
|
+
if (quoteChar) {
|
|
18
|
+
if (char === '\\' && index + 1 < length) {
|
|
19
|
+
index++;
|
|
20
|
+
key += deepKey[index];
|
|
21
|
+
}
|
|
22
|
+
else if (char === quoteChar) {
|
|
23
|
+
quoteChar = '';
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
key += char;
|
|
27
|
+
}
|
|
28
28
|
}
|
|
29
|
-
else if (
|
|
30
|
-
|
|
29
|
+
else if (bracket) {
|
|
30
|
+
if (char === '"' || char === "'") {
|
|
31
|
+
quoteChar = char;
|
|
32
|
+
}
|
|
33
|
+
else if (char === ']') {
|
|
34
|
+
bracket = false;
|
|
35
|
+
result.push(key);
|
|
36
|
+
key = '';
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
key += char;
|
|
40
|
+
}
|
|
31
41
|
}
|
|
42
|
+
else {
|
|
43
|
+
if (char === '[') {
|
|
44
|
+
bracket = true;
|
|
45
|
+
if (key) {
|
|
46
|
+
result.push(key);
|
|
47
|
+
key = '';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else if (char === '.') {
|
|
51
|
+
if (key) {
|
|
52
|
+
result.push(key);
|
|
53
|
+
key = '';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
key += char;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
index++;
|
|
61
|
+
}
|
|
62
|
+
if (key) {
|
|
32
63
|
result.push(key);
|
|
33
64
|
}
|
|
34
65
|
return result;
|
package/dist/index.d.mts
CHANGED
|
@@ -22,6 +22,7 @@ export { intersection } from './array/intersection.mjs';
|
|
|
22
22
|
export { intersectionBy } from './array/intersectionBy.mjs';
|
|
23
23
|
export { intersectionWith } from './array/intersectionWith.mjs';
|
|
24
24
|
export { isSubset } from './array/isSubset.mjs';
|
|
25
|
+
export { isSubsetWith } from './array/isSubsetWith.mjs';
|
|
25
26
|
export { keyBy } from './array/keyBy.mjs';
|
|
26
27
|
export { last } from './array/last.mjs';
|
|
27
28
|
export { maxBy } from './array/maxBy.mjs';
|
|
@@ -90,6 +91,7 @@ export { sum } from './math/sum.mjs';
|
|
|
90
91
|
export { sumBy } from './math/sumBy.mjs';
|
|
91
92
|
export { clone } from './object/clone.mjs';
|
|
92
93
|
export { cloneDeep } from './object/cloneDeep.mjs';
|
|
94
|
+
export { findKey } from './object/findKey.mjs';
|
|
93
95
|
export { flattenObject } from './object/flattenObject.mjs';
|
|
94
96
|
export { invert } from './object/invert.mjs';
|
|
95
97
|
export { mapKeys } from './object/mapKeys.mjs';
|
|
@@ -148,4 +150,5 @@ export { trimStart } from './string/trimStart.mjs';
|
|
|
148
150
|
export { unescape } from './string/unescape.mjs';
|
|
149
151
|
export { upperCase } from './string/upperCase.mjs';
|
|
150
152
|
export { upperFirst } from './string/upperFirst.mjs';
|
|
153
|
+
export { words } from './string/words.mjs';
|
|
151
154
|
export { invariant } from './util/invariant.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export { intersection } from './array/intersection.js';
|
|
|
22
22
|
export { intersectionBy } from './array/intersectionBy.js';
|
|
23
23
|
export { intersectionWith } from './array/intersectionWith.js';
|
|
24
24
|
export { isSubset } from './array/isSubset.js';
|
|
25
|
+
export { isSubsetWith } from './array/isSubsetWith.js';
|
|
25
26
|
export { keyBy } from './array/keyBy.js';
|
|
26
27
|
export { last } from './array/last.js';
|
|
27
28
|
export { maxBy } from './array/maxBy.js';
|
|
@@ -90,6 +91,7 @@ export { sum } from './math/sum.js';
|
|
|
90
91
|
export { sumBy } from './math/sumBy.js';
|
|
91
92
|
export { clone } from './object/clone.js';
|
|
92
93
|
export { cloneDeep } from './object/cloneDeep.js';
|
|
94
|
+
export { findKey } from './object/findKey.js';
|
|
93
95
|
export { flattenObject } from './object/flattenObject.js';
|
|
94
96
|
export { invert } from './object/invert.js';
|
|
95
97
|
export { mapKeys } from './object/mapKeys.js';
|
|
@@ -148,4 +150,5 @@ export { trimStart } from './string/trimStart.js';
|
|
|
148
150
|
export { unescape } from './string/unescape.js';
|
|
149
151
|
export { upperCase } from './string/upperCase.js';
|
|
150
152
|
export { upperFirst } from './string/upperFirst.js';
|
|
153
|
+
export { words } from './string/words.js';
|
|
151
154
|
export { invariant } from './util/invariant.js';
|
package/dist/index.js
CHANGED
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const zipWith = require('./_chunk/zipWith-
|
|
5
|
+
const zipWith = require('./_chunk/zipWith-Bb2eZI.js');
|
|
6
6
|
const array_index = require('./array/index.js');
|
|
7
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 rangeRight = require('./_chunk/rangeRight-w3WrXN.js');
|
|
12
12
|
const randomInt = require('./_chunk/randomInt-CF7bZK.js');
|
|
13
13
|
const math_index = require('./math/index.js');
|
|
14
|
-
const toMerged = require('./_chunk/toMerged-
|
|
14
|
+
const toMerged = require('./_chunk/toMerged-CPY8Ug.js');
|
|
15
15
|
const object_index = require('./object/index.js');
|
|
16
16
|
const isWeakSet = require('./_chunk/isWeakSet-D8h8bS.js');
|
|
17
17
|
const predicate_index = require('./predicate/index.js');
|
|
18
18
|
const isPlainObject = require('./_chunk/isPlainObject-octpoD.js');
|
|
19
|
-
const upperFirst = require('./_chunk/upperFirst-
|
|
19
|
+
const upperFirst = require('./_chunk/upperFirst-DK_rTF.js');
|
|
20
20
|
const string_index = require('./string/index.js');
|
|
21
21
|
const util_index = require('./util/index.js');
|
|
22
22
|
|
|
@@ -46,6 +46,7 @@ exports.intersection = zipWith.intersection;
|
|
|
46
46
|
exports.intersectionBy = zipWith.intersectionBy;
|
|
47
47
|
exports.intersectionWith = zipWith.intersectionWith;
|
|
48
48
|
exports.isSubset = zipWith.isSubset;
|
|
49
|
+
exports.isSubsetWith = zipWith.isSubsetWith;
|
|
49
50
|
exports.keyBy = zipWith.keyBy;
|
|
50
51
|
exports.last = zipWith.last;
|
|
51
52
|
exports.maxBy = zipWith.maxBy;
|
|
@@ -102,21 +103,22 @@ exports.curryRight = function_index.curryRight;
|
|
|
102
103
|
exports.spread = function_index.spread;
|
|
103
104
|
exports.throttle = function_index.throttle;
|
|
104
105
|
exports.noop = noop.noop;
|
|
105
|
-
exports.clamp =
|
|
106
|
-
exports.inRange =
|
|
107
|
-
exports.mean =
|
|
108
|
-
exports.meanBy =
|
|
109
|
-
exports.median =
|
|
110
|
-
exports.medianBy =
|
|
111
|
-
exports.range =
|
|
112
|
-
exports.rangeRight =
|
|
113
|
-
exports.sum =
|
|
114
|
-
exports.sumBy = sumBy.sumBy;
|
|
106
|
+
exports.clamp = rangeRight.clamp;
|
|
107
|
+
exports.inRange = rangeRight.inRange;
|
|
108
|
+
exports.mean = rangeRight.mean;
|
|
109
|
+
exports.meanBy = rangeRight.meanBy;
|
|
110
|
+
exports.median = rangeRight.median;
|
|
111
|
+
exports.medianBy = rangeRight.medianBy;
|
|
112
|
+
exports.range = rangeRight.range;
|
|
113
|
+
exports.rangeRight = rangeRight.rangeRight;
|
|
114
|
+
exports.sum = rangeRight.sum;
|
|
115
115
|
exports.random = randomInt.random;
|
|
116
116
|
exports.randomInt = randomInt.randomInt;
|
|
117
117
|
exports.round = math_index.round;
|
|
118
|
+
exports.sumBy = math_index.sumBy;
|
|
118
119
|
exports.clone = toMerged.clone;
|
|
119
120
|
exports.cloneDeep = toMerged.cloneDeep;
|
|
121
|
+
exports.findKey = toMerged.findKey;
|
|
120
122
|
exports.flattenObject = toMerged.flattenObject;
|
|
121
123
|
exports.invert = toMerged.invert;
|
|
122
124
|
exports.mapKeys = toMerged.mapKeys;
|
|
@@ -173,5 +175,6 @@ exports.trimStart = upperFirst.trimStart;
|
|
|
173
175
|
exports.unescape = upperFirst.unescape;
|
|
174
176
|
exports.upperCase = upperFirst.upperCase;
|
|
175
177
|
exports.upperFirst = upperFirst.upperFirst;
|
|
178
|
+
exports.words = upperFirst.words;
|
|
176
179
|
exports.startCase = string_index.startCase;
|
|
177
180
|
exports.invariant = util_index.invariant;
|
package/dist/index.mjs
CHANGED
|
@@ -22,6 +22,7 @@ export { intersection } from './array/intersection.mjs';
|
|
|
22
22
|
export { intersectionBy } from './array/intersectionBy.mjs';
|
|
23
23
|
export { intersectionWith } from './array/intersectionWith.mjs';
|
|
24
24
|
export { isSubset } from './array/isSubset.mjs';
|
|
25
|
+
export { isSubsetWith } from './array/isSubsetWith.mjs';
|
|
25
26
|
export { keyBy } from './array/keyBy.mjs';
|
|
26
27
|
export { last } from './array/last.mjs';
|
|
27
28
|
export { maxBy } from './array/maxBy.mjs';
|
|
@@ -90,6 +91,7 @@ export { sum } from './math/sum.mjs';
|
|
|
90
91
|
export { sumBy } from './math/sumBy.mjs';
|
|
91
92
|
export { clone } from './object/clone.mjs';
|
|
92
93
|
export { cloneDeep } from './object/cloneDeep.mjs';
|
|
94
|
+
export { findKey } from './object/findKey.mjs';
|
|
93
95
|
export { flattenObject } from './object/flattenObject.mjs';
|
|
94
96
|
export { invert } from './object/invert.mjs';
|
|
95
97
|
export { mapKeys } from './object/mapKeys.mjs';
|
|
@@ -148,4 +150,5 @@ export { trimStart } from './string/trimStart.mjs';
|
|
|
148
150
|
export { unescape } from './string/unescape.mjs';
|
|
149
151
|
export { upperCase } from './string/upperCase.mjs';
|
|
150
152
|
export { upperFirst } from './string/upperFirst.mjs';
|
|
153
|
+
export { words } from './string/words.mjs';
|
|
151
154
|
export { invariant } from './util/invariant.mjs';
|
package/dist/math/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const rangeRight = require('../_chunk/rangeRight-w3WrXN.js');
|
|
6
6
|
const randomInt = require('../_chunk/randomInt-CF7bZK.js');
|
|
7
7
|
|
|
8
8
|
function round(value, precision = 0) {
|
|
@@ -13,16 +13,24 @@ function round(value, precision = 0) {
|
|
|
13
13
|
return Math.round(value * multiplier) / multiplier;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
exports.
|
|
25
|
-
exports.
|
|
16
|
+
function sumBy(items, getValue) {
|
|
17
|
+
let result = 0;
|
|
18
|
+
for (let i = 0; i < items.length; i++) {
|
|
19
|
+
result += getValue(items[i]);
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.clamp = rangeRight.clamp;
|
|
25
|
+
exports.inRange = rangeRight.inRange;
|
|
26
|
+
exports.mean = rangeRight.mean;
|
|
27
|
+
exports.meanBy = rangeRight.meanBy;
|
|
28
|
+
exports.median = rangeRight.median;
|
|
29
|
+
exports.medianBy = rangeRight.medianBy;
|
|
30
|
+
exports.range = rangeRight.range;
|
|
31
|
+
exports.rangeRight = rangeRight.rangeRight;
|
|
32
|
+
exports.sum = rangeRight.sum;
|
|
26
33
|
exports.random = randomInt.random;
|
|
27
34
|
exports.randomInt = randomInt.randomInt;
|
|
28
35
|
exports.round = round;
|
|
36
|
+
exports.sumBy = sumBy;
|
package/dist/math/range.mjs
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
function range(start, end, step) {
|
|
1
|
+
function range(start, end, step = 1) {
|
|
2
2
|
if (end == null) {
|
|
3
3
|
end = start;
|
|
4
4
|
start = 0;
|
|
5
5
|
}
|
|
6
|
-
if (step == null) {
|
|
7
|
-
step = 1;
|
|
8
|
-
}
|
|
9
6
|
if (!Number.isInteger(step) || step === 0) {
|
|
10
7
|
throw new Error(`The step value must be a non-zero integer.`);
|
|
11
8
|
}
|
package/dist/math/rangeRight.mjs
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
function rangeRight(start, end, step) {
|
|
1
|
+
function rangeRight(start, end, step = 1) {
|
|
2
2
|
if (end == null) {
|
|
3
3
|
end = start;
|
|
4
4
|
start = 0;
|
|
5
5
|
}
|
|
6
|
-
if (step == null) {
|
|
7
|
-
step = 1;
|
|
8
|
-
}
|
|
9
6
|
if (!Number.isInteger(step) || step === 0) {
|
|
10
7
|
throw new Error(`The step value must be a non-zero integer.`);
|
|
11
8
|
}
|
package/dist/math/sumBy.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { sum } from './sum.mjs';
|
|
2
|
-
|
|
3
1
|
function sumBy(items, getValue) {
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
let result = 0;
|
|
3
|
+
for (let i = 0; i < items.length; i++) {
|
|
4
|
+
result += getValue(items[i]);
|
|
5
|
+
}
|
|
6
|
+
return result;
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
export { sumBy };
|
|
@@ -93,7 +93,7 @@ function cloneDeepImpl(obj, stack = new Map()) {
|
|
|
93
93
|
return result;
|
|
94
94
|
}
|
|
95
95
|
if (typeof obj === 'object' && obj !== null) {
|
|
96
|
-
const result =
|
|
96
|
+
const result = Object.create(Object.getPrototypeOf(obj));
|
|
97
97
|
stack.set(obj, result);
|
|
98
98
|
copyProperties(result, obj, stack);
|
|
99
99
|
return result;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds the key of the first element in the object that satisfies the provided testing function.
|
|
3
|
+
*
|
|
4
|
+
* @param {T} obj - The object to search.
|
|
5
|
+
* @param {(value: T[keyof T], key: keyof T, obj: T) => boolean} predicate - The function to execute on each value in the object. It takes three arguments:
|
|
6
|
+
* - value: The current value being processed in the object.
|
|
7
|
+
* - key: The key of the current value being processed in the object.
|
|
8
|
+
* - obj: The object that findKey was called upon.
|
|
9
|
+
* @returns {keyof T | undefined} The key of the first element in the object that passes the test, or undefined if no element passes.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const users = {
|
|
13
|
+
* 'barney': { 'age': 36, 'active': true },
|
|
14
|
+
* 'fred': { 'age': 40, 'active': false },
|
|
15
|
+
* 'pebbles': { 'age': 1, 'active': true }
|
|
16
|
+
* };
|
|
17
|
+
* findKey(users, function(o) { return o.age < 40; }); => 'barney'
|
|
18
|
+
*/
|
|
19
|
+
declare function findKey<T extends Record<any, any>>(obj: T, predicate: (value: T[keyof T], key: keyof T, obj: T) => boolean): keyof T | undefined;
|
|
20
|
+
|
|
21
|
+
export { findKey };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds the key of the first element in the object that satisfies the provided testing function.
|
|
3
|
+
*
|
|
4
|
+
* @param {T} obj - The object to search.
|
|
5
|
+
* @param {(value: T[keyof T], key: keyof T, obj: T) => boolean} predicate - The function to execute on each value in the object. It takes three arguments:
|
|
6
|
+
* - value: The current value being processed in the object.
|
|
7
|
+
* - key: The key of the current value being processed in the object.
|
|
8
|
+
* - obj: The object that findKey was called upon.
|
|
9
|
+
* @returns {keyof T | undefined} The key of the first element in the object that passes the test, or undefined if no element passes.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const users = {
|
|
13
|
+
* 'barney': { 'age': 36, 'active': true },
|
|
14
|
+
* 'fred': { 'age': 40, 'active': false },
|
|
15
|
+
* 'pebbles': { 'age': 1, 'active': true }
|
|
16
|
+
* };
|
|
17
|
+
* findKey(users, function(o) { return o.age < 40; }); => 'barney'
|
|
18
|
+
*/
|
|
19
|
+
declare function findKey<T extends Record<any, any>>(obj: T, predicate: (value: T[keyof T], key: keyof T, obj: T) => boolean): keyof T | undefined;
|
|
20
|
+
|
|
21
|
+
export { findKey };
|
package/dist/object/index.d.mts
CHANGED
package/dist/object/index.d.ts
CHANGED
package/dist/object/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const toMerged = require('../_chunk/toMerged-
|
|
5
|
+
const toMerged = require('../_chunk/toMerged-CPY8Ug.js');
|
|
6
6
|
|
|
7
7
|
function mergeWith(target, source, merge) {
|
|
8
8
|
const sourceKeys = Object.keys(source);
|
|
@@ -49,6 +49,7 @@ function pick(obj, keys) {
|
|
|
49
49
|
|
|
50
50
|
exports.clone = toMerged.clone;
|
|
51
51
|
exports.cloneDeep = toMerged.cloneDeep;
|
|
52
|
+
exports.findKey = toMerged.findKey;
|
|
52
53
|
exports.flattenObject = toMerged.flattenObject;
|
|
53
54
|
exports.invert = toMerged.invert;
|
|
54
55
|
exports.mapKeys = toMerged.mapKeys;
|
package/dist/object/index.mjs
CHANGED
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
* by running each own enumerable property of the object through the iteratee function.
|
|
4
4
|
*
|
|
5
5
|
* @template T - The type of the object.
|
|
6
|
-
* @template
|
|
7
|
-
* @template K2 - The type of the new keys generated by the iteratee function.
|
|
6
|
+
* @template K - The type of the new keys generated by the iteratee function.
|
|
8
7
|
*
|
|
9
8
|
* @param {T} object - The object to iterate over.
|
|
10
|
-
* @param {(value: T[
|
|
11
|
-
* @returns {Record<
|
|
9
|
+
* @param {(value: T[keyof T], key: keyof T, object: T) => K} getNewKey - The function invoked per own enumerable property.
|
|
10
|
+
* @returns {Record<K, T[keyof T]>} - Returns the new mapped object.
|
|
12
11
|
*
|
|
13
12
|
* @example
|
|
14
13
|
* // Example usage:
|
|
@@ -16,6 +15,6 @@
|
|
|
16
15
|
* const result = mapKeys(obj, (value, key) => key + value);
|
|
17
16
|
* console.log(result); // { a1: 1, b2: 2 }
|
|
18
17
|
*/
|
|
19
|
-
declare function mapKeys<T extends
|
|
18
|
+
declare function mapKeys<T extends Record<PropertyKey, any>, K extends PropertyKey>(object: T, getNewKey: (value: T[keyof T], key: keyof T, object: T) => K): Record<K, T[keyof T]>;
|
|
20
19
|
|
|
21
20
|
export { mapKeys };
|
package/dist/object/mapKeys.d.ts
CHANGED
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
* by running each own enumerable property of the object through the iteratee function.
|
|
4
4
|
*
|
|
5
5
|
* @template T - The type of the object.
|
|
6
|
-
* @template
|
|
7
|
-
* @template K2 - The type of the new keys generated by the iteratee function.
|
|
6
|
+
* @template K - The type of the new keys generated by the iteratee function.
|
|
8
7
|
*
|
|
9
8
|
* @param {T} object - The object to iterate over.
|
|
10
|
-
* @param {(value: T[
|
|
11
|
-
* @returns {Record<
|
|
9
|
+
* @param {(value: T[keyof T], key: keyof T, object: T) => K} getNewKey - The function invoked per own enumerable property.
|
|
10
|
+
* @returns {Record<K, T[keyof T]>} - Returns the new mapped object.
|
|
12
11
|
*
|
|
13
12
|
* @example
|
|
14
13
|
* // Example usage:
|
|
@@ -16,6 +15,6 @@
|
|
|
16
15
|
* const result = mapKeys(obj, (value, key) => key + value);
|
|
17
16
|
* console.log(result); // { a1: 1, b2: 2 }
|
|
18
17
|
*/
|
|
19
|
-
declare function mapKeys<T extends
|
|
18
|
+
declare function mapKeys<T extends Record<PropertyKey, any>, K extends PropertyKey>(object: T, getNewKey: (value: T[keyof T], key: keyof T, object: T) => K): Record<K, T[keyof T]>;
|
|
20
19
|
|
|
21
20
|
export { mapKeys };
|
|
@@ -46,6 +46,6 @@
|
|
|
46
46
|
*
|
|
47
47
|
* expect(result).toEqual({ a: [1, 3], b: [2, 4] });
|
|
48
48
|
*/
|
|
49
|
-
declare function mergeWith<T, S
|
|
49
|
+
declare function mergeWith<T extends Record<PropertyKey, any>, S extends Record<PropertyKey, any>>(target: T, source: S, merge: (targetValue: any, sourceValue: any, key: string, target: T, source: S) => any): T & S;
|
|
50
50
|
|
|
51
51
|
export { mergeWith };
|
|
@@ -46,6 +46,6 @@
|
|
|
46
46
|
*
|
|
47
47
|
* expect(result).toEqual({ a: [1, 3], b: [2, 4] });
|
|
48
48
|
*/
|
|
49
|
-
declare function mergeWith<T, S
|
|
49
|
+
declare function mergeWith<T extends Record<PropertyKey, any>, S extends Record<PropertyKey, any>>(target: T, source: S, merge: (targetValue: any, sourceValue: any, key: string, target: T, source: S) => any): T & S;
|
|
50
50
|
|
|
51
51
|
export { mergeWith };
|
|
@@ -40,6 +40,6 @@
|
|
|
40
40
|
* console.log(result);
|
|
41
41
|
* // Output: { a: [1, 2, 3] }
|
|
42
42
|
*/
|
|
43
|
-
declare function toMerged<T, S
|
|
43
|
+
declare function toMerged<T extends Record<PropertyKey, any>, S extends Record<PropertyKey, any>>(target: T, source: S): T & S;
|
|
44
44
|
|
|
45
45
|
export { toMerged };
|
|
@@ -40,6 +40,6 @@
|
|
|
40
40
|
* console.log(result);
|
|
41
41
|
* // Output: { a: [1, 2, 3] }
|
|
42
42
|
*/
|
|
43
|
-
declare function toMerged<T, S
|
|
43
|
+
declare function toMerged<T extends Record<PropertyKey, any>, S extends Record<PropertyKey, any>>(target: T, source: S): T & S;
|
|
44
44
|
|
|
45
45
|
export { toMerged };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { getWords } from './_internal/getWords.mjs';
|
|
2
1
|
import { capitalize } from './capitalize.mjs';
|
|
2
|
+
import { words } from './words.mjs';
|
|
3
3
|
|
|
4
4
|
function camelCase(str) {
|
|
5
|
-
const words =
|
|
6
|
-
if (words.length === 0) {
|
|
5
|
+
const words$1 = words(str);
|
|
6
|
+
if (words$1.length === 0) {
|
|
7
7
|
return '';
|
|
8
8
|
}
|
|
9
|
-
const [first, ...rest] = words;
|
|
9
|
+
const [first, ...rest] = words$1;
|
|
10
10
|
return `${first.toLowerCase()}${rest.map(word => capitalize(word)).join('')}`;
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { words } from './words.mjs';
|
|
2
2
|
|
|
3
3
|
function constantCase(str) {
|
|
4
|
-
const words =
|
|
5
|
-
return words.map(word => word.toUpperCase()).join('_');
|
|
4
|
+
const words$1 = words(str);
|
|
5
|
+
return words$1.map(word => word.toUpperCase()).join('_');
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export { constantCase };
|
package/dist/string/index.d.mts
CHANGED
package/dist/string/index.d.ts
CHANGED
package/dist/string/index.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const upperFirst = require('../_chunk/upperFirst-
|
|
5
|
+
const upperFirst = require('../_chunk/upperFirst-DK_rTF.js');
|
|
6
6
|
|
|
7
7
|
function startCase(str) {
|
|
8
|
-
const words = upperFirst.
|
|
8
|
+
const words = upperFirst.words(str.trim());
|
|
9
9
|
let result = '';
|
|
10
10
|
for (let i = 0; i < words.length; i++) {
|
|
11
11
|
const word = words[i];
|
|
@@ -35,4 +35,5 @@ exports.trimStart = upperFirst.trimStart;
|
|
|
35
35
|
exports.unescape = upperFirst.unescape;
|
|
36
36
|
exports.upperCase = upperFirst.upperCase;
|
|
37
37
|
exports.upperFirst = upperFirst.upperFirst;
|
|
38
|
+
exports.words = upperFirst.words;
|
|
38
39
|
exports.startCase = startCase;
|