es-toolkit 1.48.1-dev.1889 → 1.48.1-dev.1894
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/array/chunkBy.d.mts +32 -0
- package/dist/array/chunkBy.d.ts +32 -0
- package/dist/array/chunkBy.js +42 -0
- package/dist/array/chunkBy.mjs +42 -0
- package/dist/array/index.d.mts +2 -1
- package/dist/array/index.d.ts +2 -1
- package/dist/array/index.js +2 -0
- package/dist/array/index.mjs +2 -1
- package/dist/array/take.d.mts +1 -7
- package/dist/array/take.d.ts +1 -7
- package/dist/array/take.js +1 -9
- package/dist/array/take.mjs +1 -9
- package/dist/array/takeRight.d.mts +2 -2
- package/dist/array/takeRight.d.ts +2 -2
- package/dist/array/takeRight.js +2 -4
- package/dist/array/takeRight.mjs +2 -4
- package/dist/array/windowed.d.mts +1 -1
- package/dist/array/windowed.d.ts +1 -1
- package/dist/browser.global.js +3 -3
- package/dist/compat/array/drop.js +1 -1
- package/dist/compat/array/drop.mjs +1 -1
- package/dist/compat/array/dropRight.js +1 -1
- package/dist/compat/array/dropRight.mjs +1 -1
- package/dist/compat/array/findLast.js +1 -1
- package/dist/compat/array/findLast.mjs +1 -1
- package/dist/compat/array/includes.js +1 -1
- package/dist/compat/array/includes.mjs +1 -1
- package/dist/compat/array/nth.js +1 -1
- package/dist/compat/array/nth.mjs +1 -1
- package/dist/compat/array/slice.js +1 -1
- package/dist/compat/array/slice.mjs +1 -1
- package/dist/compat/array/sortedIndexBy.js +1 -1
- package/dist/compat/array/sortedIndexBy.mjs +1 -1
- package/dist/compat/array/take.js +2 -2
- package/dist/compat/array/take.mjs +2 -2
- package/dist/compat/array/takeRight.js +1 -1
- package/dist/compat/array/takeRight.mjs +1 -1
- package/dist/compat/compat.js +4 -4
- package/dist/compat/compat.mjs +4 -4
- package/dist/compat/index.js +4 -4
- package/dist/compat/index.mjs +4 -4
- package/dist/compat/math/add.js +1 -1
- package/dist/compat/math/add.mjs +1 -1
- package/dist/compat/math/divide.js +1 -1
- package/dist/compat/math/divide.mjs +1 -1
- package/dist/compat/math/multiply.js +1 -1
- package/dist/compat/math/multiply.mjs +1 -1
- package/dist/compat/math/subtract.js +1 -1
- package/dist/compat/math/subtract.mjs +1 -1
- package/dist/compat/object/omitBy.js +1 -1
- package/dist/compat/object/omitBy.mjs +1 -1
- package/dist/compat/object/pickBy.js +1 -1
- package/dist/compat/object/pickBy.mjs +1 -1
- package/dist/compat/string/repeat.js +1 -1
- package/dist/compat/string/repeat.mjs +1 -1
- package/dist/fp/_internal/lazy.js +58 -0
- package/dist/fp/_internal/lazy.mjs +57 -0
- package/dist/fp/array/at.d.mts +20 -0
- package/dist/fp/array/at.d.ts +20 -0
- package/dist/fp/array/at.js +25 -0
- package/dist/fp/array/at.mjs +25 -0
- package/dist/fp/array/cartesianProduct.d.mts +61 -0
- package/dist/fp/array/cartesianProduct.d.ts +61 -0
- package/dist/fp/array/cartesianProduct.js +9 -0
- package/dist/fp/array/cartesianProduct.mjs +9 -0
- package/dist/fp/array/chunk.d.mts +19 -0
- package/dist/fp/array/chunk.d.ts +19 -0
- package/dist/fp/array/chunk.js +24 -0
- package/dist/fp/array/chunk.mjs +24 -0
- package/dist/fp/array/chunkBy.d.mts +20 -0
- package/dist/fp/array/chunkBy.d.ts +20 -0
- package/dist/fp/array/chunkBy.js +25 -0
- package/dist/fp/array/chunkBy.mjs +25 -0
- package/dist/fp/array/combinations.d.mts +21 -0
- package/dist/fp/array/combinations.d.ts +21 -0
- package/dist/fp/array/combinations.js +26 -0
- package/dist/fp/array/combinations.mjs +26 -0
- package/dist/fp/array/compact.d.mts +22 -0
- package/dist/fp/array/compact.d.ts +22 -0
- package/dist/fp/array/compact.js +31 -0
- package/dist/fp/array/compact.mjs +30 -0
- package/dist/fp/array/countBy.d.mts +21 -0
- package/dist/fp/array/countBy.d.ts +21 -0
- package/dist/fp/array/countBy.js +26 -0
- package/dist/fp/array/countBy.mjs +26 -0
- package/dist/fp/array/difference.d.mts +21 -0
- package/dist/fp/array/difference.d.ts +21 -0
- package/dist/fp/array/difference.js +32 -0
- package/dist/fp/array/difference.mjs +31 -0
- package/dist/fp/array/differenceBy.d.mts +22 -0
- package/dist/fp/array/differenceBy.d.ts +22 -0
- package/dist/fp/array/differenceBy.js +33 -0
- package/dist/fp/array/differenceBy.mjs +32 -0
- package/dist/fp/array/differenceWith.d.mts +22 -0
- package/dist/fp/array/differenceWith.d.ts +22 -0
- package/dist/fp/array/differenceWith.js +32 -0
- package/dist/fp/array/differenceWith.mjs +31 -0
- package/dist/fp/array/drop.d.mts +20 -0
- package/dist/fp/array/drop.d.ts +20 -0
- package/dist/fp/array/drop.js +31 -0
- package/dist/fp/array/drop.mjs +30 -0
- package/dist/fp/array/dropRight.d.mts +20 -0
- package/dist/fp/array/dropRight.d.ts +20 -0
- package/dist/fp/array/dropRight.js +25 -0
- package/dist/fp/array/dropRight.mjs +25 -0
- package/dist/fp/array/dropRightWhile.d.mts +20 -0
- package/dist/fp/array/dropRightWhile.d.ts +20 -0
- package/dist/fp/array/dropRightWhile.js +25 -0
- package/dist/fp/array/dropRightWhile.mjs +25 -0
- package/dist/fp/array/dropWhile.d.mts +20 -0
- package/dist/fp/array/dropWhile.d.ts +20 -0
- package/dist/fp/array/dropWhile.js +36 -0
- package/dist/fp/array/dropWhile.mjs +36 -0
- package/dist/fp/array/filter.d.mts +45 -0
- package/dist/fp/array/filter.d.ts +45 -0
- package/dist/fp/array/filter.js +13 -0
- package/dist/fp/array/filter.mjs +12 -0
- package/dist/fp/array/find.d.mts +39 -0
- package/dist/fp/array/find.d.ts +39 -0
- package/dist/fp/array/find.js +8 -0
- package/dist/fp/array/find.mjs +8 -0
- package/dist/fp/array/findIndex.d.mts +20 -0
- package/dist/fp/array/findIndex.d.ts +20 -0
- package/dist/fp/array/findIndex.js +24 -0
- package/dist/fp/array/findIndex.mjs +24 -0
- package/dist/fp/array/findLast.d.mts +39 -0
- package/dist/fp/array/findLast.d.ts +39 -0
- package/dist/fp/array/findLast.js +11 -0
- package/dist/fp/array/findLast.mjs +11 -0
- package/dist/fp/array/findLastIndex.d.mts +20 -0
- package/dist/fp/array/findLastIndex.d.ts +20 -0
- package/dist/fp/array/findLastIndex.js +25 -0
- package/dist/fp/array/findLastIndex.mjs +25 -0
- package/dist/fp/array/flatMap.d.mts +28 -0
- package/dist/fp/array/flatMap.d.ts +28 -0
- package/dist/fp/array/flatMap.js +39 -0
- package/dist/fp/array/flatMap.mjs +38 -0
- package/dist/fp/array/flatMapDeep.d.mts +23 -0
- package/dist/fp/array/flatMapDeep.d.ts +23 -0
- package/dist/fp/array/flatMapDeep.js +38 -0
- package/dist/fp/array/flatMapDeep.mjs +37 -0
- package/dist/fp/array/flatten.d.mts +21 -0
- package/dist/fp/array/flatten.d.ts +21 -0
- package/dist/fp/array/flatten.js +39 -0
- package/dist/fp/array/flatten.mjs +38 -0
- package/dist/fp/array/flattenDeep.d.mts +21 -0
- package/dist/fp/array/flattenDeep.d.ts +21 -0
- package/dist/fp/array/flattenDeep.js +36 -0
- package/dist/fp/array/flattenDeep.mjs +35 -0
- package/dist/fp/array/forEach.d.mts +22 -0
- package/dist/fp/array/forEach.d.ts +22 -0
- package/dist/fp/array/forEach.js +33 -0
- package/dist/fp/array/forEach.mjs +32 -0
- package/dist/fp/array/groupBy.d.mts +21 -0
- package/dist/fp/array/groupBy.d.ts +21 -0
- package/dist/fp/array/groupBy.js +26 -0
- package/dist/fp/array/groupBy.mjs +26 -0
- package/dist/fp/array/head.d.mts +35 -0
- package/dist/fp/array/head.d.ts +35 -0
- package/dist/fp/array/head.js +9 -0
- package/dist/fp/array/head.mjs +9 -0
- package/dist/fp/array/index.d.mts +69 -0
- package/dist/fp/array/index.d.ts +69 -0
- package/dist/fp/array/index.js +68 -0
- package/dist/fp/array/index.mjs +68 -0
- package/dist/fp/array/initial.d.mts +19 -0
- package/dist/fp/array/initial.d.ts +19 -0
- package/dist/fp/array/initial.js +24 -0
- package/dist/fp/array/initial.mjs +24 -0
- package/dist/fp/array/intersection.d.mts +21 -0
- package/dist/fp/array/intersection.d.ts +21 -0
- package/dist/fp/array/intersection.js +32 -0
- package/dist/fp/array/intersection.mjs +31 -0
- package/dist/fp/array/intersectionBy.d.mts +22 -0
- package/dist/fp/array/intersectionBy.d.ts +22 -0
- package/dist/fp/array/intersectionBy.js +33 -0
- package/dist/fp/array/intersectionBy.mjs +32 -0
- package/dist/fp/array/intersectionWith.d.mts +22 -0
- package/dist/fp/array/intersectionWith.d.ts +22 -0
- package/dist/fp/array/intersectionWith.js +32 -0
- package/dist/fp/array/intersectionWith.mjs +31 -0
- package/dist/fp/array/isSubset.d.mts +20 -0
- package/dist/fp/array/isSubset.d.ts +20 -0
- package/dist/fp/array/isSubset.js +25 -0
- package/dist/fp/array/isSubset.mjs +25 -0
- package/dist/fp/array/isSubsetWith.d.mts +21 -0
- package/dist/fp/array/isSubsetWith.d.ts +21 -0
- package/dist/fp/array/isSubsetWith.js +26 -0
- package/dist/fp/array/isSubsetWith.mjs +26 -0
- package/dist/fp/array/join.d.mts +20 -0
- package/dist/fp/array/join.d.ts +20 -0
- package/dist/fp/array/join.js +24 -0
- package/dist/fp/array/join.mjs +24 -0
- package/dist/fp/array/keyBy.d.mts +21 -0
- package/dist/fp/array/keyBy.d.ts +21 -0
- package/dist/fp/array/keyBy.js +26 -0
- package/dist/fp/array/keyBy.mjs +26 -0
- package/dist/fp/array/last.d.mts +35 -0
- package/dist/fp/array/last.d.ts +35 -0
- package/dist/fp/array/last.js +9 -0
- package/dist/fp/array/last.mjs +9 -0
- package/dist/fp/array/length.d.mts +18 -0
- package/dist/fp/array/length.d.ts +18 -0
- package/dist/fp/array/length.js +22 -0
- package/dist/fp/array/length.mjs +22 -0
- package/dist/fp/array/map.d.mts +27 -0
- package/dist/fp/array/map.d.ts +27 -0
- package/dist/fp/array/map.js +36 -0
- package/dist/fp/array/map.mjs +35 -0
- package/dist/fp/array/maxBy.d.mts +37 -0
- package/dist/fp/array/maxBy.d.ts +37 -0
- package/dist/fp/array/maxBy.js +9 -0
- package/dist/fp/array/maxBy.mjs +9 -0
- package/dist/fp/array/minBy.d.mts +37 -0
- package/dist/fp/array/minBy.d.ts +37 -0
- package/dist/fp/array/minBy.js +9 -0
- package/dist/fp/array/minBy.mjs +9 -0
- package/dist/fp/array/orderBy.d.mts +21 -0
- package/dist/fp/array/orderBy.d.ts +21 -0
- package/dist/fp/array/orderBy.js +26 -0
- package/dist/fp/array/orderBy.mjs +26 -0
- package/dist/fp/array/partition.d.mts +39 -0
- package/dist/fp/array/partition.d.ts +39 -0
- package/dist/fp/array/partition.js +9 -0
- package/dist/fp/array/partition.mjs +9 -0
- package/dist/fp/array/reverse.d.mts +19 -0
- package/dist/fp/array/reverse.d.ts +19 -0
- package/dist/fp/array/reverse.js +23 -0
- package/dist/fp/array/reverse.mjs +23 -0
- package/dist/fp/array/sample.d.mts +18 -0
- package/dist/fp/array/sample.d.ts +18 -0
- package/dist/fp/array/sample.js +23 -0
- package/dist/fp/array/sample.mjs +23 -0
- package/dist/fp/array/sampleSize.d.mts +20 -0
- package/dist/fp/array/sampleSize.d.ts +20 -0
- package/dist/fp/array/sampleSize.js +25 -0
- package/dist/fp/array/sampleSize.mjs +25 -0
- package/dist/fp/array/shuffle.d.mts +19 -0
- package/dist/fp/array/shuffle.d.ts +19 -0
- package/dist/fp/array/shuffle.js +24 -0
- package/dist/fp/array/shuffle.mjs +24 -0
- package/dist/fp/array/sortBy.d.mts +26 -0
- package/dist/fp/array/sortBy.d.ts +26 -0
- package/dist/fp/array/sortBy.js +31 -0
- package/dist/fp/array/sortBy.mjs +31 -0
- package/dist/fp/array/tail.d.mts +19 -0
- package/dist/fp/array/tail.d.ts +19 -0
- package/dist/fp/array/tail.js +24 -0
- package/dist/fp/array/tail.mjs +24 -0
- package/dist/fp/array/take.d.mts +26 -0
- package/dist/fp/array/take.d.ts +26 -0
- package/dist/fp/array/take.js +39 -0
- package/dist/fp/array/take.mjs +38 -0
- package/dist/fp/array/takeRight.d.mts +20 -0
- package/dist/fp/array/takeRight.d.ts +20 -0
- package/dist/fp/array/takeRight.js +25 -0
- package/dist/fp/array/takeRight.mjs +25 -0
- package/dist/fp/array/takeRightWhile.d.mts +20 -0
- package/dist/fp/array/takeRightWhile.d.ts +20 -0
- package/dist/fp/array/takeRightWhile.js +25 -0
- package/dist/fp/array/takeRightWhile.mjs +25 -0
- package/dist/fp/array/takeWhile.d.mts +21 -0
- package/dist/fp/array/takeWhile.d.ts +21 -0
- package/dist/fp/array/takeWhile.js +32 -0
- package/dist/fp/array/takeWhile.mjs +31 -0
- package/dist/fp/array/toFilled.d.mts +23 -0
- package/dist/fp/array/toFilled.d.ts +23 -0
- package/dist/fp/array/toFilled.js +30 -0
- package/dist/fp/array/toFilled.mjs +30 -0
- package/dist/fp/array/union.d.mts +20 -0
- package/dist/fp/array/union.d.ts +20 -0
- package/dist/fp/array/union.js +25 -0
- package/dist/fp/array/union.mjs +25 -0
- package/dist/fp/array/unionBy.d.mts +22 -0
- package/dist/fp/array/unionBy.d.ts +22 -0
- package/dist/fp/array/unionBy.js +27 -0
- package/dist/fp/array/unionBy.mjs +27 -0
- package/dist/fp/array/unionWith.d.mts +21 -0
- package/dist/fp/array/unionWith.d.ts +21 -0
- package/dist/fp/array/unionWith.js +26 -0
- package/dist/fp/array/unionWith.mjs +26 -0
- package/dist/fp/array/uniq.d.mts +21 -0
- package/dist/fp/array/uniq.d.ts +21 -0
- package/dist/fp/array/uniq.js +36 -0
- package/dist/fp/array/uniq.mjs +36 -0
- package/dist/fp/array/uniqBy.d.mts +21 -0
- package/dist/fp/array/uniqBy.d.ts +21 -0
- package/dist/fp/array/uniqBy.js +38 -0
- package/dist/fp/array/uniqBy.mjs +38 -0
- package/dist/fp/array/uniqWith.d.mts +20 -0
- package/dist/fp/array/uniqWith.d.ts +20 -0
- package/dist/fp/array/uniqWith.js +35 -0
- package/dist/fp/array/uniqWith.mjs +35 -0
- package/dist/fp/array/unzip.d.mts +20 -0
- package/dist/fp/array/unzip.d.ts +20 -0
- package/dist/fp/array/unzip.js +24 -0
- package/dist/fp/array/unzip.mjs +24 -0
- package/dist/fp/array/unzipWith.d.mts +21 -0
- package/dist/fp/array/unzipWith.d.ts +21 -0
- package/dist/fp/array/unzipWith.js +26 -0
- package/dist/fp/array/unzipWith.mjs +26 -0
- package/dist/fp/array/windowed.d.mts +25 -0
- package/dist/fp/array/windowed.d.ts +25 -0
- package/dist/fp/array/windowed.js +50 -0
- package/dist/fp/array/windowed.mjs +50 -0
- package/dist/fp/array/without.d.mts +19 -0
- package/dist/fp/array/without.d.ts +19 -0
- package/dist/fp/array/without.js +30 -0
- package/dist/fp/array/without.mjs +29 -0
- package/dist/fp/array/xor.d.mts +20 -0
- package/dist/fp/array/xor.d.ts +20 -0
- package/dist/fp/array/xor.js +25 -0
- package/dist/fp/array/xor.mjs +25 -0
- package/dist/fp/array/xorBy.d.mts +22 -0
- package/dist/fp/array/xorBy.d.ts +22 -0
- package/dist/fp/array/xorBy.js +27 -0
- package/dist/fp/array/xorBy.mjs +27 -0
- package/dist/fp/array/xorWith.d.mts +21 -0
- package/dist/fp/array/xorWith.d.ts +21 -0
- package/dist/fp/array/xorWith.js +26 -0
- package/dist/fp/array/xorWith.mjs +26 -0
- package/dist/fp/array/zip.d.mts +61 -0
- package/dist/fp/array/zip.d.ts +61 -0
- package/dist/fp/array/zip.js +9 -0
- package/dist/fp/array/zip.mjs +9 -0
- package/dist/fp/array/zipObject.d.mts +21 -0
- package/dist/fp/array/zipObject.d.ts +21 -0
- package/dist/fp/array/zipObject.js +26 -0
- package/dist/fp/array/zipObject.mjs +26 -0
- package/dist/fp/array/zipWith.d.mts +57 -0
- package/dist/fp/array/zipWith.d.ts +57 -0
- package/dist/fp/array/zipWith.js +9 -0
- package/dist/fp/array/zipWith.mjs +9 -0
- package/dist/fp/index.d.mts +75 -0
- package/dist/fp/index.d.ts +75 -0
- package/dist/fp/index.js +150 -0
- package/dist/fp/index.mjs +77 -0
- package/dist/fp/math/add.d.mts +17 -0
- package/dist/fp/math/add.d.ts +17 -0
- package/dist/fp/math/add.js +21 -0
- package/dist/fp/math/add.mjs +21 -0
- package/dist/fp/math/index.d.mts +2 -0
- package/dist/fp/math/index.d.ts +2 -0
- package/dist/fp/math/index.js +2 -0
- package/dist/fp/math/index.mjs +2 -0
- package/dist/fp/math/multiply.d.mts +17 -0
- package/dist/fp/math/multiply.d.ts +17 -0
- package/dist/fp/math/multiply.js +21 -0
- package/dist/fp/math/multiply.mjs +21 -0
- package/dist/fp/object/index.d.mts +2 -0
- package/dist/fp/object/index.d.ts +2 -0
- package/dist/fp/object/index.js +2 -0
- package/dist/fp/object/index.mjs +2 -0
- package/dist/fp/object/omit.d.mts +18 -0
- package/dist/fp/object/omit.d.ts +18 -0
- package/dist/fp/object/omit.js +23 -0
- package/dist/fp/object/omit.mjs +23 -0
- package/dist/fp/object/pick.d.mts +19 -0
- package/dist/fp/object/pick.d.ts +19 -0
- package/dist/fp/object/pick.js +24 -0
- package/dist/fp/object/pick.mjs +24 -0
- package/dist/fp/pipe.d.mts +235 -0
- package/dist/fp/pipe.d.ts +235 -0
- package/dist/fp/pipe.js +116 -0
- package/dist/fp/pipe.mjs +116 -0
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -0
- package/dist/index.mjs +3 -1
- package/dist/predicate/index.d.mts +2 -1
- package/dist/predicate/index.d.ts +2 -1
- package/dist/predicate/index.js +2 -0
- package/dist/predicate/index.mjs +2 -1
- package/dist/predicate/isIterable.d.mts +26 -0
- package/dist/predicate/isIterable.d.ts +26 -0
- package/dist/predicate/isIterable.js +28 -0
- package/dist/predicate/isIterable.mjs +28 -0
- package/fp.d.ts +1 -0
- package/fp.js +1 -0
- package/package.json +22 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
require("./at.js");
|
|
2
|
+
require("./cartesianProduct.js");
|
|
3
|
+
require("./chunk.js");
|
|
4
|
+
require("./chunkBy.js");
|
|
5
|
+
require("./combinations.js");
|
|
6
|
+
require("./compact.js");
|
|
7
|
+
require("./countBy.js");
|
|
8
|
+
require("./difference.js");
|
|
9
|
+
require("./differenceBy.js");
|
|
10
|
+
require("./differenceWith.js");
|
|
11
|
+
require("./drop.js");
|
|
12
|
+
require("./dropRight.js");
|
|
13
|
+
require("./dropRightWhile.js");
|
|
14
|
+
require("./dropWhile.js");
|
|
15
|
+
require("./filter.js");
|
|
16
|
+
require("./find.js");
|
|
17
|
+
require("./findIndex.js");
|
|
18
|
+
require("./findLast.js");
|
|
19
|
+
require("./findLastIndex.js");
|
|
20
|
+
require("./flatMap.js");
|
|
21
|
+
require("./flatMapDeep.js");
|
|
22
|
+
require("./flatten.js");
|
|
23
|
+
require("./flattenDeep.js");
|
|
24
|
+
require("./forEach.js");
|
|
25
|
+
require("./groupBy.js");
|
|
26
|
+
require("./head.js");
|
|
27
|
+
require("./initial.js");
|
|
28
|
+
require("./intersection.js");
|
|
29
|
+
require("./intersectionBy.js");
|
|
30
|
+
require("./intersectionWith.js");
|
|
31
|
+
require("./isSubset.js");
|
|
32
|
+
require("./isSubsetWith.js");
|
|
33
|
+
require("./join.js");
|
|
34
|
+
require("./keyBy.js");
|
|
35
|
+
require("./last.js");
|
|
36
|
+
require("./length.js");
|
|
37
|
+
require("./map.js");
|
|
38
|
+
require("./maxBy.js");
|
|
39
|
+
require("./minBy.js");
|
|
40
|
+
require("./orderBy.js");
|
|
41
|
+
require("./partition.js");
|
|
42
|
+
require("./reverse.js");
|
|
43
|
+
require("./sample.js");
|
|
44
|
+
require("./sampleSize.js");
|
|
45
|
+
require("./shuffle.js");
|
|
46
|
+
require("./sortBy.js");
|
|
47
|
+
require("./tail.js");
|
|
48
|
+
require("./take.js");
|
|
49
|
+
require("./takeRight.js");
|
|
50
|
+
require("./takeRightWhile.js");
|
|
51
|
+
require("./takeWhile.js");
|
|
52
|
+
require("./toFilled.js");
|
|
53
|
+
require("./union.js");
|
|
54
|
+
require("./unionBy.js");
|
|
55
|
+
require("./unionWith.js");
|
|
56
|
+
require("./uniq.js");
|
|
57
|
+
require("./uniqBy.js");
|
|
58
|
+
require("./uniqWith.js");
|
|
59
|
+
require("./unzip.js");
|
|
60
|
+
require("./unzipWith.js");
|
|
61
|
+
require("./windowed.js");
|
|
62
|
+
require("./without.js");
|
|
63
|
+
require("./xor.js");
|
|
64
|
+
require("./xorBy.js");
|
|
65
|
+
require("./xorWith.js");
|
|
66
|
+
require("./zip.js");
|
|
67
|
+
require("./zipObject.js");
|
|
68
|
+
require("./zipWith.js");
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import "./at.mjs";
|
|
2
|
+
import "./cartesianProduct.mjs";
|
|
3
|
+
import "./chunk.mjs";
|
|
4
|
+
import "./chunkBy.mjs";
|
|
5
|
+
import "./combinations.mjs";
|
|
6
|
+
import "./compact.mjs";
|
|
7
|
+
import "./countBy.mjs";
|
|
8
|
+
import "./difference.mjs";
|
|
9
|
+
import "./differenceBy.mjs";
|
|
10
|
+
import "./differenceWith.mjs";
|
|
11
|
+
import "./drop.mjs";
|
|
12
|
+
import "./dropRight.mjs";
|
|
13
|
+
import "./dropRightWhile.mjs";
|
|
14
|
+
import "./dropWhile.mjs";
|
|
15
|
+
import "./filter.mjs";
|
|
16
|
+
import "./find.mjs";
|
|
17
|
+
import "./findIndex.mjs";
|
|
18
|
+
import "./findLast.mjs";
|
|
19
|
+
import "./findLastIndex.mjs";
|
|
20
|
+
import "./flatMap.mjs";
|
|
21
|
+
import "./flatMapDeep.mjs";
|
|
22
|
+
import "./flatten.mjs";
|
|
23
|
+
import "./flattenDeep.mjs";
|
|
24
|
+
import "./forEach.mjs";
|
|
25
|
+
import "./groupBy.mjs";
|
|
26
|
+
import "./head.mjs";
|
|
27
|
+
import "./initial.mjs";
|
|
28
|
+
import "./intersection.mjs";
|
|
29
|
+
import "./intersectionBy.mjs";
|
|
30
|
+
import "./intersectionWith.mjs";
|
|
31
|
+
import "./isSubset.mjs";
|
|
32
|
+
import "./isSubsetWith.mjs";
|
|
33
|
+
import "./join.mjs";
|
|
34
|
+
import "./keyBy.mjs";
|
|
35
|
+
import "./last.mjs";
|
|
36
|
+
import "./length.mjs";
|
|
37
|
+
import "./map.mjs";
|
|
38
|
+
import "./maxBy.mjs";
|
|
39
|
+
import "./minBy.mjs";
|
|
40
|
+
import "./orderBy.mjs";
|
|
41
|
+
import "./partition.mjs";
|
|
42
|
+
import "./reverse.mjs";
|
|
43
|
+
import "./sample.mjs";
|
|
44
|
+
import "./sampleSize.mjs";
|
|
45
|
+
import "./shuffle.mjs";
|
|
46
|
+
import "./sortBy.mjs";
|
|
47
|
+
import "./tail.mjs";
|
|
48
|
+
import "./take.mjs";
|
|
49
|
+
import "./takeRight.mjs";
|
|
50
|
+
import "./takeRightWhile.mjs";
|
|
51
|
+
import "./takeWhile.mjs";
|
|
52
|
+
import "./toFilled.mjs";
|
|
53
|
+
import "./union.mjs";
|
|
54
|
+
import "./unionBy.mjs";
|
|
55
|
+
import "./unionWith.mjs";
|
|
56
|
+
import "./uniq.mjs";
|
|
57
|
+
import "./uniqBy.mjs";
|
|
58
|
+
import "./uniqWith.mjs";
|
|
59
|
+
import "./unzip.mjs";
|
|
60
|
+
import "./unzipWith.mjs";
|
|
61
|
+
import "./windowed.mjs";
|
|
62
|
+
import "./without.mjs";
|
|
63
|
+
import "./xor.mjs";
|
|
64
|
+
import "./xorBy.mjs";
|
|
65
|
+
import "./xorWith.mjs";
|
|
66
|
+
import "./zip.mjs";
|
|
67
|
+
import "./zipObject.mjs";
|
|
68
|
+
import "./zipWith.mjs";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/fp/array/initial.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that returns every element except the last one.
|
|
4
|
+
*
|
|
5
|
+
* The returned function follows the main {@link initial} behavior and always returns a new array.
|
|
6
|
+
* Use it with {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the array.
|
|
9
|
+
* @returns A function that maps a readonly array to its initial elements.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { initial, pipe } from 'es-toolkit/fp';
|
|
13
|
+
*
|
|
14
|
+
* pipe([1, 2, 3], initial());
|
|
15
|
+
* // => [1, 2]
|
|
16
|
+
*/
|
|
17
|
+
declare function initial<T>(): (array: readonly T[]) => T[];
|
|
18
|
+
//#endregion
|
|
19
|
+
export { initial };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/fp/array/initial.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that returns every element except the last one.
|
|
4
|
+
*
|
|
5
|
+
* The returned function follows the main {@link initial} behavior and always returns a new array.
|
|
6
|
+
* Use it with {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the array.
|
|
9
|
+
* @returns A function that maps a readonly array to its initial elements.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { initial, pipe } from 'es-toolkit/fp';
|
|
13
|
+
*
|
|
14
|
+
* pipe([1, 2, 3], initial());
|
|
15
|
+
* // => [1, 2]
|
|
16
|
+
*/
|
|
17
|
+
declare function initial<T>(): (array: readonly T[]) => T[];
|
|
18
|
+
//#endregion
|
|
19
|
+
export { initial };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const require_initial = require("../../array/initial.js");
|
|
2
|
+
//#region src/fp/array/initial.ts
|
|
3
|
+
/**
|
|
4
|
+
* Creates a function that returns every element except the last one.
|
|
5
|
+
*
|
|
6
|
+
* The returned function follows the main {@link initial} behavior and always returns a new array.
|
|
7
|
+
* Use it with {@link pipe}.
|
|
8
|
+
*
|
|
9
|
+
* @template T - The type of elements in the array.
|
|
10
|
+
* @returns A function that maps a readonly array to its initial elements.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { initial, pipe } from 'es-toolkit/fp';
|
|
14
|
+
*
|
|
15
|
+
* pipe([1, 2, 3], initial());
|
|
16
|
+
* // => [1, 2]
|
|
17
|
+
*/
|
|
18
|
+
function initial() {
|
|
19
|
+
return function(array) {
|
|
20
|
+
return require_initial.initial(array);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.initial = initial;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { initial as initial$1 } from "../../array/initial.mjs";
|
|
2
|
+
//#region src/fp/array/initial.ts
|
|
3
|
+
/**
|
|
4
|
+
* Creates a function that returns every element except the last one.
|
|
5
|
+
*
|
|
6
|
+
* The returned function follows the main {@link initial} behavior and always returns a new array.
|
|
7
|
+
* Use it with {@link pipe}.
|
|
8
|
+
*
|
|
9
|
+
* @template T - The type of elements in the array.
|
|
10
|
+
* @returns A function that maps a readonly array to its initial elements.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { initial, pipe } from 'es-toolkit/fp';
|
|
14
|
+
*
|
|
15
|
+
* pipe([1, 2, 3], initial());
|
|
16
|
+
* // => [1, 2]
|
|
17
|
+
*/
|
|
18
|
+
function initial() {
|
|
19
|
+
return function(array) {
|
|
20
|
+
return initial$1(array);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { initial };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/fp/array/intersection.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that keeps values from the piped array that are also present in another array.
|
|
4
|
+
*
|
|
5
|
+
* Equality follows SameValueZero through Set membership, matching the main
|
|
6
|
+
* {@link intersection} implementation. The returned function is lazy-capable
|
|
7
|
+
* inside {@link pipe}.
|
|
8
|
+
*
|
|
9
|
+
* @template T - The type of elements in the arrays.
|
|
10
|
+
* @param secondArray - Values to intersect with the piped array.
|
|
11
|
+
* @returns A function that maps the piped array to its intersection.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import { intersection, pipe } from 'es-toolkit/fp';
|
|
15
|
+
*
|
|
16
|
+
* pipe([1, 2, 3], intersection([2, 4]));
|
|
17
|
+
* // => [2]
|
|
18
|
+
*/
|
|
19
|
+
declare function intersection<T>(secondArray: readonly T[]): (array: readonly T[]) => T[];
|
|
20
|
+
//#endregion
|
|
21
|
+
export { intersection };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/fp/array/intersection.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that keeps values from the piped array that are also present in another array.
|
|
4
|
+
*
|
|
5
|
+
* Equality follows SameValueZero through Set membership, matching the main
|
|
6
|
+
* {@link intersection} implementation. The returned function is lazy-capable
|
|
7
|
+
* inside {@link pipe}.
|
|
8
|
+
*
|
|
9
|
+
* @template T - The type of elements in the arrays.
|
|
10
|
+
* @param secondArray - Values to intersect with the piped array.
|
|
11
|
+
* @returns A function that maps the piped array to its intersection.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import { intersection, pipe } from 'es-toolkit/fp';
|
|
15
|
+
*
|
|
16
|
+
* pipe([1, 2, 3], intersection([2, 4]));
|
|
17
|
+
* // => [2]
|
|
18
|
+
*/
|
|
19
|
+
declare function intersection<T>(secondArray: readonly T[]): (array: readonly T[]) => T[];
|
|
20
|
+
//#endregion
|
|
21
|
+
export { intersection };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const require_intersection = require("../../array/intersection.js");
|
|
2
|
+
const require_lazy = require("../_internal/lazy.js");
|
|
3
|
+
//#region src/fp/array/intersection.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function that keeps values from the piped array that are also present in another array.
|
|
6
|
+
*
|
|
7
|
+
* Equality follows SameValueZero through Set membership, matching the main
|
|
8
|
+
* {@link intersection} implementation. The returned function is lazy-capable
|
|
9
|
+
* inside {@link pipe}.
|
|
10
|
+
*
|
|
11
|
+
* @template T - The type of elements in the arrays.
|
|
12
|
+
* @param secondArray - Values to intersect with the piped array.
|
|
13
|
+
* @returns A function that maps the piped array to its intersection.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* import { intersection, pipe } from 'es-toolkit/fp';
|
|
17
|
+
*
|
|
18
|
+
* pipe([1, 2, 3], intersection([2, 4]));
|
|
19
|
+
* // => [2]
|
|
20
|
+
*/
|
|
21
|
+
function intersection(secondArray) {
|
|
22
|
+
const secondSet = new Set(secondArray);
|
|
23
|
+
function intersectionEager(array) {
|
|
24
|
+
return require_intersection.intersection(array, secondArray);
|
|
25
|
+
}
|
|
26
|
+
const intersectionLazy = require_lazy.createLazyFunction((value, _index, emit) => {
|
|
27
|
+
if (secondSet.has(value)) emit(value);
|
|
28
|
+
});
|
|
29
|
+
return require_lazy.combineEagerAndLazyFunctions(intersectionEager, intersectionLazy);
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
exports.intersection = intersection;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { intersection as intersection$1 } from "../../array/intersection.mjs";
|
|
2
|
+
import { combineEagerAndLazyFunctions, createLazyFunction } from "../_internal/lazy.mjs";
|
|
3
|
+
//#region src/fp/array/intersection.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function that keeps values from the piped array that are also present in another array.
|
|
6
|
+
*
|
|
7
|
+
* Equality follows SameValueZero through Set membership, matching the main
|
|
8
|
+
* {@link intersection} implementation. The returned function is lazy-capable
|
|
9
|
+
* inside {@link pipe}.
|
|
10
|
+
*
|
|
11
|
+
* @template T - The type of elements in the arrays.
|
|
12
|
+
* @param secondArray - Values to intersect with the piped array.
|
|
13
|
+
* @returns A function that maps the piped array to its intersection.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* import { intersection, pipe } from 'es-toolkit/fp';
|
|
17
|
+
*
|
|
18
|
+
* pipe([1, 2, 3], intersection([2, 4]));
|
|
19
|
+
* // => [2]
|
|
20
|
+
*/
|
|
21
|
+
function intersection(secondArray) {
|
|
22
|
+
const secondSet = new Set(secondArray);
|
|
23
|
+
function intersectionEager(array) {
|
|
24
|
+
return intersection$1(array, secondArray);
|
|
25
|
+
}
|
|
26
|
+
return combineEagerAndLazyFunctions(intersectionEager, createLazyFunction((value, _index, emit) => {
|
|
27
|
+
if (secondSet.has(value)) emit(value);
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { intersection };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/fp/array/intersectionBy.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that keeps values whose mapped identity appears in another array.
|
|
4
|
+
*
|
|
5
|
+
* The mapper is applied to values from both arrays. The returned function is
|
|
6
|
+
* lazy-capable inside {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the piped array.
|
|
9
|
+
* @template U - The type of elements in the configured array.
|
|
10
|
+
* @param secondArray - Values to intersect with the piped array after mapping.
|
|
11
|
+
* @param mapper - Maps values from both arrays to comparison keys.
|
|
12
|
+
* @returns A function that maps the piped array to its mapped intersection.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* import { intersectionBy, pipe } from 'es-toolkit/fp';
|
|
16
|
+
*
|
|
17
|
+
* pipe([{ id: 1 }, { id: 2 }], intersectionBy([2], value => typeof value === 'number' ? value : value.id));
|
|
18
|
+
* // => [{ id: 2 }]
|
|
19
|
+
*/
|
|
20
|
+
declare function intersectionBy<T, U>(secondArray: readonly U[], mapper: (value: T | U) => unknown): (array: readonly T[]) => T[];
|
|
21
|
+
//#endregion
|
|
22
|
+
export { intersectionBy };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/fp/array/intersectionBy.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that keeps values whose mapped identity appears in another array.
|
|
4
|
+
*
|
|
5
|
+
* The mapper is applied to values from both arrays. The returned function is
|
|
6
|
+
* lazy-capable inside {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the piped array.
|
|
9
|
+
* @template U - The type of elements in the configured array.
|
|
10
|
+
* @param secondArray - Values to intersect with the piped array after mapping.
|
|
11
|
+
* @param mapper - Maps values from both arrays to comparison keys.
|
|
12
|
+
* @returns A function that maps the piped array to its mapped intersection.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* import { intersectionBy, pipe } from 'es-toolkit/fp';
|
|
16
|
+
*
|
|
17
|
+
* pipe([{ id: 1 }, { id: 2 }], intersectionBy([2], value => typeof value === 'number' ? value : value.id));
|
|
18
|
+
* // => [{ id: 2 }]
|
|
19
|
+
*/
|
|
20
|
+
declare function intersectionBy<T, U>(secondArray: readonly U[], mapper: (value: T | U) => unknown): (array: readonly T[]) => T[];
|
|
21
|
+
//#endregion
|
|
22
|
+
export { intersectionBy };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const require_intersectionBy = require("../../array/intersectionBy.js");
|
|
2
|
+
const require_lazy = require("../_internal/lazy.js");
|
|
3
|
+
//#region src/fp/array/intersectionBy.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function that keeps values whose mapped identity appears in another array.
|
|
6
|
+
*
|
|
7
|
+
* The mapper is applied to values from both arrays. The returned function is
|
|
8
|
+
* lazy-capable inside {@link pipe}.
|
|
9
|
+
*
|
|
10
|
+
* @template T - The type of elements in the piped array.
|
|
11
|
+
* @template U - The type of elements in the configured array.
|
|
12
|
+
* @param secondArray - Values to intersect with the piped array after mapping.
|
|
13
|
+
* @param mapper - Maps values from both arrays to comparison keys.
|
|
14
|
+
* @returns A function that maps the piped array to its mapped intersection.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* import { intersectionBy, pipe } from 'es-toolkit/fp';
|
|
18
|
+
*
|
|
19
|
+
* pipe([{ id: 1 }, { id: 2 }], intersectionBy([2], value => typeof value === 'number' ? value : value.id));
|
|
20
|
+
* // => [{ id: 2 }]
|
|
21
|
+
*/
|
|
22
|
+
function intersectionBy(secondArray, mapper) {
|
|
23
|
+
const mappedSecondSet = new Set(secondArray.map((item) => mapper(item)));
|
|
24
|
+
function intersectionByEager(array) {
|
|
25
|
+
return require_intersectionBy.intersectionBy(array, secondArray, mapper);
|
|
26
|
+
}
|
|
27
|
+
const intersectionByLazy = require_lazy.createLazyFunction((value, _index, emit) => {
|
|
28
|
+
if (mappedSecondSet.has(mapper(value))) emit(value);
|
|
29
|
+
});
|
|
30
|
+
return require_lazy.combineEagerAndLazyFunctions(intersectionByEager, intersectionByLazy);
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
exports.intersectionBy = intersectionBy;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { intersectionBy as intersectionBy$1 } from "../../array/intersectionBy.mjs";
|
|
2
|
+
import { combineEagerAndLazyFunctions, createLazyFunction } from "../_internal/lazy.mjs";
|
|
3
|
+
//#region src/fp/array/intersectionBy.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function that keeps values whose mapped identity appears in another array.
|
|
6
|
+
*
|
|
7
|
+
* The mapper is applied to values from both arrays. The returned function is
|
|
8
|
+
* lazy-capable inside {@link pipe}.
|
|
9
|
+
*
|
|
10
|
+
* @template T - The type of elements in the piped array.
|
|
11
|
+
* @template U - The type of elements in the configured array.
|
|
12
|
+
* @param secondArray - Values to intersect with the piped array after mapping.
|
|
13
|
+
* @param mapper - Maps values from both arrays to comparison keys.
|
|
14
|
+
* @returns A function that maps the piped array to its mapped intersection.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* import { intersectionBy, pipe } from 'es-toolkit/fp';
|
|
18
|
+
*
|
|
19
|
+
* pipe([{ id: 1 }, { id: 2 }], intersectionBy([2], value => typeof value === 'number' ? value : value.id));
|
|
20
|
+
* // => [{ id: 2 }]
|
|
21
|
+
*/
|
|
22
|
+
function intersectionBy(secondArray, mapper) {
|
|
23
|
+
const mappedSecondSet = new Set(secondArray.map((item) => mapper(item)));
|
|
24
|
+
function intersectionByEager(array) {
|
|
25
|
+
return intersectionBy$1(array, secondArray, mapper);
|
|
26
|
+
}
|
|
27
|
+
return combineEagerAndLazyFunctions(intersectionByEager, createLazyFunction((value, _index, emit) => {
|
|
28
|
+
if (mappedSecondSet.has(mapper(value))) emit(value);
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { intersectionBy };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/fp/array/intersectionWith.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that keeps values equal to at least one configured value.
|
|
4
|
+
*
|
|
5
|
+
* Equality is decided by the provided comparator. The returned function is
|
|
6
|
+
* lazy-capable inside {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the piped array.
|
|
9
|
+
* @template U - The type of elements in the configured array.
|
|
10
|
+
* @param secondArray - Values to compare against the piped array.
|
|
11
|
+
* @param areItemsEqual - Returns true when a piped value equals a configured value.
|
|
12
|
+
* @returns A function that maps the piped array to its custom intersection.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* import { intersectionWith, pipe } from 'es-toolkit/fp';
|
|
16
|
+
*
|
|
17
|
+
* pipe([{ id: 1 }, { id: 2 }], intersectionWith([2], (item, id) => item.id === id));
|
|
18
|
+
* // => [{ id: 2 }]
|
|
19
|
+
*/
|
|
20
|
+
declare function intersectionWith<T, U>(secondArray: readonly U[], areItemsEqual: (item: T, other: U) => boolean): (array: readonly T[]) => T[];
|
|
21
|
+
//#endregion
|
|
22
|
+
export { intersectionWith };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/fp/array/intersectionWith.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that keeps values equal to at least one configured value.
|
|
4
|
+
*
|
|
5
|
+
* Equality is decided by the provided comparator. The returned function is
|
|
6
|
+
* lazy-capable inside {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the piped array.
|
|
9
|
+
* @template U - The type of elements in the configured array.
|
|
10
|
+
* @param secondArray - Values to compare against the piped array.
|
|
11
|
+
* @param areItemsEqual - Returns true when a piped value equals a configured value.
|
|
12
|
+
* @returns A function that maps the piped array to its custom intersection.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* import { intersectionWith, pipe } from 'es-toolkit/fp';
|
|
16
|
+
*
|
|
17
|
+
* pipe([{ id: 1 }, { id: 2 }], intersectionWith([2], (item, id) => item.id === id));
|
|
18
|
+
* // => [{ id: 2 }]
|
|
19
|
+
*/
|
|
20
|
+
declare function intersectionWith<T, U>(secondArray: readonly U[], areItemsEqual: (item: T, other: U) => boolean): (array: readonly T[]) => T[];
|
|
21
|
+
//#endregion
|
|
22
|
+
export { intersectionWith };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const require_intersectionWith = require("../../array/intersectionWith.js");
|
|
2
|
+
const require_lazy = require("../_internal/lazy.js");
|
|
3
|
+
//#region src/fp/array/intersectionWith.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function that keeps values equal to at least one configured value.
|
|
6
|
+
*
|
|
7
|
+
* Equality is decided by the provided comparator. The returned function is
|
|
8
|
+
* lazy-capable inside {@link pipe}.
|
|
9
|
+
*
|
|
10
|
+
* @template T - The type of elements in the piped array.
|
|
11
|
+
* @template U - The type of elements in the configured array.
|
|
12
|
+
* @param secondArray - Values to compare against the piped array.
|
|
13
|
+
* @param areItemsEqual - Returns true when a piped value equals a configured value.
|
|
14
|
+
* @returns A function that maps the piped array to its custom intersection.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* import { intersectionWith, pipe } from 'es-toolkit/fp';
|
|
18
|
+
*
|
|
19
|
+
* pipe([{ id: 1 }, { id: 2 }], intersectionWith([2], (item, id) => item.id === id));
|
|
20
|
+
* // => [{ id: 2 }]
|
|
21
|
+
*/
|
|
22
|
+
function intersectionWith(secondArray, areItemsEqual) {
|
|
23
|
+
function intersectionWithEager(array) {
|
|
24
|
+
return require_intersectionWith.intersectionWith(array, secondArray, areItemsEqual);
|
|
25
|
+
}
|
|
26
|
+
const intersectionWithLazy = require_lazy.createLazyFunction((value, _index, emit) => {
|
|
27
|
+
if (secondArray.some((other) => areItemsEqual(value, other))) emit(value);
|
|
28
|
+
});
|
|
29
|
+
return require_lazy.combineEagerAndLazyFunctions(intersectionWithEager, intersectionWithLazy);
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
exports.intersectionWith = intersectionWith;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { intersectionWith as intersectionWith$1 } from "../../array/intersectionWith.mjs";
|
|
2
|
+
import { combineEagerAndLazyFunctions, createLazyFunction } from "../_internal/lazy.mjs";
|
|
3
|
+
//#region src/fp/array/intersectionWith.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function that keeps values equal to at least one configured value.
|
|
6
|
+
*
|
|
7
|
+
* Equality is decided by the provided comparator. The returned function is
|
|
8
|
+
* lazy-capable inside {@link pipe}.
|
|
9
|
+
*
|
|
10
|
+
* @template T - The type of elements in the piped array.
|
|
11
|
+
* @template U - The type of elements in the configured array.
|
|
12
|
+
* @param secondArray - Values to compare against the piped array.
|
|
13
|
+
* @param areItemsEqual - Returns true when a piped value equals a configured value.
|
|
14
|
+
* @returns A function that maps the piped array to its custom intersection.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* import { intersectionWith, pipe } from 'es-toolkit/fp';
|
|
18
|
+
*
|
|
19
|
+
* pipe([{ id: 1 }, { id: 2 }], intersectionWith([2], (item, id) => item.id === id));
|
|
20
|
+
* // => [{ id: 2 }]
|
|
21
|
+
*/
|
|
22
|
+
function intersectionWith(secondArray, areItemsEqual) {
|
|
23
|
+
function intersectionWithEager(array) {
|
|
24
|
+
return intersectionWith$1(array, secondArray, areItemsEqual);
|
|
25
|
+
}
|
|
26
|
+
return combineEagerAndLazyFunctions(intersectionWithEager, createLazyFunction((value, _index, emit) => {
|
|
27
|
+
if (secondArray.some((other) => areItemsEqual(value, other))) emit(value);
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { intersectionWith };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/fp/array/isSubset.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a predicate that checks whether the piped array is a subset of superset.
|
|
4
|
+
*
|
|
5
|
+
* Every value in the piped array must be present in superset, using the main
|
|
6
|
+
* {@link isSubset} equality behavior.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the arrays.
|
|
9
|
+
* @param superset - The array that may contain all values from the piped array.
|
|
10
|
+
* @returns A predicate for the piped array.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { isSubset, pipe } from 'es-toolkit/fp';
|
|
14
|
+
*
|
|
15
|
+
* pipe([1, 2], isSubset([1, 2, 3]));
|
|
16
|
+
* // => true
|
|
17
|
+
*/
|
|
18
|
+
declare function isSubset<T>(superset: readonly T[]): (array: readonly T[]) => boolean;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { isSubset };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/fp/array/isSubset.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a predicate that checks whether the piped array is a subset of superset.
|
|
4
|
+
*
|
|
5
|
+
* Every value in the piped array must be present in superset, using the main
|
|
6
|
+
* {@link isSubset} equality behavior.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the arrays.
|
|
9
|
+
* @param superset - The array that may contain all values from the piped array.
|
|
10
|
+
* @returns A predicate for the piped array.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { isSubset, pipe } from 'es-toolkit/fp';
|
|
14
|
+
*
|
|
15
|
+
* pipe([1, 2], isSubset([1, 2, 3]));
|
|
16
|
+
* // => true
|
|
17
|
+
*/
|
|
18
|
+
declare function isSubset<T>(superset: readonly T[]): (array: readonly T[]) => boolean;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { isSubset };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const require_isSubset = require("../../array/isSubset.js");
|
|
2
|
+
//#region src/fp/array/isSubset.ts
|
|
3
|
+
/**
|
|
4
|
+
* Creates a predicate that checks whether the piped array is a subset of superset.
|
|
5
|
+
*
|
|
6
|
+
* Every value in the piped array must be present in superset, using the main
|
|
7
|
+
* {@link isSubset} equality behavior.
|
|
8
|
+
*
|
|
9
|
+
* @template T - The type of elements in the arrays.
|
|
10
|
+
* @param superset - The array that may contain all values from the piped array.
|
|
11
|
+
* @returns A predicate for the piped array.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import { isSubset, pipe } from 'es-toolkit/fp';
|
|
15
|
+
*
|
|
16
|
+
* pipe([1, 2], isSubset([1, 2, 3]));
|
|
17
|
+
* // => true
|
|
18
|
+
*/
|
|
19
|
+
function isSubset(superset) {
|
|
20
|
+
return function(array) {
|
|
21
|
+
return require_isSubset.isSubset(superset, array);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
exports.isSubset = isSubset;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { isSubset as isSubset$1 } from "../../array/isSubset.mjs";
|
|
2
|
+
//#region src/fp/array/isSubset.ts
|
|
3
|
+
/**
|
|
4
|
+
* Creates a predicate that checks whether the piped array is a subset of superset.
|
|
5
|
+
*
|
|
6
|
+
* Every value in the piped array must be present in superset, using the main
|
|
7
|
+
* {@link isSubset} equality behavior.
|
|
8
|
+
*
|
|
9
|
+
* @template T - The type of elements in the arrays.
|
|
10
|
+
* @param superset - The array that may contain all values from the piped array.
|
|
11
|
+
* @returns A predicate for the piped array.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import { isSubset, pipe } from 'es-toolkit/fp';
|
|
15
|
+
*
|
|
16
|
+
* pipe([1, 2], isSubset([1, 2, 3]));
|
|
17
|
+
* // => true
|
|
18
|
+
*/
|
|
19
|
+
function isSubset(superset) {
|
|
20
|
+
return function(array) {
|
|
21
|
+
return isSubset$1(superset, array);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { isSubset };
|