es-toolkit 1.12.0 → 1.13.0
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 +16 -5
- package/dist/array/chunk.mjs +1 -1
- package/dist/array/compact.mjs +1 -1
- package/dist/array/countBy.mjs +1 -1
- package/dist/array/difference.mjs +1 -1
- package/dist/array/differenceBy.mjs +1 -1
- package/dist/array/differenceWith.mjs +1 -1
- package/dist/array/drop.mjs +1 -1
- package/dist/array/dropRight.mjs +1 -1
- package/dist/array/dropRightWhile.mjs +1 -1
- package/dist/array/dropWhile.mjs +1 -1
- package/dist/array/fill.mjs +1 -1
- package/dist/array/flatMap.mjs +1 -1
- package/dist/array/flatten.mjs +1 -1
- package/dist/array/flattenDeep.mjs +1 -1
- package/dist/array/forEachRight.mjs +1 -1
- package/dist/array/groupBy.mjs +1 -1
- package/dist/array/head.mjs +1 -1
- package/dist/array/index.js.map +1 -1
- package/dist/array/index.mjs +14 -14
- package/dist/array/initial.mjs +1 -1
- package/dist/array/intersection.mjs +1 -1
- package/dist/array/intersectionBy.mjs +1 -1
- package/dist/array/intersectionWith.mjs +1 -1
- package/dist/array/keyBy.mjs +1 -1
- package/dist/array/last.mjs +1 -1
- package/dist/array/maxBy.mjs +1 -1
- package/dist/array/minBy.mjs +1 -1
- package/dist/array/orderBy.mjs +1 -1
- package/dist/array/partition.mjs +1 -1
- package/dist/array/sample.mjs +1 -1
- package/dist/array/sampleSize.mjs +1 -1
- package/dist/array/shuffle.mjs +1 -1
- package/dist/array/tail.d.mts +24 -0
- package/dist/array/tail.d.ts +24 -0
- package/dist/array/tail.js.map +1 -1
- package/dist/array/tail.mjs +2 -2
- package/dist/array/take.mjs +1 -1
- package/dist/array/takeRight.mjs +1 -1
- package/dist/array/takeRightWhile.mjs +1 -1
- package/dist/array/takeWhile.mjs +1 -1
- package/dist/array/toFilled.mjs +1 -1
- package/dist/array/union.mjs +1 -1
- package/dist/array/unionBy.mjs +1 -1
- package/dist/array/unionWith.mjs +1 -1
- package/dist/array/uniq.mjs +1 -1
- package/dist/array/uniqBy.mjs +1 -1
- package/dist/array/uniqWith.mjs +1 -1
- package/dist/array/unzip.mjs +1 -1
- package/dist/array/unzipWith.mjs +1 -1
- package/dist/array/without.mjs +1 -1
- package/dist/array/xor.mjs +1 -1
- package/dist/array/xorBy.mjs +1 -1
- package/dist/array/xorWith.mjs +1 -1
- package/dist/array/zip.mjs +1 -1
- package/dist/array/zipObject.mjs +1 -1
- package/dist/array/zipWith.mjs +1 -1
- package/dist/browser.d.mts +2 -0
- package/dist/browser.d.ts +2 -0
- package/dist/browser.js +1108 -0
- package/dist/browser.js.map +1 -0
- package/dist/browser.mjs +108 -0
- package/dist/browser.mjs.map +1 -0
- package/dist/{chunk-424M7IR7.mjs → chunk-24FKGR6U.mjs} +6 -1
- package/dist/chunk-27QMXBLJ.mjs +9 -0
- package/dist/chunk-27QMXBLJ.mjs.map +1 -0
- package/dist/chunk-54TK5BIS.mjs +1 -0
- package/dist/chunk-B645AYL4.mjs +1 -0
- package/dist/{chunk-J3GE7DEU.mjs → chunk-CVVZHOJX.mjs} +2 -2
- package/dist/{chunk-XWPCDIFC.mjs → chunk-IIDZ3KAJ.mjs} +3 -3
- package/dist/chunk-MIGAC7F4.mjs +25 -0
- package/dist/chunk-MIGAC7F4.mjs.map +1 -0
- package/dist/chunk-SPKLWVNJ.mjs +373 -0
- package/dist/chunk-SPKLWVNJ.mjs.map +1 -0
- package/dist/{chunk-OF6NM4G7.mjs → chunk-TJ4Z5I7M.mjs} +1 -1
- package/dist/{chunk-OF6NM4G7.mjs.map → chunk-TJ4Z5I7M.mjs.map} +1 -1
- package/dist/{chunk-U7V3G7CR.mjs → chunk-WFZXCGEG.mjs} +2 -2
- package/dist/chunk-XGQWTHW6.mjs +34 -0
- package/dist/chunk-XGQWTHW6.mjs.map +1 -0
- package/dist/compat/index.d.mts +59 -3
- package/dist/compat/index.d.ts +59 -3
- package/dist/compat/index.js +105 -1
- package/dist/compat/index.js.map +1 -1
- package/dist/compat/index.mjs +105 -51
- package/dist/compat/index.mjs.map +1 -1
- package/dist/error/AbortError.mjs +1 -1
- package/dist/error/TimeoutError.mjs +1 -1
- package/dist/error/index.mjs +1 -1
- package/dist/function/debounce.mjs +1 -1
- package/dist/function/index.mjs +4 -4
- package/dist/function/negate.mjs +1 -1
- package/dist/function/noop.mjs +1 -1
- package/dist/function/once.mjs +1 -1
- package/dist/function/throttle.mjs +1 -1
- package/dist/index.d.mts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +62 -50
- package/dist/math/clamp.mjs +1 -1
- package/dist/math/inRange.mjs +1 -1
- package/dist/math/index.mjs +7 -7
- package/dist/math/mean.mjs +1 -1
- package/dist/math/meanBy.mjs +1 -1
- package/dist/math/random.mjs +1 -1
- package/dist/math/randomInt.mjs +1 -1
- package/dist/math/range.mjs +1 -1
- package/dist/math/round.mjs +1 -1
- package/dist/math/sum.mjs +1 -1
- package/dist/math/sumBy.mjs +1 -1
- package/dist/object/clone.mjs +1 -1
- package/dist/object/flattenObject.d.mts +28 -0
- package/dist/object/flattenObject.d.ts +28 -0
- package/dist/object/flattenObject.js +77 -0
- package/dist/object/flattenObject.js.map +1 -0
- package/dist/object/flattenObject.mjs +9 -0
- package/dist/object/index.d.mts +1 -0
- package/dist/object/index.d.ts +1 -0
- package/dist/object/index.js +49 -0
- package/dist/object/index.js.map +1 -1
- package/dist/object/index.mjs +14 -9
- package/dist/object/invert.mjs +1 -1
- package/dist/object/omit.mjs +2 -2
- package/dist/object/omitBy.mjs +1 -1
- package/dist/object/pick.mjs +1 -1
- package/dist/object/pickBy.mjs +1 -1
- package/dist/predicate/index.d.mts +2 -0
- package/dist/predicate/index.d.ts +2 -0
- package/dist/predicate/index.js +30 -0
- package/dist/predicate/index.js.map +1 -1
- package/dist/predicate/index.mjs +15 -7
- package/dist/predicate/isEqual.mjs +1 -1
- package/dist/predicate/isLength.d.mts +3 -0
- package/dist/predicate/isLength.d.ts +3 -0
- package/dist/predicate/isLength.js +33 -0
- package/dist/predicate/isLength.js.map +1 -0
- package/dist/predicate/isLength.mjs +8 -0
- package/dist/predicate/isLength.mjs.map +1 -0
- package/dist/predicate/isNil.mjs +1 -1
- package/dist/predicate/isNotNil.mjs +1 -1
- package/dist/predicate/isNull.mjs +1 -1
- package/dist/predicate/isPlainObject.d.mts +16 -0
- package/dist/predicate/isPlainObject.d.ts +16 -0
- package/dist/predicate/isPlainObject.js +49 -0
- package/dist/predicate/isPlainObject.js.map +1 -0
- package/dist/predicate/isPlainObject.mjs +8 -0
- package/dist/predicate/isPlainObject.mjs.map +1 -0
- package/dist/predicate/isUndefined.mjs +1 -1
- package/dist/promise/delay.mjs +1 -1
- package/dist/promise/index.mjs +3 -3
- package/dist/promise/timeout.mjs +2 -2
- package/dist/promise/withTimeout.mjs +3 -3
- package/dist/string/camelCase.mjs +1 -1
- package/dist/string/capitalize.mjs +1 -1
- package/dist/string/index.mjs +7 -7
- package/dist/string/kebabCase.mjs +1 -1
- package/dist/string/lowerCase.mjs +1 -1
- package/dist/string/snakeCase.mjs +1 -1
- package/dist/string/startCase.mjs +1 -1
- package/package.json +3 -1
- package/umd/browser.global.js +2 -0
- package/dist/chunk-ASJF5D6C.mjs +0 -1
- package/dist/chunk-NKLIE2OI.mjs +0 -1
- package/dist/chunk-OSOLEQLZ.mjs +0 -1
- /package/dist/{chunk-424M7IR7.mjs.map → chunk-24FKGR6U.mjs.map} +0 -0
- /package/dist/{chunk-ASJF5D6C.mjs.map → chunk-54TK5BIS.mjs.map} +0 -0
- /package/dist/{chunk-NKLIE2OI.mjs.map → chunk-B645AYL4.mjs.map} +0 -0
- /package/dist/{chunk-J3GE7DEU.mjs.map → chunk-CVVZHOJX.mjs.map} +0 -0
- /package/dist/{chunk-XWPCDIFC.mjs.map → chunk-IIDZ3KAJ.mjs.map} +0 -0
- /package/dist/{chunk-U7V3G7CR.mjs.map → chunk-WFZXCGEG.mjs.map} +0 -0
- /package/dist/{chunk-OSOLEQLZ.mjs.map → object/flattenObject.mjs.map} +0 -0
package/dist/compat/index.js
CHANGED
|
@@ -62,10 +62,11 @@ __export(compat_exports, {
|
|
|
62
62
|
clamp: () => clamp,
|
|
63
63
|
clone: () => clone,
|
|
64
64
|
compact: () => compact,
|
|
65
|
+
concat: () => concat,
|
|
65
66
|
countBy: () => countBy,
|
|
66
67
|
debounce: () => debounce,
|
|
67
68
|
delay: () => delay,
|
|
68
|
-
difference: () =>
|
|
69
|
+
difference: () => difference2,
|
|
69
70
|
differenceBy: () => differenceBy,
|
|
70
71
|
differenceWith: () => differenceWith,
|
|
71
72
|
drop: () => drop,
|
|
@@ -74,9 +75,11 @@ __export(compat_exports, {
|
|
|
74
75
|
dropWhile: () => dropWhile,
|
|
75
76
|
endsWith: () => endsWith,
|
|
76
77
|
fill: () => fill,
|
|
78
|
+
first: () => head,
|
|
77
79
|
flatMap: () => flatMap,
|
|
78
80
|
flatten: () => flatten,
|
|
79
81
|
flattenDeep: () => flattenDeep,
|
|
82
|
+
flattenObject: () => flattenObject,
|
|
80
83
|
forEachRight: () => forEachRight,
|
|
81
84
|
get: () => get,
|
|
82
85
|
groupBy: () => groupBy,
|
|
@@ -88,9 +91,11 @@ __export(compat_exports, {
|
|
|
88
91
|
intersectionWith: () => intersectionWith,
|
|
89
92
|
invert: () => invert,
|
|
90
93
|
isEqual: () => isEqual,
|
|
94
|
+
isLength: () => isLength,
|
|
91
95
|
isNil: () => isNil,
|
|
92
96
|
isNotNil: () => isNotNil,
|
|
93
97
|
isNull: () => isNull,
|
|
98
|
+
isPlainObject: () => isPlainObject2,
|
|
94
99
|
isUndefined: () => isUndefined,
|
|
95
100
|
kebabCase: () => kebabCase,
|
|
96
101
|
keyBy: () => keyBy,
|
|
@@ -924,6 +929,53 @@ function isPrimitive(value) {
|
|
|
924
929
|
return value == null || typeof value !== "object" && typeof value !== "function";
|
|
925
930
|
}
|
|
926
931
|
|
|
932
|
+
// src/predicate/isPlainObject.ts
|
|
933
|
+
function isPlainObject(object) {
|
|
934
|
+
if (typeof object !== "object") {
|
|
935
|
+
return false;
|
|
936
|
+
}
|
|
937
|
+
if (object == null) {
|
|
938
|
+
return false;
|
|
939
|
+
}
|
|
940
|
+
if (Object.getPrototypeOf(object) === null) {
|
|
941
|
+
return true;
|
|
942
|
+
}
|
|
943
|
+
if (object.toString() !== "[object Object]") {
|
|
944
|
+
return false;
|
|
945
|
+
}
|
|
946
|
+
let proto = object;
|
|
947
|
+
while (Object.getPrototypeOf(proto) !== null) {
|
|
948
|
+
proto = Object.getPrototypeOf(proto);
|
|
949
|
+
}
|
|
950
|
+
return Object.getPrototypeOf(object) === proto;
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
// src/object/flattenObject.ts
|
|
954
|
+
function flattenObject(object) {
|
|
955
|
+
return flattenObjectImpl(object);
|
|
956
|
+
}
|
|
957
|
+
function flattenObjectImpl(object, prefix = "") {
|
|
958
|
+
const result = {};
|
|
959
|
+
const keys = Object.keys(object);
|
|
960
|
+
for (let i = 0; i < keys.length; i++) {
|
|
961
|
+
const key = keys[i];
|
|
962
|
+
const value = object[key];
|
|
963
|
+
const prefixedKey = prefix ? `${prefix}.${key}` : key;
|
|
964
|
+
if (isPlainObject(value) && Object.keys(value).length > 0) {
|
|
965
|
+
Object.assign(result, flattenObjectImpl(value, prefixedKey));
|
|
966
|
+
continue;
|
|
967
|
+
}
|
|
968
|
+
if (Array.isArray(value)) {
|
|
969
|
+
for (let index = 0; index < value.length; index++) {
|
|
970
|
+
result[`${prefixedKey}.${index}`] = value[index];
|
|
971
|
+
}
|
|
972
|
+
continue;
|
|
973
|
+
}
|
|
974
|
+
result[prefixedKey] = value;
|
|
975
|
+
}
|
|
976
|
+
return result;
|
|
977
|
+
}
|
|
978
|
+
|
|
927
979
|
// src/predicate/isEqual.ts
|
|
928
980
|
function isEqual(a, b) {
|
|
929
981
|
if (Object.is(a, b)) {
|
|
@@ -977,6 +1029,11 @@ function isUndefined(x) {
|
|
|
977
1029
|
return x === void 0;
|
|
978
1030
|
}
|
|
979
1031
|
|
|
1032
|
+
// src/predicate/isLength.ts
|
|
1033
|
+
function isLength(value) {
|
|
1034
|
+
return typeof value === "number" && value > -1 && value % 1 === 0 && value <= Number.MAX_SAFE_INTEGER;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
980
1037
|
// src/promise/delay.ts
|
|
981
1038
|
function delay(ms, { signal } = {}) {
|
|
982
1039
|
return new Promise((resolve, reject) => {
|
|
@@ -1076,6 +1133,18 @@ function chunk2(arr, size = 1) {
|
|
|
1076
1133
|
return chunk(arr, size);
|
|
1077
1134
|
}
|
|
1078
1135
|
|
|
1136
|
+
// src/compat/array/concat.ts
|
|
1137
|
+
function concat(...values) {
|
|
1138
|
+
return flatten(values);
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
// src/compat/array/difference.ts
|
|
1142
|
+
function difference2(arr, ...values) {
|
|
1143
|
+
const arr1 = arr;
|
|
1144
|
+
const arr2 = flatten(values);
|
|
1145
|
+
return difference(arr1, arr2);
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1079
1148
|
// src/compat/_internal/isIndex.ts
|
|
1080
1149
|
var IS_UNSIGNED_INTEGER = /^(?:0|[1-9]\d*)$/;
|
|
1081
1150
|
function isIndex(value) {
|
|
@@ -1197,6 +1266,36 @@ function get(object, path, defaultValue) {
|
|
|
1197
1266
|
return current != null ? current : defaultValue;
|
|
1198
1267
|
}
|
|
1199
1268
|
|
|
1269
|
+
// src/compat/predicate/isPlainObject.ts
|
|
1270
|
+
function isPlainObject2(object) {
|
|
1271
|
+
var _a;
|
|
1272
|
+
if (typeof object !== "object") {
|
|
1273
|
+
return false;
|
|
1274
|
+
}
|
|
1275
|
+
if (object == null) {
|
|
1276
|
+
return false;
|
|
1277
|
+
}
|
|
1278
|
+
if (Object.getPrototypeOf(object) === null) {
|
|
1279
|
+
return true;
|
|
1280
|
+
}
|
|
1281
|
+
if (object.toString() !== "[object Object]") {
|
|
1282
|
+
const tag = object[Symbol.toStringTag];
|
|
1283
|
+
if (tag == null) {
|
|
1284
|
+
return false;
|
|
1285
|
+
}
|
|
1286
|
+
const isTagReadonly = !((_a = Object.getOwnPropertyDescriptor(object, Symbol.toStringTag)) == null ? void 0 : _a.writable);
|
|
1287
|
+
if (isTagReadonly) {
|
|
1288
|
+
return false;
|
|
1289
|
+
}
|
|
1290
|
+
return object.toString() === `[object ${tag}]`;
|
|
1291
|
+
}
|
|
1292
|
+
let proto = object;
|
|
1293
|
+
while (Object.getPrototypeOf(proto) !== null) {
|
|
1294
|
+
proto = Object.getPrototypeOf(proto);
|
|
1295
|
+
}
|
|
1296
|
+
return Object.getPrototypeOf(object) === proto;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1200
1299
|
// src/compat/string/startsWith.ts
|
|
1201
1300
|
var startsWith = (str, target, position = 0) => {
|
|
1202
1301
|
return str.startsWith(target, position);
|
|
@@ -1242,6 +1341,7 @@ function min(items = []) {
|
|
|
1242
1341
|
clamp,
|
|
1243
1342
|
clone,
|
|
1244
1343
|
compact,
|
|
1344
|
+
concat,
|
|
1245
1345
|
countBy,
|
|
1246
1346
|
debounce,
|
|
1247
1347
|
delay,
|
|
@@ -1254,9 +1354,11 @@ function min(items = []) {
|
|
|
1254
1354
|
dropWhile,
|
|
1255
1355
|
endsWith,
|
|
1256
1356
|
fill,
|
|
1357
|
+
first,
|
|
1257
1358
|
flatMap,
|
|
1258
1359
|
flatten,
|
|
1259
1360
|
flattenDeep,
|
|
1361
|
+
flattenObject,
|
|
1260
1362
|
forEachRight,
|
|
1261
1363
|
get,
|
|
1262
1364
|
groupBy,
|
|
@@ -1268,9 +1370,11 @@ function min(items = []) {
|
|
|
1268
1370
|
intersectionWith,
|
|
1269
1371
|
invert,
|
|
1270
1372
|
isEqual,
|
|
1373
|
+
isLength,
|
|
1271
1374
|
isNil,
|
|
1272
1375
|
isNotNil,
|
|
1273
1376
|
isNull,
|
|
1377
|
+
isPlainObject,
|
|
1274
1378
|
isUndefined,
|
|
1275
1379
|
kebabCase,
|
|
1276
1380
|
keyBy,
|