es-toolkit 1.48.1 → 1.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- 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/chunk.js +4 -2
- package/dist/compat/array/chunk.mjs +4 -2
- package/dist/compat/array/differenceBy.js +5 -5
- package/dist/compat/array/differenceBy.mjs +5 -5
- package/dist/compat/array/drop.d.mts +2 -3
- package/dist/compat/array/drop.d.ts +2 -3
- package/dist/compat/array/drop.js +4 -4
- package/dist/compat/array/drop.mjs +4 -4
- package/dist/compat/array/dropRight.js +1 -1
- package/dist/compat/array/dropRight.mjs +1 -1
- package/dist/compat/array/dropRightWhile.d.mts +1 -1
- package/dist/compat/array/dropRightWhile.d.ts +1 -1
- package/dist/compat/array/dropRightWhile.js +5 -4
- package/dist/compat/array/dropRightWhile.mjs +5 -4
- package/dist/compat/array/dropWhile.d.mts +2 -2
- package/dist/compat/array/dropWhile.d.ts +2 -2
- package/dist/compat/array/dropWhile.js +4 -4
- package/dist/compat/array/dropWhile.mjs +4 -4
- 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/random.js +3 -1
- package/dist/compat/math/random.mjs +3 -1
- package/dist/compat/math/subtract.js +1 -1
- package/dist/compat/math/subtract.mjs +1 -1
- package/dist/compat/object/get.js +1 -1
- package/dist/compat/object/get.mjs +1 -1
- package/dist/compat/object/omitBy.js +1 -1
- package/dist/compat/object/omitBy.mjs +1 -1
- package/dist/compat/object/pick.js +1 -1
- package/dist/compat/object/pick.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/dist/string/trimStart.js +1 -0
- package/dist/string/trimStart.mjs +1 -0
- package/fp.d.ts +1 -0
- package/fp.js +1 -0
- package/package.json +22 -1
|
@@ -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 };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/fp/array/isSubsetWith.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a predicate that checks subset membership with a custom equality function.
|
|
4
|
+
*
|
|
5
|
+
* Every value in the piped array must match at least one value in superset according
|
|
6
|
+
* to areItemsEqual.
|
|
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
|
+
* @param areItemsEqual - Returns true when a piped value and a superset value are equal.
|
|
11
|
+
* @returns A predicate for the piped array.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import { isSubsetWith, pipe } from 'es-toolkit/fp';
|
|
15
|
+
*
|
|
16
|
+
* pipe([{ id: 1 }], isSubsetWith([{ id: 1 }, { id: 2 }], (a, b) => a.id === b.id));
|
|
17
|
+
* // => true
|
|
18
|
+
*/
|
|
19
|
+
declare function isSubsetWith<T>(superset: readonly T[], areItemsEqual: (item: T, other: T) => boolean): (array: readonly T[]) => boolean;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { isSubsetWith };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/fp/array/isSubsetWith.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a predicate that checks subset membership with a custom equality function.
|
|
4
|
+
*
|
|
5
|
+
* Every value in the piped array must match at least one value in superset according
|
|
6
|
+
* to areItemsEqual.
|
|
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
|
+
* @param areItemsEqual - Returns true when a piped value and a superset value are equal.
|
|
11
|
+
* @returns A predicate for the piped array.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import { isSubsetWith, pipe } from 'es-toolkit/fp';
|
|
15
|
+
*
|
|
16
|
+
* pipe([{ id: 1 }], isSubsetWith([{ id: 1 }, { id: 2 }], (a, b) => a.id === b.id));
|
|
17
|
+
* // => true
|
|
18
|
+
*/
|
|
19
|
+
declare function isSubsetWith<T>(superset: readonly T[], areItemsEqual: (item: T, other: T) => boolean): (array: readonly T[]) => boolean;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { isSubsetWith };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const require_isSubsetWith = require("../../array/isSubsetWith.js");
|
|
2
|
+
//#region src/fp/array/isSubsetWith.ts
|
|
3
|
+
/**
|
|
4
|
+
* Creates a predicate that checks subset membership with a custom equality function.
|
|
5
|
+
*
|
|
6
|
+
* Every value in the piped array must match at least one value in superset according
|
|
7
|
+
* to areItemsEqual.
|
|
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
|
+
* @param areItemsEqual - Returns true when a piped value and a superset value are equal.
|
|
12
|
+
* @returns A predicate for the piped array.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* import { isSubsetWith, pipe } from 'es-toolkit/fp';
|
|
16
|
+
*
|
|
17
|
+
* pipe([{ id: 1 }], isSubsetWith([{ id: 1 }, { id: 2 }], (a, b) => a.id === b.id));
|
|
18
|
+
* // => true
|
|
19
|
+
*/
|
|
20
|
+
function isSubsetWith(superset, areItemsEqual) {
|
|
21
|
+
return function(array) {
|
|
22
|
+
return require_isSubsetWith.isSubsetWith(superset, array, areItemsEqual);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
exports.isSubsetWith = isSubsetWith;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isSubsetWith as isSubsetWith$1 } from "../../array/isSubsetWith.mjs";
|
|
2
|
+
//#region src/fp/array/isSubsetWith.ts
|
|
3
|
+
/**
|
|
4
|
+
* Creates a predicate that checks subset membership with a custom equality function.
|
|
5
|
+
*
|
|
6
|
+
* Every value in the piped array must match at least one value in superset according
|
|
7
|
+
* to areItemsEqual.
|
|
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
|
+
* @param areItemsEqual - Returns true when a piped value and a superset value are equal.
|
|
12
|
+
* @returns A predicate for the piped array.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* import { isSubsetWith, pipe } from 'es-toolkit/fp';
|
|
16
|
+
*
|
|
17
|
+
* pipe([{ id: 1 }], isSubsetWith([{ id: 1 }, { id: 2 }], (a, b) => a.id === b.id));
|
|
18
|
+
* // => true
|
|
19
|
+
*/
|
|
20
|
+
function isSubsetWith(superset, areItemsEqual) {
|
|
21
|
+
return function(array) {
|
|
22
|
+
return isSubsetWith$1(superset, array, areItemsEqual);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { isSubsetWith };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/fp/array/join.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that joins array values into a string.
|
|
4
|
+
*
|
|
5
|
+
* The separator is passed to Array.prototype.join, so undefined uses a comma.
|
|
6
|
+
* Use the returned function with {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the array.
|
|
9
|
+
* @param separator - The separator placed between values.
|
|
10
|
+
* @returns A function that maps a readonly array to a joined string.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { join, pipe } from 'es-toolkit/fp';
|
|
14
|
+
*
|
|
15
|
+
* pipe(['a', 'b', 'c'], join('-'));
|
|
16
|
+
* // => 'a-b-c'
|
|
17
|
+
*/
|
|
18
|
+
declare function join<T>(separator?: string): (array: readonly T[]) => string;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { join };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/fp/array/join.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that joins array values into a string.
|
|
4
|
+
*
|
|
5
|
+
* The separator is passed to Array.prototype.join, so undefined uses a comma.
|
|
6
|
+
* Use the returned function with {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the array.
|
|
9
|
+
* @param separator - The separator placed between values.
|
|
10
|
+
* @returns A function that maps a readonly array to a joined string.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { join, pipe } from 'es-toolkit/fp';
|
|
14
|
+
*
|
|
15
|
+
* pipe(['a', 'b', 'c'], join('-'));
|
|
16
|
+
* // => 'a-b-c'
|
|
17
|
+
*/
|
|
18
|
+
declare function join<T>(separator?: string): (array: readonly T[]) => string;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { join };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/fp/array/join.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that joins array values into a string.
|
|
4
|
+
*
|
|
5
|
+
* The separator is passed to Array.prototype.join, so undefined uses a comma.
|
|
6
|
+
* Use the returned function with {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the array.
|
|
9
|
+
* @param separator - The separator placed between values.
|
|
10
|
+
* @returns A function that maps a readonly array to a joined string.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { join, pipe } from 'es-toolkit/fp';
|
|
14
|
+
*
|
|
15
|
+
* pipe(['a', 'b', 'c'], join('-'));
|
|
16
|
+
* // => 'a-b-c'
|
|
17
|
+
*/
|
|
18
|
+
function join(separator) {
|
|
19
|
+
return function(array) {
|
|
20
|
+
return array.join(separator);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.join = join;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/fp/array/join.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a function that joins array values into a string.
|
|
4
|
+
*
|
|
5
|
+
* The separator is passed to Array.prototype.join, so undefined uses a comma.
|
|
6
|
+
* Use the returned function with {@link pipe}.
|
|
7
|
+
*
|
|
8
|
+
* @template T - The type of elements in the array.
|
|
9
|
+
* @param separator - The separator placed between values.
|
|
10
|
+
* @returns A function that maps a readonly array to a joined string.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import { join, pipe } from 'es-toolkit/fp';
|
|
14
|
+
*
|
|
15
|
+
* pipe(['a', 'b', 'c'], join('-'));
|
|
16
|
+
* // => 'a-b-c'
|
|
17
|
+
*/
|
|
18
|
+
function join(separator) {
|
|
19
|
+
return function(array) {
|
|
20
|
+
return array.join(separator);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { join };
|