es-toolkit 1.35.0-dev.1213 → 1.35.0-dev.1214

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.
Files changed (63) hide show
  1. package/dist/_chunk/{toSnakeCaseKeys-DTk_p5.js → toSnakeCaseKeys-DZO2eB.js} +493 -198
  2. package/dist/_chunk/{zipWith-Bt0YQl.js → zip-BJSrRi.js} +0 -68
  3. package/dist/array/index.js +118 -56
  4. package/dist/browser.global.js +1 -1
  5. package/dist/browser.global.js.map +1 -1
  6. package/dist/compat/_internal/copyArray.mjs +12 -0
  7. package/dist/compat/array/flatMap.d.mts +20 -0
  8. package/dist/compat/array/flatMap.d.ts +20 -0
  9. package/dist/compat/array/flatMap.mjs +13 -0
  10. package/dist/compat/array/partition.d.mts +65 -0
  11. package/dist/compat/array/partition.d.ts +65 -0
  12. package/dist/compat/array/partition.mjs +24 -0
  13. package/dist/compat/array/pullAllWith.d.mts +59 -0
  14. package/dist/compat/array/pullAllWith.d.ts +59 -0
  15. package/dist/compat/array/pullAllWith.mjs +33 -0
  16. package/dist/compat/array/pullAt.d.mts +32 -0
  17. package/dist/compat/array/pullAt.d.ts +32 -0
  18. package/dist/compat/array/pullAt.mjs +34 -0
  19. package/dist/compat/array/zipObject.d.mts +49 -0
  20. package/dist/compat/array/zipObject.d.ts +49 -0
  21. package/dist/compat/array/zipObject.mjs +11 -0
  22. package/dist/compat/array/zipWith.d.mts +92 -0
  23. package/dist/compat/array/zipWith.d.ts +92 -0
  24. package/dist/compat/array/zipWith.mjs +20 -0
  25. package/dist/compat/compat.d.mts +15 -6
  26. package/dist/compat/compat.d.ts +15 -6
  27. package/dist/compat/compat.mjs +15 -6
  28. package/dist/compat/index.d.mts +15 -6
  29. package/dist/compat/index.d.ts +15 -6
  30. package/dist/compat/index.js +36 -27
  31. package/dist/compat/index.mjs +15 -6
  32. package/dist/compat/object/at.d.mts +19 -0
  33. package/dist/compat/object/at.d.ts +19 -0
  34. package/dist/compat/object/at.mjs +27 -0
  35. package/dist/compat/object/forIn.d.mts +58 -0
  36. package/dist/compat/object/forIn.d.ts +58 -0
  37. package/dist/compat/object/forIn.mjs +16 -0
  38. package/dist/compat/object/forInRight.d.mts +58 -0
  39. package/dist/compat/object/forInRight.d.ts +58 -0
  40. package/dist/compat/object/forInRight.mjs +21 -0
  41. package/dist/compat/object/forOwn.d.mts +54 -0
  42. package/dist/compat/object/forOwn.d.ts +54 -0
  43. package/dist/compat/object/forOwn.mjs +19 -0
  44. package/dist/compat/object/forOwnRight.d.mts +54 -0
  45. package/dist/compat/object/forOwnRight.d.ts +54 -0
  46. package/dist/compat/object/forOwnRight.mjs +19 -0
  47. package/dist/compat/object/hasIn.d.mts +40 -0
  48. package/dist/compat/object/hasIn.d.ts +40 -0
  49. package/dist/compat/object/hasIn.mjs +34 -0
  50. package/dist/compat/string/split.d.mts +19 -0
  51. package/dist/compat/string/split.d.ts +19 -0
  52. package/dist/compat/string/split.mjs +7 -0
  53. package/dist/compat/util/overEvery.d.mts +67 -0
  54. package/dist/compat/util/overEvery.d.ts +67 -0
  55. package/dist/compat/util/overEvery.mjs +23 -0
  56. package/dist/compat/util/overSome.d.mts +69 -0
  57. package/dist/compat/util/overSome.d.ts +69 -0
  58. package/dist/compat/util/overSome.mjs +23 -0
  59. package/dist/index.js +58 -58
  60. package/dist/object/index.js +1 -1
  61. package/dist/predicate/index.js +1 -1
  62. package/package.json +1 -1
  63. package/dist/_chunk/{isPromise-BqEEYJ.js → isPromise-CxqI1v.js} +4 -4
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- const zipWith = require('./zipWith-Bt0YQl.js');
3
+ const zip$1 = require('./zip-BJSrRi.js');
4
4
  const AbortError = require('./AbortError-Cg4ZQ1.js');
5
5
  const error_index = require('../error/index.js');
6
6
  const unary = require('./unary-EIEhcF.js');
7
7
  const noop = require('./noop-2IwLUk.js');
8
8
  const range$1 = require('./range-HnEIT7.js');
9
9
  const randomInt = require('./randomInt-CF7bZK.js');
10
- const isPromise = require('./isPromise-BqEEYJ.js');
10
+ const isPromise = require('./isPromise-CxqI1v.js');
11
11
  const promise_index = require('../promise/index.js');
12
12
  const reverseString = require('./reverseString-BixeGz.js');
13
13
  const invariant = require('./invariant-BfGFfr.js');
@@ -331,18 +331,18 @@ function chunk(arr, size = 1) {
331
331
  if (size === 0 || !isArrayLike(arr)) {
332
332
  return [];
333
333
  }
334
- return zipWith.chunk(toArray$1(arr), size);
334
+ return zip$1.chunk(toArray$1(arr), size);
335
335
  }
336
336
 
337
337
  function compact(arr) {
338
338
  if (!isArrayLike(arr)) {
339
339
  return [];
340
340
  }
341
- return zipWith.compact(Array.from(arr));
341
+ return zip$1.compact(Array.from(arr));
342
342
  }
343
343
 
344
344
  function concat(...values) {
345
- return zipWith.flatten(values);
345
+ return zip$1.flatten(values);
346
346
  }
347
347
 
348
348
  function isArrayLikeObject(value) {
@@ -361,14 +361,14 @@ function difference(arr, ...values) {
361
361
  arr2.push(...Array.from(value));
362
362
  }
363
363
  }
364
- return zipWith.difference(arr1, arr2);
364
+ return zip$1.difference(arr1, arr2);
365
365
  }
366
366
 
367
367
  function last(array) {
368
368
  if (!isArrayLike(array)) {
369
369
  return undefined;
370
370
  }
371
- return zipWith.last(toArray$1(array));
371
+ return zip$1.last(toArray$1(array));
372
372
  }
373
373
 
374
374
  function flattenArrayLike(values) {
@@ -788,9 +788,9 @@ function differenceBy(arr, ..._values) {
788
788
  const iteratee$1 = last(_values);
789
789
  const values = flattenArrayLike(_values);
790
790
  if (isArrayLikeObject(iteratee$1)) {
791
- return zipWith.difference(Array.from(arr), values);
791
+ return zip$1.difference(Array.from(arr), values);
792
792
  }
793
- return zipWith.differenceBy(Array.from(arr), values, iteratee(iteratee$1));
793
+ return zip$1.differenceBy(Array.from(arr), values, iteratee(iteratee$1));
794
794
  }
795
795
 
796
796
  function differenceWith(array, ...values) {
@@ -800,25 +800,25 @@ function differenceWith(array, ...values) {
800
800
  const comparator = last(values);
801
801
  const flattenedValues = flattenArrayLike(values);
802
802
  if (typeof comparator === 'function') {
803
- return zipWith.differenceWith(Array.from(array), flattenedValues, comparator);
803
+ return zip$1.differenceWith(Array.from(array), flattenedValues, comparator);
804
804
  }
805
- return zipWith.difference(Array.from(array), flattenedValues);
805
+ return zip$1.difference(Array.from(array), flattenedValues);
806
806
  }
807
807
 
808
808
  function drop(collection, itemsCount = 1, guard) {
809
809
  if (!isArrayLike(collection)) {
810
810
  return [];
811
811
  }
812
- itemsCount = guard ? 1 : zipWith.toInteger(itemsCount);
813
- return zipWith.drop(toArray$1(collection), itemsCount);
812
+ itemsCount = guard ? 1 : zip$1.toInteger(itemsCount);
813
+ return zip$1.drop(toArray$1(collection), itemsCount);
814
814
  }
815
815
 
816
816
  function dropRight(collection, itemsCount = 1, guard) {
817
817
  if (!isArrayLike(collection)) {
818
818
  return [];
819
819
  }
820
- itemsCount = guard ? 1 : zipWith.toInteger(itemsCount);
821
- return zipWith.dropRight(toArray$1(collection), itemsCount);
820
+ itemsCount = guard ? 1 : zip$1.toInteger(itemsCount);
821
+ return zip$1.dropRight(toArray$1(collection), itemsCount);
822
822
  }
823
823
 
824
824
  function dropRightWhile(arr, predicate) {
@@ -830,22 +830,22 @@ function dropRightWhile(arr, predicate) {
830
830
  function dropRightWhileImpl(arr, predicate) {
831
831
  switch (typeof predicate) {
832
832
  case 'function': {
833
- return zipWith.dropRightWhile(arr, (item, index, arr) => Boolean(predicate(item, index, arr)));
833
+ return zip$1.dropRightWhile(arr, (item, index, arr) => Boolean(predicate(item, index, arr)));
834
834
  }
835
835
  case 'object': {
836
836
  if (Array.isArray(predicate) && predicate.length === 2) {
837
837
  const key = predicate[0];
838
838
  const value = predicate[1];
839
- return zipWith.dropRightWhile(arr, matchesProperty(key, value));
839
+ return zip$1.dropRightWhile(arr, matchesProperty(key, value));
840
840
  }
841
841
  else {
842
- return zipWith.dropRightWhile(arr, matches(predicate));
842
+ return zip$1.dropRightWhile(arr, matches(predicate));
843
843
  }
844
844
  }
845
845
  case 'symbol':
846
846
  case 'number':
847
847
  case 'string': {
848
- return zipWith.dropRightWhile(arr, property(predicate));
848
+ return zip$1.dropRightWhile(arr, property(predicate));
849
849
  }
850
850
  }
851
851
  }
@@ -859,22 +859,22 @@ function dropWhile(arr, predicate) {
859
859
  function dropWhileImpl(arr, predicate) {
860
860
  switch (typeof predicate) {
861
861
  case 'function': {
862
- return zipWith.dropWhile(arr, (item, index, arr) => Boolean(predicate(item, index, arr)));
862
+ return zip$1.dropWhile(arr, (item, index, arr) => Boolean(predicate(item, index, arr)));
863
863
  }
864
864
  case 'object': {
865
865
  if (Array.isArray(predicate) && predicate.length === 2) {
866
866
  const key = predicate[0];
867
867
  const value = predicate[1];
868
- return zipWith.dropWhile(arr, matchesProperty(key, value));
868
+ return zip$1.dropWhile(arr, matchesProperty(key, value));
869
869
  }
870
870
  else {
871
- return zipWith.dropWhile(arr, matches(predicate));
871
+ return zip$1.dropWhile(arr, matches(predicate));
872
872
  }
873
873
  }
874
874
  case 'number':
875
875
  case 'symbol':
876
876
  case 'string': {
877
- return zipWith.dropWhile(arr, property(predicate));
877
+ return zip$1.dropWhile(arr, property(predicate));
878
878
  }
879
879
  }
880
880
  }
@@ -953,7 +953,7 @@ function fill(array, value, start = 0, end = array ? array.length : 0) {
953
953
  if (!end) {
954
954
  end = 0;
955
955
  }
956
- return zipWith.fill(array, value, start, end);
956
+ return zip$1.fill(array, value, start, end);
957
957
  }
958
958
 
959
959
  function isArray(value) {
@@ -1044,7 +1044,7 @@ function findLast(source, _doesMatch, fromIndex) {
1044
1044
  return undefined;
1045
1045
  }
1046
1046
  const length = Array.isArray(source) ? source.length : Object.keys(source).length;
1047
- fromIndex = zipWith.toInteger(fromIndex ?? length - 1);
1047
+ fromIndex = zip$1.toInteger(fromIndex ?? length - 1);
1048
1048
  if (fromIndex < 0) {
1049
1049
  fromIndex = Math.max(length + fromIndex, 0);
1050
1050
  }
@@ -1129,6 +1129,29 @@ function flatten(value, depth = 1) {
1129
1129
  return result;
1130
1130
  }
1131
1131
 
1132
+ function map(collection, _iteratee) {
1133
+ if (!collection) {
1134
+ return [];
1135
+ }
1136
+ const keys = isArrayLike(collection) || Array.isArray(collection) ? range$1.range(0, collection.length) : Object.keys(collection);
1137
+ const iteratee$1 = iteratee(_iteratee ?? unary.identity);
1138
+ const result = new Array(keys.length);
1139
+ for (let i = 0; i < keys.length; i++) {
1140
+ const key = keys[i];
1141
+ const value = collection[key];
1142
+ result[i] = iteratee$1(value, key, collection);
1143
+ }
1144
+ return result;
1145
+ }
1146
+
1147
+ function flatMap(collection, iteratee) {
1148
+ if (isPromise.isNil(collection)) {
1149
+ return [];
1150
+ }
1151
+ const mapped = isPromise.isNil(iteratee) ? map(collection) : map(collection, iteratee);
1152
+ return flatten(mapped, 1);
1153
+ }
1154
+
1132
1155
  function flattenDeep(value) {
1133
1156
  return flatten(value, Infinity);
1134
1157
  }
@@ -1175,14 +1198,14 @@ function groupBy(source, _getKeyFromItem) {
1175
1198
  }
1176
1199
  const items = isArrayLike(source) ? Array.from(source) : Object.values(source);
1177
1200
  const getKeyFromItem = iteratee(_getKeyFromItem ?? unary.identity);
1178
- return zipWith.groupBy(items, getKeyFromItem);
1201
+ return zip$1.groupBy(items, getKeyFromItem);
1179
1202
  }
1180
1203
 
1181
1204
  function head(arr) {
1182
1205
  if (!isArrayLike(arr)) {
1183
1206
  return undefined;
1184
1207
  }
1185
- return zipWith.head(toArray$1(arr));
1208
+ return zip$1.head(toArray$1(arr));
1186
1209
  }
1187
1210
 
1188
1211
  function includes(source, target, fromIndex, guard) {
@@ -1193,7 +1216,7 @@ function includes(source, target, fromIndex, guard) {
1193
1216
  fromIndex = 0;
1194
1217
  }
1195
1218
  else {
1196
- fromIndex = zipWith.toInteger(fromIndex);
1219
+ fromIndex = zip$1.toInteger(fromIndex);
1197
1220
  }
1198
1221
  if (isString(source)) {
1199
1222
  if (fromIndex > source.length || target instanceof RegExp) {
@@ -1246,13 +1269,13 @@ function intersection(...arrays) {
1246
1269
  if (!isArrayLikeObject(arrays[0])) {
1247
1270
  return [];
1248
1271
  }
1249
- let result = zipWith.uniq(Array.from(arrays[0]));
1272
+ let result = zip$1.uniq(Array.from(arrays[0]));
1250
1273
  for (let i = 1; i < arrays.length; i++) {
1251
1274
  const array = arrays[i];
1252
1275
  if (!isArrayLikeObject(array)) {
1253
1276
  return [];
1254
1277
  }
1255
- result = zipWith.intersection(result, Array.from(array));
1278
+ result = zip$1.intersection(result, Array.from(array));
1256
1279
  }
1257
1280
  return result;
1258
1281
  }
@@ -1261,11 +1284,11 @@ function intersectionBy(array, ...values) {
1261
1284
  if (!isArrayLikeObject(array)) {
1262
1285
  return [];
1263
1286
  }
1264
- const lastValue = zipWith.last(values);
1287
+ const lastValue = zip$1.last(values);
1265
1288
  if (lastValue === undefined) {
1266
1289
  return Array.from(array);
1267
1290
  }
1268
- let result = zipWith.uniq(Array.from(array));
1291
+ let result = zip$1.uniq(Array.from(array));
1269
1292
  const count = isArrayLikeObject(lastValue) ? values.length : values.length - 1;
1270
1293
  for (let i = 0; i < count; ++i) {
1271
1294
  const value = values[i];
@@ -1273,13 +1296,13 @@ function intersectionBy(array, ...values) {
1273
1296
  return [];
1274
1297
  }
1275
1298
  if (isArrayLikeObject(lastValue)) {
1276
- result = zipWith.intersectionBy(result, Array.from(value), unary.identity);
1299
+ result = zip$1.intersectionBy(result, Array.from(value), unary.identity);
1277
1300
  }
1278
1301
  else if (typeof lastValue === 'function') {
1279
- result = zipWith.intersectionBy(result, Array.from(value), value => lastValue(value));
1302
+ result = zip$1.intersectionBy(result, Array.from(value), value => lastValue(value));
1280
1303
  }
1281
1304
  else if (typeof lastValue === 'string') {
1282
- result = zipWith.intersectionBy(result, Array.from(value), property(lastValue));
1305
+ result = zip$1.intersectionBy(result, Array.from(value), property(lastValue));
1283
1306
  }
1284
1307
  }
1285
1308
  return result;
@@ -1289,7 +1312,7 @@ function uniq(arr) {
1289
1312
  if (!isArrayLike(arr)) {
1290
1313
  return [];
1291
1314
  }
1292
- return zipWith.uniq(Array.from(arr));
1315
+ return zip$1.uniq(Array.from(arr));
1293
1316
  }
1294
1317
 
1295
1318
  function intersectionWith(firstArr, ...otherArrs) {
@@ -1310,7 +1333,7 @@ function intersectionWith(firstArr, ...otherArrs) {
1310
1333
  if (otherArr == null) {
1311
1334
  return [];
1312
1335
  }
1313
- result = zipWith.intersectionWith(result, Array.from(otherArr), comparator);
1336
+ result = zip$1.intersectionWith(result, Array.from(otherArr), comparator);
1314
1337
  }
1315
1338
  return result;
1316
1339
  }
@@ -1354,26 +1377,11 @@ function lastIndexOf(array, searchElement, fromIndex) {
1354
1377
  return Array.from(array).lastIndexOf(searchElement, index);
1355
1378
  }
1356
1379
 
1357
- function map(collection, _iteratee) {
1358
- if (!collection) {
1359
- return [];
1360
- }
1361
- const keys = isArrayLike(collection) || Array.isArray(collection) ? range$1.range(0, collection.length) : Object.keys(collection);
1362
- const iteratee$1 = iteratee(_iteratee ?? unary.identity);
1363
- const result = new Array(keys.length);
1364
- for (let i = 0; i < keys.length; i++) {
1365
- const key = keys[i];
1366
- const value = collection[key];
1367
- result[i] = iteratee$1(value, key, collection);
1368
- }
1369
- return result;
1370
- }
1371
-
1372
1380
  function nth(array, n = 0) {
1373
1381
  if (!isArrayLikeObject(array) || array.length === 0) {
1374
1382
  return undefined;
1375
1383
  }
1376
- n = zipWith.toInteger(n);
1384
+ n = zip$1.toInteger(n);
1377
1385
  if (n < 0) {
1378
1386
  n += array.length;
1379
1387
  }
@@ -1421,7 +1429,7 @@ function isKey(value, object) {
1421
1429
  if (Array.isArray(value)) {
1422
1430
  return false;
1423
1431
  }
1424
- if (typeof value === 'number' || typeof value === 'boolean' || value == null || zipWith.isSymbol(value)) {
1432
+ if (typeof value === 'number' || typeof value === 'boolean' || value == null || zip$1.isSymbol(value)) {
1425
1433
  return true;
1426
1434
  }
1427
1435
  return ((typeof value === 'string' && (regexIsPlainProp.test(value) || !regexIsDeepProp.test(value))) ||
@@ -1501,12 +1509,32 @@ function orderBy(collection, criteria, orders, guard) {
1501
1509
  .map(item => item.original);
1502
1510
  }
1503
1511
 
1512
+ function partition(source, predicate) {
1513
+ if (!source) {
1514
+ return [[], []];
1515
+ }
1516
+ const collection = isArrayLike(source) ? source : Object.values(source);
1517
+ predicate = iteratee(predicate);
1518
+ const matched = [];
1519
+ const unmatched = [];
1520
+ for (let i = 0; i < collection.length; i++) {
1521
+ const value = collection[i];
1522
+ if (predicate(value)) {
1523
+ matched.push(value);
1524
+ }
1525
+ else {
1526
+ unmatched.push(value);
1527
+ }
1528
+ }
1529
+ return [matched, unmatched];
1530
+ }
1531
+
1504
1532
  function pull(arr, ...valuesToRemove) {
1505
- return zipWith.pull(arr, valuesToRemove);
1533
+ return zip$1.pull(arr, valuesToRemove);
1506
1534
  }
1507
1535
 
1508
1536
  function pullAll(arr, valuesToRemove = []) {
1509
- return zipWith.pull(arr, Array.from(valuesToRemove));
1537
+ return zip$1.pull(arr, Array.from(valuesToRemove));
1510
1538
  }
1511
1539
 
1512
1540
  function pullAllBy(arr, valuesToRemove, _getValue) {
@@ -1528,6 +1556,154 @@ function pullAllBy(arr, valuesToRemove, _getValue) {
1528
1556
  return arr;
1529
1557
  }
1530
1558
 
1559
+ function copyArray(source, array) {
1560
+ const length = source.length;
1561
+ if (array == null) {
1562
+ array = Array(length);
1563
+ }
1564
+ for (let i = 0; i < length; i++) {
1565
+ array[i] = source[i];
1566
+ }
1567
+ return array;
1568
+ }
1569
+
1570
+ function pullAllWith(array, values, comparator) {
1571
+ if (array?.length == null || values?.length == null) {
1572
+ return array;
1573
+ }
1574
+ if (array === values) {
1575
+ values = copyArray(values);
1576
+ }
1577
+ let resultLength = 0;
1578
+ if (comparator == null) {
1579
+ comparator = (a, b) => isPromise.eq(a, b);
1580
+ }
1581
+ const valuesArray = Array.isArray(values) ? values : Array.from(values);
1582
+ const hasUndefined = valuesArray.includes(undefined);
1583
+ for (let i = 0; i < array.length; i++) {
1584
+ if (i in array) {
1585
+ const shouldRemove = valuesArray.some(value => comparator(array[i], value));
1586
+ if (!shouldRemove) {
1587
+ array[resultLength++] = array[i];
1588
+ }
1589
+ continue;
1590
+ }
1591
+ if (!hasUndefined) {
1592
+ delete array[resultLength++];
1593
+ }
1594
+ }
1595
+ array.length = resultLength;
1596
+ return array;
1597
+ }
1598
+
1599
+ function at(object, ...paths) {
1600
+ if (paths.length === 0) {
1601
+ return [];
1602
+ }
1603
+ const allPaths = [];
1604
+ for (let i = 0; i < paths.length; i++) {
1605
+ const path = paths[i];
1606
+ if (!isArrayLike(path) || isString(path)) {
1607
+ allPaths.push(path);
1608
+ continue;
1609
+ }
1610
+ for (let j = 0; j < path.length; j++) {
1611
+ allPaths.push(path[j]);
1612
+ }
1613
+ }
1614
+ const result = [];
1615
+ for (let i = 0; i < allPaths.length; i++) {
1616
+ result.push(get(object, allPaths[i]));
1617
+ }
1618
+ return result;
1619
+ }
1620
+
1621
+ function unset(obj, path) {
1622
+ if (obj == null) {
1623
+ return true;
1624
+ }
1625
+ switch (typeof path) {
1626
+ case 'symbol':
1627
+ case 'number':
1628
+ case 'object': {
1629
+ if (Array.isArray(path)) {
1630
+ return unsetWithPath(obj, path);
1631
+ }
1632
+ if (typeof path === 'number') {
1633
+ path = toKey(path);
1634
+ }
1635
+ else if (typeof path === 'object') {
1636
+ if (Object.is(path?.valueOf(), -0)) {
1637
+ path = '-0';
1638
+ }
1639
+ else {
1640
+ path = String(path);
1641
+ }
1642
+ }
1643
+ if (obj?.[path] === undefined) {
1644
+ return true;
1645
+ }
1646
+ try {
1647
+ delete obj[path];
1648
+ return true;
1649
+ }
1650
+ catch {
1651
+ return false;
1652
+ }
1653
+ }
1654
+ case 'string': {
1655
+ if (obj?.[path] === undefined && isDeepKey(path)) {
1656
+ return unsetWithPath(obj, toPath(path));
1657
+ }
1658
+ try {
1659
+ delete obj[path];
1660
+ return true;
1661
+ }
1662
+ catch {
1663
+ return false;
1664
+ }
1665
+ }
1666
+ }
1667
+ }
1668
+ function unsetWithPath(obj, path) {
1669
+ const parent = get(obj, path.slice(0, -1), obj);
1670
+ const lastKey = path[path.length - 1];
1671
+ if (parent?.[lastKey] === undefined) {
1672
+ return true;
1673
+ }
1674
+ try {
1675
+ delete parent[lastKey];
1676
+ return true;
1677
+ }
1678
+ catch {
1679
+ return false;
1680
+ }
1681
+ }
1682
+
1683
+ function pullAt(array, ..._indices) {
1684
+ const indices = flatten(_indices, 1);
1685
+ if (!array) {
1686
+ return Array(indices.length);
1687
+ }
1688
+ const result = at(array, indices);
1689
+ const indicesToPull = indices
1690
+ .map(index => (isIndex(index, array.length) ? Number(index) : index))
1691
+ .sort((a, b) => b - a);
1692
+ for (const index of new Set(indicesToPull)) {
1693
+ if (isIndex(index, array.length)) {
1694
+ Array.prototype.splice.call(array, index, 1);
1695
+ continue;
1696
+ }
1697
+ if (isKey(index, array)) {
1698
+ delete array[toKey(index)];
1699
+ continue;
1700
+ }
1701
+ const path = isArray(index) ? index : toPath(index);
1702
+ unset(array, path);
1703
+ }
1704
+ return result;
1705
+ }
1706
+
1531
1707
  function reduce(collection, iteratee = unary.identity, accumulator) {
1532
1708
  if (!collection) {
1533
1709
  return accumulator;
@@ -1604,7 +1780,7 @@ function reject(source, predicate) {
1604
1780
  }
1605
1781
 
1606
1782
  function remove(arr, shouldRemoveElement) {
1607
- return zipWith.remove(arr, iteratee(shouldRemoveElement));
1783
+ return zip$1.remove(arr, iteratee(shouldRemoveElement));
1608
1784
  }
1609
1785
 
1610
1786
  function reverse(array) {
@@ -1619,9 +1795,9 @@ function sample(collection) {
1619
1795
  return undefined;
1620
1796
  }
1621
1797
  if (isArrayLike(collection)) {
1622
- return zipWith.sample(toArray$1(collection));
1798
+ return zip$1.sample(toArray$1(collection));
1623
1799
  }
1624
- return zipWith.sample(Object.values(collection));
1800
+ return zip$1.sample(Object.values(collection));
1625
1801
  }
1626
1802
 
1627
1803
  function size(target) {
@@ -1646,8 +1822,8 @@ function slice(array, start, end) {
1646
1822
  start = 0;
1647
1823
  end = length;
1648
1824
  }
1649
- start = zipWith.toInteger(start);
1650
- end = zipWith.toInteger(end);
1825
+ start = zip$1.toInteger(start);
1826
+ end = zip$1.toInteger(end);
1651
1827
  if (start < 0) {
1652
1828
  start = Math.max(length + start, 0);
1653
1829
  }
@@ -1720,7 +1896,7 @@ function sortBy(collection, ...criteria) {
1720
1896
  else if (length > 2 && isIterateeCall(criteria[0], criteria[1], criteria[2])) {
1721
1897
  criteria = [criteria[0]];
1722
1898
  }
1723
- return orderBy(collection, zipWith.flatten(criteria), ['asc']);
1899
+ return orderBy(collection, zip$1.flatten(criteria), ['asc']);
1724
1900
  }
1725
1901
 
1726
1902
  function isNaN(value) {
@@ -1743,7 +1919,7 @@ function sortedIndexBy(array, value, iteratee$1, retHighest) {
1743
1919
  const transformedValue = iterateeFunction(value);
1744
1920
  const valIsNaN = isNaN(transformedValue);
1745
1921
  const valIsNull = isPromise.isNull(transformedValue);
1746
- const valIsSymbol = zipWith.isSymbol(transformedValue);
1922
+ const valIsSymbol = zip$1.isSymbol(transformedValue);
1747
1923
  const valIsUndefined = isPromise.isUndefined(transformedValue);
1748
1924
  while (low < high) {
1749
1925
  let setLow;
@@ -1752,7 +1928,7 @@ function sortedIndexBy(array, value, iteratee$1, retHighest) {
1752
1928
  const othIsDefined = !isPromise.isUndefined(computed);
1753
1929
  const othIsNull = isPromise.isNull(computed);
1754
1930
  const othIsReflexive = !isNaN(computed);
1755
- const othIsSymbol = zipWith.isSymbol(computed);
1931
+ const othIsSymbol = zip$1.isSymbol(computed);
1756
1932
  if (valIsNaN) {
1757
1933
  setLow = retHighest || othIsReflexive;
1758
1934
  }
@@ -1851,23 +2027,23 @@ function tail(arr) {
1851
2027
  if (!isArrayLike(arr)) {
1852
2028
  return [];
1853
2029
  }
1854
- return zipWith.tail(toArray$1(arr));
2030
+ return zip$1.tail(toArray$1(arr));
1855
2031
  }
1856
2032
 
1857
2033
  function take(arr, count = 1, guard) {
1858
- count = guard ? 1 : zipWith.toInteger(count);
2034
+ count = guard ? 1 : zip$1.toInteger(count);
1859
2035
  if (count < 1 || !isArrayLike(arr)) {
1860
2036
  return [];
1861
2037
  }
1862
- return zipWith.take(toArray$1(arr), count);
2038
+ return zip$1.take(toArray$1(arr), count);
1863
2039
  }
1864
2040
 
1865
2041
  function takeRight(arr, count = 1, guard) {
1866
- count = guard ? 1 : zipWith.toInteger(count);
2042
+ count = guard ? 1 : zip$1.toInteger(count);
1867
2043
  if (count <= 0 || !isArrayLike(arr)) {
1868
2044
  return [];
1869
2045
  }
1870
- return zipWith.takeRight(toArray$1(arr), count);
2046
+ return zip$1.takeRight(toArray$1(arr), count);
1871
2047
  }
1872
2048
 
1873
2049
  function takeRightWhile(_array, predicate) {
@@ -1891,39 +2067,39 @@ function takeWhile(array, predicate) {
1891
2067
  function union(...arrays) {
1892
2068
  const validArrays = arrays.filter(isArrayLikeObject);
1893
2069
  const flattened = flatten(validArrays, 1);
1894
- return zipWith.uniq(flattened);
2070
+ return zip$1.uniq(flattened);
1895
2071
  }
1896
2072
 
1897
2073
  function unionBy(...values) {
1898
- const lastValue = zipWith.last(values);
2074
+ const lastValue = zip$1.last(values);
1899
2075
  const flattened = flattenArrayLike(values);
1900
2076
  if (isArrayLikeObject(lastValue) || lastValue == null) {
1901
- return zipWith.uniq(flattened);
2077
+ return zip$1.uniq(flattened);
1902
2078
  }
1903
- return zipWith.uniqBy(flattened, iteratee(lastValue));
2079
+ return zip$1.uniqBy(flattened, iteratee(lastValue));
1904
2080
  }
1905
2081
 
1906
2082
  function unionWith(...values) {
1907
- const lastValue = zipWith.last(values);
2083
+ const lastValue = zip$1.last(values);
1908
2084
  const flattened = flattenArrayLike(values);
1909
2085
  if (isArrayLikeObject(lastValue) || lastValue == null) {
1910
- return zipWith.uniq(flattened);
2086
+ return zip$1.uniq(flattened);
1911
2087
  }
1912
- return zipWith.uniqWith(flattened, lastValue);
2088
+ return zip$1.uniqWith(flattened, lastValue);
1913
2089
  }
1914
2090
 
1915
2091
  function uniqBy(array, iteratee$1) {
1916
2092
  if (!isArrayLikeObject(array)) {
1917
2093
  return [];
1918
2094
  }
1919
- return zipWith.uniqBy(Array.from(array), iteratee(iteratee$1));
2095
+ return zip$1.uniqBy(Array.from(array), iteratee(iteratee$1));
1920
2096
  }
1921
2097
 
1922
2098
  function uniqWith(arr, comparator) {
1923
2099
  if (!isArrayLike(arr)) {
1924
2100
  return [];
1925
2101
  }
1926
- return typeof comparator === 'function' ? zipWith.uniqWith(Array.from(arr), comparator) : uniq(Array.from(arr));
2102
+ return typeof comparator === 'function' ? zip$1.uniqWith(Array.from(arr), comparator) : uniq(Array.from(arr));
1927
2103
  }
1928
2104
 
1929
2105
  function unzip(array) {
@@ -1932,21 +2108,21 @@ function unzip(array) {
1932
2108
  }
1933
2109
  array = isArray(array) ? array : Array.from(array);
1934
2110
  array = array.filter(item => isArrayLikeObject(item));
1935
- return zipWith.unzip(array);
2111
+ return zip$1.unzip(array);
1936
2112
  }
1937
2113
 
1938
2114
  function without(array, ...values) {
1939
2115
  if (!isArrayLikeObject(array)) {
1940
2116
  return [];
1941
2117
  }
1942
- return zipWith.without(Array.from(array), ...values);
2118
+ return zip$1.without(Array.from(array), ...values);
1943
2119
  }
1944
2120
 
1945
2121
  function zip(...arrays) {
1946
2122
  if (!arrays.length) {
1947
2123
  return [];
1948
2124
  }
1949
- return zipWith.zip(...arrays.filter(group => isArrayLikeObject(group)));
2125
+ return zip$1.zip(...arrays.filter(group => isArrayLikeObject(group)));
1950
2126
  }
1951
2127
 
1952
2128
  const assignValue = (object, key, value) => {
@@ -1956,6 +2132,14 @@ const assignValue = (object, key, value) => {
1956
2132
  }
1957
2133
  };
1958
2134
 
2135
+ function zipObject(keys = [], values = []) {
2136
+ const result = {};
2137
+ for (let i = 0; i < keys.length; i++) {
2138
+ assignValue(result, keys[i], values[i]);
2139
+ }
2140
+ return result;
2141
+ }
2142
+
1959
2143
  function updateWith(obj, path, updater, customizer) {
1960
2144
  if (obj == null && !isObject(obj)) {
1961
2145
  return obj;
@@ -2004,7 +2188,7 @@ function zipObjectDeep(keys, values) {
2004
2188
  if (!isArrayLike(values)) {
2005
2189
  values = [];
2006
2190
  }
2007
- const zipped = zipWith.zip(Array.from(keys), Array.from(values));
2191
+ const zipped = zip$1.zip(Array.from(keys), Array.from(values));
2008
2192
  for (let i = 0; i < zipped.length; i++) {
2009
2193
  const [key, value] = zipped[i];
2010
2194
  if (key != null) {
@@ -2014,11 +2198,27 @@ function zipObjectDeep(keys, values) {
2014
2198
  return result;
2015
2199
  }
2016
2200
 
2201
+ function zipWith(...combine) {
2202
+ let iteratee = combine.pop();
2203
+ if (!isPromise.isFunction(iteratee)) {
2204
+ combine.push(iteratee);
2205
+ iteratee = undefined;
2206
+ }
2207
+ if (!combine?.length) {
2208
+ return [];
2209
+ }
2210
+ const result = unzip(combine);
2211
+ if (iteratee == null) {
2212
+ return result;
2213
+ }
2214
+ return result.map(group => iteratee(...group));
2215
+ }
2216
+
2017
2217
  function after(n, func) {
2018
2218
  if (typeof func !== 'function') {
2019
2219
  throw new TypeError('Expected a function');
2020
2220
  }
2021
- n = zipWith.toInteger(n);
2221
+ n = zip$1.toInteger(n);
2022
2222
  return function (...args) {
2023
2223
  if (--n < 1) {
2024
2224
  return func.apply(this, args);
@@ -2050,7 +2250,7 @@ function before(n, func) {
2050
2250
  throw new TypeError('Expected a function');
2051
2251
  }
2052
2252
  let result;
2053
- n = zipWith.toInteger(n);
2253
+ n = zip$1.toInteger(n);
2054
2254
  return function (...args) {
2055
2255
  if (--n > 0) {
2056
2256
  result = func.apply(this, args);
@@ -2289,7 +2489,7 @@ function delay(func, wait, ...args) {
2289
2489
  if (typeof func !== 'function') {
2290
2490
  throw new TypeError('Expected a function');
2291
2491
  }
2292
- return setTimeout(func, zipWith.toNumber(wait) || 0, ...args);
2492
+ return setTimeout(func, zip$1.toNumber(wait) || 0, ...args);
2293
2493
  }
2294
2494
 
2295
2495
  function flip(func) {
@@ -2299,7 +2499,7 @@ function flip(func) {
2299
2499
  }
2300
2500
 
2301
2501
  function flow(...funcs) {
2302
- const flattenFuncs = zipWith.flatten(funcs, 1);
2502
+ const flattenFuncs = zip$1.flatten(funcs, 1);
2303
2503
  if (flattenFuncs.some(func => typeof func !== 'function')) {
2304
2504
  throw new TypeError('Expected a function');
2305
2505
  }
@@ -2307,7 +2507,7 @@ function flow(...funcs) {
2307
2507
  }
2308
2508
 
2309
2509
  function flowRight(...funcs) {
2310
- const flattenFuncs = zipWith.flatten(funcs, 1);
2510
+ const flattenFuncs = zip$1.flatten(funcs, 1);
2311
2511
  if (flattenFuncs.some(func => typeof func !== 'function')) {
2312
2512
  throw new TypeError('Expected a function');
2313
2513
  }
@@ -2316,7 +2516,7 @@ function flowRight(...funcs) {
2316
2516
 
2317
2517
  function nthArg(n = 0) {
2318
2518
  return function (...args) {
2319
- return args.at(zipWith.toInteger(n));
2519
+ return args.at(zip$1.toInteger(n));
2320
2520
  };
2321
2521
  }
2322
2522
 
@@ -2403,8 +2603,8 @@ function add(value, other) {
2403
2603
  other = toString(other);
2404
2604
  }
2405
2605
  else {
2406
- value = zipWith.toNumber(value);
2407
- other = zipWith.toNumber(other);
2606
+ value = zip$1.toNumber(value);
2607
+ other = zip$1.toNumber(other);
2408
2608
  }
2409
2609
  return value + other;
2410
2610
  }
@@ -2453,8 +2653,8 @@ function divide(value, other) {
2453
2653
  other = toString(other);
2454
2654
  }
2455
2655
  else {
2456
- value = zipWith.toNumber(value);
2457
- other = zipWith.toNumber(other);
2656
+ value = zip$1.toNumber(value);
2657
+ other = zip$1.toNumber(other);
2458
2658
  }
2459
2659
  return value / other;
2460
2660
  }
@@ -2505,7 +2705,7 @@ function maxBy(items, iteratee$1) {
2505
2705
  if (items == null) {
2506
2706
  return undefined;
2507
2707
  }
2508
- return zipWith.maxBy(Array.from(items), iteratee(iteratee$1));
2708
+ return zip$1.maxBy(Array.from(items), iteratee(iteratee$1));
2509
2709
  }
2510
2710
 
2511
2711
  function sumBy(array, iteratee$1) {
@@ -2563,7 +2763,7 @@ function minBy(items, iteratee$1) {
2563
2763
  if (items == null) {
2564
2764
  return undefined;
2565
2765
  }
2566
- return zipWith.minBy(Array.from(items), iteratee(iteratee$1));
2766
+ return zip$1.minBy(Array.from(items), iteratee(iteratee$1));
2567
2767
  }
2568
2768
 
2569
2769
  function multiply(value, other) {
@@ -2578,8 +2778,8 @@ function multiply(value, other) {
2578
2778
  other = toString(other);
2579
2779
  }
2580
2780
  else {
2581
- value = zipWith.toNumber(value);
2582
- other = zipWith.toNumber(other);
2781
+ value = zip$1.toNumber(value);
2782
+ other = zip$1.toNumber(other);
2583
2783
  }
2584
2784
  return value * other;
2585
2785
  }
@@ -2660,15 +2860,15 @@ function range(start, end, step) {
2660
2860
  if (step && typeof step !== 'number' && isIterateeCall(start, end, step)) {
2661
2861
  end = step = undefined;
2662
2862
  }
2663
- start = zipWith.toFinite(start);
2863
+ start = zip$1.toFinite(start);
2664
2864
  if (end === undefined) {
2665
2865
  end = start;
2666
2866
  start = 0;
2667
2867
  }
2668
2868
  else {
2669
- end = zipWith.toFinite(end);
2869
+ end = zip$1.toFinite(end);
2670
2870
  }
2671
- step = step === undefined ? (start < end ? 1 : -1) : zipWith.toFinite(step);
2871
+ step = step === undefined ? (start < end ? 1 : -1) : zip$1.toFinite(step);
2672
2872
  const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);
2673
2873
  const result = new Array(length);
2674
2874
  for (let index = 0; index < length; index++) {
@@ -2682,15 +2882,15 @@ function rangeRight(start, end, step) {
2682
2882
  if (step && typeof step !== 'number' && isIterateeCall(start, end, step)) {
2683
2883
  end = step = undefined;
2684
2884
  }
2685
- start = zipWith.toFinite(start);
2885
+ start = zip$1.toFinite(start);
2686
2886
  if (end === undefined) {
2687
2887
  end = start;
2688
2888
  start = 0;
2689
2889
  }
2690
2890
  else {
2691
- end = zipWith.toFinite(end);
2891
+ end = zip$1.toFinite(end);
2692
2892
  }
2693
- step = step === undefined ? (start < end ? 1 : -1) : zipWith.toFinite(step);
2893
+ step = step === undefined ? (start < end ? 1 : -1) : zip$1.toFinite(step);
2694
2894
  const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);
2695
2895
  const result = new Array(length);
2696
2896
  for (let index = length - 1; index >= 0; index--) {
@@ -2716,8 +2916,8 @@ function subtract(value, other) {
2716
2916
  other = toString(other);
2717
2917
  }
2718
2918
  else {
2719
- value = zipWith.toNumber(value);
2720
- other = zipWith.toNumber(other);
2919
+ value = zip$1.toNumber(value);
2920
+ other = zip$1.toNumber(other);
2721
2921
  }
2722
2922
  return value - other;
2723
2923
  }
@@ -2733,7 +2933,7 @@ function isTypedArray(x) {
2733
2933
  }
2734
2934
 
2735
2935
  function times(n, getValue) {
2736
- n = zipWith.toInteger(n);
2936
+ n = zip$1.toInteger(n);
2737
2937
  if (n < 1 || !Number.isSafeInteger(n)) {
2738
2938
  return [];
2739
2939
  }
@@ -2958,6 +3158,67 @@ function findKeyImpl(obj, predicate) {
2958
3158
  }
2959
3159
  }
2960
3160
 
3161
+ function forIn(object, iteratee = unary.identity) {
3162
+ if (object == null) {
3163
+ return object;
3164
+ }
3165
+ for (const key in object) {
3166
+ const result = iteratee(object[key], key, object);
3167
+ if (result === false) {
3168
+ break;
3169
+ }
3170
+ }
3171
+ return object;
3172
+ }
3173
+
3174
+ function forInRight(object, iteratee = unary.identity) {
3175
+ if (object == null) {
3176
+ return object;
3177
+ }
3178
+ const keys = [];
3179
+ for (const key in object) {
3180
+ keys.push(key);
3181
+ }
3182
+ for (let i = keys.length - 1; i >= 0; i--) {
3183
+ const key = keys[i];
3184
+ const result = iteratee(object[key], key, object);
3185
+ if (result === false) {
3186
+ break;
3187
+ }
3188
+ }
3189
+ return object;
3190
+ }
3191
+
3192
+ function forOwn(object, iteratee = unary.identity) {
3193
+ if (object == null) {
3194
+ return object;
3195
+ }
3196
+ const iterable = Object(object);
3197
+ const keys$1 = keys(object);
3198
+ for (let i = 0; i < keys$1.length; ++i) {
3199
+ const key = keys$1[i];
3200
+ if (iteratee(iterable[key], key, iterable) === false) {
3201
+ break;
3202
+ }
3203
+ }
3204
+ return object;
3205
+ }
3206
+
3207
+ function forOwnRight(object, iteratee = unary.identity) {
3208
+ if (object == null) {
3209
+ return object;
3210
+ }
3211
+ const iterable = Object(object);
3212
+ const keys$1 = keys(object);
3213
+ for (let i = keys$1.length - 1; i >= 0; --i) {
3214
+ const key = keys$1[i];
3215
+ if (iteratee(iterable[key], key, iterable) === false) {
3216
+ break;
3217
+ }
3218
+ }
3219
+ return object;
3220
+ }
3221
+
2961
3222
  function fromPairs(pairs) {
2962
3223
  if (!isArrayLike(pairs) && !(pairs instanceof Map)) {
2963
3224
  return {};
@@ -2989,6 +3250,34 @@ function functionsIn(object) {
2989
3250
  return result;
2990
3251
  }
2991
3252
 
3253
+ function hasIn(object, path) {
3254
+ let resolvedPath;
3255
+ if (Array.isArray(path)) {
3256
+ resolvedPath = path;
3257
+ }
3258
+ else if (typeof path === 'string' && isDeepKey(path) && object?.[path] == null) {
3259
+ resolvedPath = toPath(path);
3260
+ }
3261
+ else {
3262
+ resolvedPath = [path];
3263
+ }
3264
+ if (resolvedPath.length === 0) {
3265
+ return false;
3266
+ }
3267
+ let current = object;
3268
+ for (let i = 0; i < resolvedPath.length; i++) {
3269
+ const key = resolvedPath[i];
3270
+ if (current == null || !(key in Object(current))) {
3271
+ const isSparseIndex = (Array.isArray(current) || isArguments(current)) && isIndex(key) && key < current.length;
3272
+ if (!isSparseIndex) {
3273
+ return false;
3274
+ }
3275
+ }
3276
+ current = current[key];
3277
+ }
3278
+ return true;
3279
+ }
3280
+
2992
3281
  function invertBy(object, iteratee) {
2993
3282
  const result = {};
2994
3283
  if (isPromise.isNil(object)) {
@@ -3152,68 +3441,6 @@ function merge(object, ...sources) {
3152
3441
  return mergeWith(object, ...sources, noop.noop);
3153
3442
  }
3154
3443
 
3155
- function unset(obj, path) {
3156
- if (obj == null) {
3157
- return true;
3158
- }
3159
- switch (typeof path) {
3160
- case 'symbol':
3161
- case 'number':
3162
- case 'object': {
3163
- if (Array.isArray(path)) {
3164
- return unsetWithPath(obj, path);
3165
- }
3166
- if (typeof path === 'number') {
3167
- path = toKey(path);
3168
- }
3169
- else if (typeof path === 'object') {
3170
- if (Object.is(path?.valueOf(), -0)) {
3171
- path = '-0';
3172
- }
3173
- else {
3174
- path = String(path);
3175
- }
3176
- }
3177
- if (obj?.[path] === undefined) {
3178
- return true;
3179
- }
3180
- try {
3181
- delete obj[path];
3182
- return true;
3183
- }
3184
- catch {
3185
- return false;
3186
- }
3187
- }
3188
- case 'string': {
3189
- if (obj?.[path] === undefined && isDeepKey(path)) {
3190
- return unsetWithPath(obj, toPath(path));
3191
- }
3192
- try {
3193
- delete obj[path];
3194
- return true;
3195
- }
3196
- catch {
3197
- return false;
3198
- }
3199
- }
3200
- }
3201
- }
3202
- function unsetWithPath(obj, path) {
3203
- const parent = get(obj, path.slice(0, -1), obj);
3204
- const lastKey = path[path.length - 1];
3205
- if (parent?.[lastKey] === undefined) {
3206
- return true;
3207
- }
3208
- try {
3209
- delete parent[lastKey];
3210
- return true;
3211
- }
3212
- catch {
3213
- return false;
3214
- }
3215
- }
3216
-
3217
3444
  function omit(obj, ...keysArr) {
3218
3445
  if (obj == null) {
3219
3446
  return {};
@@ -3304,7 +3531,7 @@ function pickBy(obj, shouldPick) {
3304
3531
  }
3305
3532
  const keys = isArrayLike(obj) ? range$1.range(0, obj.length) : [...keysIn(obj), ...getSymbolsIn(obj)];
3306
3533
  for (let i = 0; i < keys.length; i++) {
3307
- const key = (zipWith.isSymbol(keys[i]) ? keys[i] : keys[i].toString());
3534
+ const key = (zip$1.isSymbol(keys[i]) ? keys[i] : keys[i].toString());
3308
3535
  const value = obj[key];
3309
3536
  if (shouldPick(value, key, obj)) {
3310
3537
  result[key] = value;
@@ -3579,7 +3806,7 @@ function repeat(str, n, guard) {
3579
3806
  n = 1;
3580
3807
  }
3581
3808
  else {
3582
- n = zipWith.toInteger(n);
3809
+ n = zip$1.toInteger(n);
3583
3810
  }
3584
3811
  return toString(str).repeat(n);
3585
3812
  }
@@ -3595,6 +3822,10 @@ function snakeCase(str) {
3595
3822
  return reverseString.snakeCase(normalizeForCase(str));
3596
3823
  }
3597
3824
 
3825
+ function split(string = '', separator, limit) {
3826
+ return toString(string).split(separator, limit);
3827
+ }
3828
+
3598
3829
  function startCase(str) {
3599
3830
  const words = reverseString.words(normalizeForCase(str).trim());
3600
3831
  let result = '';
@@ -3827,14 +4058,14 @@ function gt(value, other) {
3827
4058
  if (typeof value === 'string' && typeof other === 'string') {
3828
4059
  return value > other;
3829
4060
  }
3830
- return zipWith.toNumber(value) > zipWith.toNumber(other);
4061
+ return zip$1.toNumber(value) > zip$1.toNumber(other);
3831
4062
  }
3832
4063
 
3833
4064
  function gte(value, other) {
3834
4065
  if (typeof value === 'string' && typeof other === 'string') {
3835
4066
  return value >= other;
3836
4067
  }
3837
- return zipWith.toNumber(value) >= zipWith.toNumber(other);
4068
+ return zip$1.toNumber(value) >= zip$1.toNumber(other);
3838
4069
  }
3839
4070
 
3840
4071
  function invoke(object, path, args = []) {
@@ -3883,14 +4114,14 @@ function lt(value, other) {
3883
4114
  if (typeof value === 'string' && typeof other === 'string') {
3884
4115
  return value < other;
3885
4116
  }
3886
- return zipWith.toNumber(value) < zipWith.toNumber(other);
4117
+ return zip$1.toNumber(value) < zip$1.toNumber(other);
3887
4118
  }
3888
4119
 
3889
4120
  function lte(value, other) {
3890
4121
  if (typeof value === 'string' && typeof other === 'string') {
3891
4122
  return value <= other;
3892
4123
  }
3893
- return zipWith.toNumber(value) <= zipWith.toNumber(other);
4124
+ return zip$1.toNumber(value) <= zip$1.toNumber(other);
3894
4125
  }
3895
4126
 
3896
4127
  function method(path, ...args) {
@@ -3919,6 +4150,46 @@ function over(...iteratees) {
3919
4150
  };
3920
4151
  }
3921
4152
 
4153
+ function overEvery(...predicates) {
4154
+ return function (...values) {
4155
+ for (let i = 0; i < predicates.length; ++i) {
4156
+ const predicate = predicates[i];
4157
+ if (!Array.isArray(predicate)) {
4158
+ if (!iteratee(predicate).apply(this, values)) {
4159
+ return false;
4160
+ }
4161
+ continue;
4162
+ }
4163
+ for (let j = 0; j < predicate.length; ++j) {
4164
+ if (!iteratee(predicate[j]).apply(this, values)) {
4165
+ return false;
4166
+ }
4167
+ }
4168
+ }
4169
+ return true;
4170
+ };
4171
+ }
4172
+
4173
+ function overSome(...predicates) {
4174
+ return function (...values) {
4175
+ for (let i = 0; i < predicates.length; ++i) {
4176
+ const predicate = predicates[i];
4177
+ if (!Array.isArray(predicate)) {
4178
+ if (iteratee(predicate).apply(this, values)) {
4179
+ return true;
4180
+ }
4181
+ continue;
4182
+ }
4183
+ for (let j = 0; j < predicate.length; ++j) {
4184
+ if (iteratee(predicate[j]).apply(this, values)) {
4185
+ return true;
4186
+ }
4187
+ }
4188
+ }
4189
+ return false;
4190
+ };
4191
+ }
4192
+
3922
4193
  function stubArray() {
3923
4194
  return [];
3924
4195
  }
@@ -3989,7 +4260,7 @@ function toSafeInteger(value) {
3989
4260
  if (value == null) {
3990
4261
  return 0;
3991
4262
  }
3992
- return clamp(zipWith.toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);
4263
+ return clamp(zip$1.toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);
3993
4264
  }
3994
4265
 
3995
4266
  let idCounter = 0;
@@ -4012,7 +4283,7 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4012
4283
  assignInWith,
4013
4284
  assignWith,
4014
4285
  asyncNoop: unary.asyncNoop,
4015
- at: zipWith.at,
4286
+ at,
4016
4287
  attempt,
4017
4288
  attemptAsync: invariant.attemptAsync,
4018
4289
  before,
@@ -4034,7 +4305,7 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4034
4305
  conformsTo,
4035
4306
  constant,
4036
4307
  constantCase: reverseString.constantCase,
4037
- countBy: zipWith.countBy,
4308
+ countBy: zip$1.countBy,
4038
4309
  create,
4039
4310
  curry,
4040
4311
  curryRight,
@@ -4069,8 +4340,8 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4069
4340
  findLast,
4070
4341
  findLastIndex,
4071
4342
  first: head,
4072
- flatMap: zipWith.flatMap,
4073
- flatMapDeep: zipWith.flatMapDeep,
4343
+ flatMap,
4344
+ flatMapDeep: zip$1.flatMapDeep,
4074
4345
  flatten,
4075
4346
  flattenDeep,
4076
4347
  flattenDepth,
@@ -4081,6 +4352,10 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4081
4352
  flowRight,
4082
4353
  forEach,
4083
4354
  forEachRight,
4355
+ forIn,
4356
+ forInRight,
4357
+ forOwn,
4358
+ forOwnRight,
4084
4359
  fromPairs,
4085
4360
  functions,
4086
4361
  functionsIn,
@@ -4089,12 +4364,13 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4089
4364
  gt,
4090
4365
  gte,
4091
4366
  has,
4367
+ hasIn,
4092
4368
  head,
4093
4369
  identity: unary.identity,
4094
4370
  inRange,
4095
4371
  includes,
4096
4372
  indexOf,
4097
- initial: zipWith.initial,
4373
+ initial: zip$1.initial,
4098
4374
  intersection,
4099
4375
  intersectionBy,
4100
4376
  intersectionWith,
@@ -4143,9 +4419,9 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4143
4419
  isSafeInteger,
4144
4420
  isSet,
4145
4421
  isString,
4146
- isSubset: zipWith.isSubset,
4147
- isSubsetWith: zipWith.isSubsetWith,
4148
- isSymbol: zipWith.isSymbol,
4422
+ isSubset: zip$1.isSubset,
4423
+ isSubsetWith: zip$1.isSubsetWith,
4424
+ isSymbol: zip$1.isSymbol,
4149
4425
  isTypedArray,
4150
4426
  isUndefined: isPromise.isUndefined,
4151
4427
  isWeakMap,
@@ -4153,7 +4429,7 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4153
4429
  iteratee,
4154
4430
  join,
4155
4431
  kebabCase,
4156
- keyBy: zipWith.keyBy,
4432
+ keyBy: zip$1.keyBy,
4157
4433
  keys,
4158
4434
  keysIn,
4159
4435
  last,
@@ -4191,13 +4467,15 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4191
4467
  once: unary.once,
4192
4468
  orderBy,
4193
4469
  over,
4470
+ overEvery,
4471
+ overSome,
4194
4472
  pad,
4195
4473
  padEnd,
4196
4474
  padStart,
4197
4475
  parseInt,
4198
4476
  partial,
4199
4477
  partialRight,
4200
- partition: zipWith.partition,
4478
+ partition,
4201
4479
  pascalCase: reverseString.pascalCase,
4202
4480
  pick,
4203
4481
  pickBy,
@@ -4206,7 +4484,8 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4206
4484
  pull,
4207
4485
  pullAll,
4208
4486
  pullAllBy,
4209
- pullAt: zipWith.pullAt,
4487
+ pullAllWith,
4488
+ pullAt,
4210
4489
  random,
4211
4490
  randomInt: randomInt.randomInt,
4212
4491
  range,
@@ -4224,9 +4503,9 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4224
4503
  reverseString: reverseString.reverseString,
4225
4504
  round,
4226
4505
  sample,
4227
- sampleSize: zipWith.sampleSize,
4506
+ sampleSize: zip$1.sampleSize,
4228
4507
  set,
4229
- shuffle: zipWith.shuffle,
4508
+ shuffle: zip$1.shuffle,
4230
4509
  size,
4231
4510
  slice,
4232
4511
  snakeCase,
@@ -4237,6 +4516,7 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4237
4516
  sortedIndexOf,
4238
4517
  sortedLastIndex,
4239
4518
  sortedLastIndexBy,
4519
+ split,
4240
4520
  spread,
4241
4521
  startCase,
4242
4522
  startsWith,
@@ -4261,13 +4541,13 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4261
4541
  toArray,
4262
4542
  toCamelCaseKeys,
4263
4543
  toDefaulted,
4264
- toFilled: zipWith.toFilled,
4265
- toFinite: zipWith.toFinite,
4266
- toInteger: zipWith.toInteger,
4544
+ toFilled: zip$1.toFilled,
4545
+ toFinite: zip$1.toFinite,
4546
+ toInteger: zip$1.toInteger,
4267
4547
  toLength,
4268
4548
  toLower,
4269
4549
  toMerged,
4270
- toNumber: zipWith.toNumber,
4550
+ toNumber: zip$1.toNumber,
4271
4551
  toPairs,
4272
4552
  toPairsIn,
4273
4553
  toPath,
@@ -4290,24 +4570,24 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4290
4570
  uniqueId,
4291
4571
  unset,
4292
4572
  unzip,
4293
- unzipWith: zipWith.unzipWith,
4573
+ unzipWith: zip$1.unzipWith,
4294
4574
  update,
4295
4575
  updateWith,
4296
4576
  upperCase,
4297
4577
  upperFirst,
4298
4578
  values,
4299
4579
  valuesIn,
4300
- windowed: zipWith.windowed,
4580
+ windowed: zip$1.windowed,
4301
4581
  withTimeout: promise_index.withTimeout,
4302
4582
  without,
4303
4583
  words,
4304
- xor: zipWith.xor,
4305
- xorBy: zipWith.xorBy,
4306
- xorWith: zipWith.xorWith,
4584
+ xor: zip$1.xor,
4585
+ xorBy: zip$1.xorBy,
4586
+ xorWith: zip$1.xorWith,
4307
4587
  zip,
4308
- zipObject: zipWith.zipObject,
4588
+ zipObject,
4309
4589
  zipObjectDeep,
4310
- zipWith: zipWith.zipWith
4590
+ zipWith
4311
4591
  }, Symbol.toStringTag, { value: 'Module' }));
4312
4592
 
4313
4593
  const toolkit = ((value) => {
@@ -4364,6 +4644,7 @@ exports.assign = assign;
4364
4644
  exports.assignIn = assignIn;
4365
4645
  exports.assignInWith = assignInWith;
4366
4646
  exports.assignWith = assignWith;
4647
+ exports.at = at;
4367
4648
  exports.attempt = attempt;
4368
4649
  exports.before = before;
4369
4650
  exports.bind = bind;
@@ -4413,6 +4694,7 @@ exports.findKey = findKey$1;
4413
4694
  exports.findKey$1 = findKey;
4414
4695
  exports.findLast = findLast;
4415
4696
  exports.findLastIndex = findLastIndex;
4697
+ exports.flatMap = flatMap;
4416
4698
  exports.flatten = flatten;
4417
4699
  exports.flattenDeep = flattenDeep;
4418
4700
  exports.flattenDepth = flattenDepth;
@@ -4423,6 +4705,10 @@ exports.flow = flow;
4423
4705
  exports.flowRight = flowRight;
4424
4706
  exports.forEach = forEach;
4425
4707
  exports.forEachRight = forEachRight;
4708
+ exports.forIn = forIn;
4709
+ exports.forInRight = forInRight;
4710
+ exports.forOwn = forOwn;
4711
+ exports.forOwnRight = forOwnRight;
4426
4712
  exports.fromPairs = fromPairs;
4427
4713
  exports.functions = functions;
4428
4714
  exports.functionsIn = functionsIn;
@@ -4431,6 +4717,7 @@ exports.groupBy = groupBy;
4431
4717
  exports.gt = gt;
4432
4718
  exports.gte = gte;
4433
4719
  exports.has = has;
4720
+ exports.hasIn = hasIn;
4434
4721
  exports.head = head;
4435
4722
  exports.inRange = inRange;
4436
4723
  exports.includes = includes;
@@ -4508,12 +4795,15 @@ exports.omit = omit;
4508
4795
  exports.omitBy = omitBy;
4509
4796
  exports.orderBy = orderBy;
4510
4797
  exports.over = over;
4798
+ exports.overEvery = overEvery;
4799
+ exports.overSome = overSome;
4511
4800
  exports.pad = pad;
4512
4801
  exports.padEnd = padEnd;
4513
4802
  exports.padStart = padStart;
4514
4803
  exports.parseInt = parseInt;
4515
4804
  exports.partial = partial;
4516
4805
  exports.partialRight = partialRight;
4806
+ exports.partition = partition;
4517
4807
  exports.pick = pick;
4518
4808
  exports.pickBy = pickBy;
4519
4809
  exports.property = property;
@@ -4521,6 +4811,8 @@ exports.propertyOf = propertyOf;
4521
4811
  exports.pull = pull;
4522
4812
  exports.pullAll = pullAll;
4523
4813
  exports.pullAllBy = pullAllBy;
4814
+ exports.pullAllWith = pullAllWith;
4815
+ exports.pullAt = pullAt;
4524
4816
  exports.random = random;
4525
4817
  exports.range = range;
4526
4818
  exports.rangeRight = rangeRight;
@@ -4546,6 +4838,7 @@ exports.sortedIndexBy = sortedIndexBy;
4546
4838
  exports.sortedIndexOf = sortedIndexOf;
4547
4839
  exports.sortedLastIndex = sortedLastIndex;
4548
4840
  exports.sortedLastIndexBy = sortedLastIndexBy;
4841
+ exports.split = split;
4549
4842
  exports.spread = spread;
4550
4843
  exports.startCase = startCase;
4551
4844
  exports.startsWith = startsWith;
@@ -4603,4 +4896,6 @@ exports.valuesIn = valuesIn;
4603
4896
  exports.without = without;
4604
4897
  exports.words = words;
4605
4898
  exports.zip = zip;
4899
+ exports.zipObject = zipObject;
4606
4900
  exports.zipObjectDeep = zipObjectDeep;
4901
+ exports.zipWith = zipWith;