@sapphire/iterator-utilities 1.0.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 +10 -0
- package/README.md +765 -0
- package/dist/cjs/index.cjs +385 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +55 -0
- package/dist/cjs/lib/append.cjs +15 -0
- package/dist/cjs/lib/append.cjs.map +1 -0
- package/dist/cjs/lib/append.d.cts +21 -0
- package/dist/cjs/lib/at.cjs +18 -0
- package/dist/cjs/lib/at.cjs.map +1 -0
- package/dist/cjs/lib/at.d.cts +25 -0
- package/dist/cjs/lib/average.cjs +21 -0
- package/dist/cjs/lib/average.cjs.map +1 -0
- package/dist/cjs/lib/average.d.cts +25 -0
- package/dist/cjs/lib/chain.cjs +16 -0
- package/dist/cjs/lib/chain.cjs.map +1 -0
- package/dist/cjs/lib/chain.d.cts +20 -0
- package/dist/cjs/lib/chunk.cjs +27 -0
- package/dist/cjs/lib/chunk.cjs.map +1 -0
- package/dist/cjs/lib/chunk.d.cts +20 -0
- package/dist/cjs/lib/compact.cjs +14 -0
- package/dist/cjs/lib/compact.cjs.map +1 -0
- package/dist/cjs/lib/compact.d.cts +19 -0
- package/dist/cjs/lib/compress.cjs +24 -0
- package/dist/cjs/lib/compress.cjs.map +1 -0
- package/dist/cjs/lib/compress.d.cts +26 -0
- package/dist/cjs/lib/contains.cjs +18 -0
- package/dist/cjs/lib/contains.cjs.map +1 -0
- package/dist/cjs/lib/contains.d.cts +25 -0
- package/dist/cjs/lib/count.cjs +19 -0
- package/dist/cjs/lib/count.cjs.map +1 -0
- package/dist/cjs/lib/count.d.cts +24 -0
- package/dist/cjs/lib/cycle.cjs +23 -0
- package/dist/cjs/lib/cycle.cjs.map +1 -0
- package/dist/cjs/lib/cycle.d.cts +21 -0
- package/dist/cjs/lib/difference.cjs +18 -0
- package/dist/cjs/lib/difference.cjs.map +1 -0
- package/dist/cjs/lib/difference.d.cts +25 -0
- package/dist/cjs/lib/drop.cjs +28 -0
- package/dist/cjs/lib/drop.cjs.map +1 -0
- package/dist/cjs/lib/drop.d.cts +21 -0
- package/dist/cjs/lib/dropLast.cjs +23 -0
- package/dist/cjs/lib/dropLast.cjs.map +1 -0
- package/dist/cjs/lib/dropLast.d.cts +25 -0
- package/dist/cjs/lib/dropWhile.cjs +22 -0
- package/dist/cjs/lib/dropWhile.cjs.map +1 -0
- package/dist/cjs/lib/dropWhile.d.cts +24 -0
- package/dist/cjs/lib/empty.cjs +14 -0
- package/dist/cjs/lib/empty.cjs.map +1 -0
- package/dist/cjs/lib/empty.d.cts +17 -0
- package/dist/cjs/lib/enumerate.cjs +17 -0
- package/dist/cjs/lib/enumerate.cjs.map +1 -0
- package/dist/cjs/lib/enumerate.d.cts +24 -0
- package/dist/cjs/lib/every.cjs +21 -0
- package/dist/cjs/lib/every.cjs.map +1 -0
- package/dist/cjs/lib/every.d.cts +29 -0
- package/dist/cjs/lib/filter.cjs +21 -0
- package/dist/cjs/lib/filter.cjs.map +1 -0
- package/dist/cjs/lib/filter.d.cts +22 -0
- package/dist/cjs/lib/find.cjs +15 -0
- package/dist/cjs/lib/find.cjs.map +1 -0
- package/dist/cjs/lib/find.d.cts +26 -0
- package/dist/cjs/lib/findIndex.cjs +23 -0
- package/dist/cjs/lib/findIndex.cjs.map +1 -0
- package/dist/cjs/lib/findIndex.d.cts +25 -0
- package/dist/cjs/lib/first.cjs +14 -0
- package/dist/cjs/lib/first.cjs.map +1 -0
- package/dist/cjs/lib/first.d.cts +24 -0
- package/dist/cjs/lib/flat.cjs +16 -0
- package/dist/cjs/lib/flat.cjs.map +1 -0
- package/dist/cjs/lib/flat.d.cts +20 -0
- package/dist/cjs/lib/flatMap.cjs +19 -0
- package/dist/cjs/lib/flatMap.cjs.map +1 -0
- package/dist/cjs/lib/flatMap.d.cts +21 -0
- package/dist/cjs/lib/forEach.cjs +19 -0
- package/dist/cjs/lib/forEach.cjs.map +1 -0
- package/dist/cjs/lib/forEach.d.cts +24 -0
- package/dist/cjs/lib/from.cjs +25 -0
- package/dist/cjs/lib/from.cjs.map +1 -0
- package/dist/cjs/lib/from.d.cts +21 -0
- package/dist/cjs/lib/indexOf.cjs +22 -0
- package/dist/cjs/lib/indexOf.cjs.map +1 -0
- package/dist/cjs/lib/indexOf.d.cts +25 -0
- package/dist/cjs/lib/intersect.cjs +16 -0
- package/dist/cjs/lib/intersect.cjs.map +1 -0
- package/dist/cjs/lib/intersect.d.cts +26 -0
- package/dist/cjs/lib/isEmpty.cjs +14 -0
- package/dist/cjs/lib/isEmpty.cjs.map +1 -0
- package/dist/cjs/lib/isEmpty.d.cts +26 -0
- package/dist/cjs/lib/last.cjs +18 -0
- package/dist/cjs/lib/last.cjs.map +1 -0
- package/dist/cjs/lib/last.d.cts +24 -0
- package/dist/cjs/lib/map.cjs +19 -0
- package/dist/cjs/lib/map.cjs.map +1 -0
- package/dist/cjs/lib/map.d.cts +20 -0
- package/dist/cjs/lib/max.cjs +20 -0
- package/dist/cjs/lib/max.cjs.map +1 -0
- package/dist/cjs/lib/max.d.cts +25 -0
- package/dist/cjs/lib/min.cjs +20 -0
- package/dist/cjs/lib/min.cjs.map +1 -0
- package/dist/cjs/lib/min.d.cts +25 -0
- package/dist/cjs/lib/partition.cjs +26 -0
- package/dist/cjs/lib/partition.cjs.map +1 -0
- package/dist/cjs/lib/partition.d.cts +33 -0
- package/dist/cjs/lib/peekable.cjs +32 -0
- package/dist/cjs/lib/peekable.cjs.map +1 -0
- package/dist/cjs/lib/peekable.d.cts +35 -0
- package/dist/cjs/lib/prepend.cjs +17 -0
- package/dist/cjs/lib/prepend.cjs.map +1 -0
- package/dist/cjs/lib/prepend.d.cts +22 -0
- package/dist/cjs/lib/product.cjs +19 -0
- package/dist/cjs/lib/product.cjs.map +1 -0
- package/dist/cjs/lib/product.d.cts +24 -0
- package/dist/cjs/lib/range.cjs +37 -0
- package/dist/cjs/lib/range.cjs.map +1 -0
- package/dist/cjs/lib/range.d.cts +33 -0
- package/dist/cjs/lib/reduce.cjs +32 -0
- package/dist/cjs/lib/reduce.cjs.map +1 -0
- package/dist/cjs/lib/reduce.d.cts +33 -0
- package/dist/cjs/lib/repeat.cjs +20 -0
- package/dist/cjs/lib/repeat.cjs.map +1 -0
- package/dist/cjs/lib/repeat.d.cts +20 -0
- package/dist/cjs/lib/reverse.cjs +20 -0
- package/dist/cjs/lib/reverse.cjs.map +1 -0
- package/dist/cjs/lib/reverse.d.cts +26 -0
- package/dist/cjs/lib/shared/_assertFunction.cjs +17 -0
- package/dist/cjs/lib/shared/_assertFunction.cjs.map +1 -0
- package/dist/cjs/lib/shared/_assertFunction.d.cts +3 -0
- package/dist/cjs/lib/shared/_assertNotNegative.cjs +17 -0
- package/dist/cjs/lib/shared/_assertNotNegative.cjs.map +1 -0
- package/dist/cjs/lib/shared/_assertNotNegative.d.cts +3 -0
- package/dist/cjs/lib/shared/_assertPositive.cjs +17 -0
- package/dist/cjs/lib/shared/_assertPositive.cjs.map +1 -0
- package/dist/cjs/lib/shared/_assertPositive.d.cts +3 -0
- package/dist/cjs/lib/shared/_makeIterableIterator.cjs +19 -0
- package/dist/cjs/lib/shared/_makeIterableIterator.cjs.map +1 -0
- package/dist/cjs/lib/shared/_makeIterableIterator.d.cts +3 -0
- package/dist/cjs/lib/shared/_toIntegerOrInfinityOrThrow.cjs +21 -0
- package/dist/cjs/lib/shared/_toIntegerOrInfinityOrThrow.cjs.map +1 -0
- package/dist/cjs/lib/shared/_toIntegerOrInfinityOrThrow.d.cts +3 -0
- package/dist/cjs/lib/shared/_toIntegerOrThrow.cjs +21 -0
- package/dist/cjs/lib/shared/_toIntegerOrThrow.cjs.map +1 -0
- package/dist/cjs/lib/shared/_toIntegerOrThrow.d.cts +3 -0
- package/dist/cjs/lib/shared/_toNumberOrThrow.cjs +34 -0
- package/dist/cjs/lib/shared/_toNumberOrThrow.cjs.map +1 -0
- package/dist/cjs/lib/shared/_toNumberOrThrow.d.cts +8 -0
- package/dist/cjs/lib/slice.cjs +44 -0
- package/dist/cjs/lib/slice.cjs.map +1 -0
- package/dist/cjs/lib/slice.d.cts +62 -0
- package/dist/cjs/lib/some.cjs +22 -0
- package/dist/cjs/lib/some.cjs.map +1 -0
- package/dist/cjs/lib/some.d.cts +33 -0
- package/dist/cjs/lib/sorted.cjs +14 -0
- package/dist/cjs/lib/sorted.cjs.map +1 -0
- package/dist/cjs/lib/sorted.d.cts +25 -0
- package/dist/cjs/lib/starMap.cjs +19 -0
- package/dist/cjs/lib/starMap.cjs.map +1 -0
- package/dist/cjs/lib/starMap.d.cts +28 -0
- package/dist/cjs/lib/sum.cjs +19 -0
- package/dist/cjs/lib/sum.cjs.map +1 -0
- package/dist/cjs/lib/sum.d.cts +25 -0
- package/dist/cjs/lib/take.cjs +25 -0
- package/dist/cjs/lib/take.cjs.map +1 -0
- package/dist/cjs/lib/take.d.cts +21 -0
- package/dist/cjs/lib/takeLast.cjs +31 -0
- package/dist/cjs/lib/takeLast.cjs.map +1 -0
- package/dist/cjs/lib/takeLast.d.cts +25 -0
- package/dist/cjs/lib/tee.cjs +39 -0
- package/dist/cjs/lib/tee.cjs.map +1 -0
- package/dist/cjs/lib/tee.d.cts +25 -0
- package/dist/cjs/lib/toArray.cjs +14 -0
- package/dist/cjs/lib/toArray.cjs.map +1 -0
- package/dist/cjs/lib/toArray.d.cts +36 -0
- package/dist/cjs/lib/toIterableIterator.cjs +19 -0
- package/dist/cjs/lib/toIterableIterator.cjs.map +1 -0
- package/dist/cjs/lib/toIterableIterator.d.cts +32 -0
- package/dist/cjs/lib/union.cjs +22 -0
- package/dist/cjs/lib/union.cjs.map +1 -0
- package/dist/cjs/lib/union.d.cts +20 -0
- package/dist/cjs/lib/unique.cjs +14 -0
- package/dist/cjs/lib/unique.cjs.map +1 -0
- package/dist/cjs/lib/unique.d.cts +20 -0
- package/dist/cjs/lib/unzip.cjs +37 -0
- package/dist/cjs/lib/unzip.cjs.map +1 -0
- package/dist/cjs/lib/unzip.d.cts +32 -0
- package/dist/cjs/lib/zip.cjs +24 -0
- package/dist/cjs/lib/zip.cjs.map +1 -0
- package/dist/cjs/lib/zip.d.cts +30 -0
- package/dist/esm/chunk-G5GHKT7C.mjs +6 -0
- package/dist/esm/chunk-G5GHKT7C.mjs.map +1 -0
- package/dist/esm/index.d.mts +55 -0
- package/dist/esm/index.mjs +56 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/lib/append.d.mts +21 -0
- package/dist/esm/lib/append.mjs +11 -0
- package/dist/esm/lib/append.mjs.map +1 -0
- package/dist/esm/lib/at.d.mts +25 -0
- package/dist/esm/lib/at.mjs +15 -0
- package/dist/esm/lib/at.mjs.map +1 -0
- package/dist/esm/lib/average.d.mts +25 -0
- package/dist/esm/lib/average.mjs +18 -0
- package/dist/esm/lib/average.mjs.map +1 -0
- package/dist/esm/lib/chain.d.mts +20 -0
- package/dist/esm/lib/chain.mjs +13 -0
- package/dist/esm/lib/chain.mjs.map +1 -0
- package/dist/esm/lib/chunk.d.mts +20 -0
- package/dist/esm/lib/chunk.mjs +24 -0
- package/dist/esm/lib/chunk.mjs.map +1 -0
- package/dist/esm/lib/compact.d.mts +19 -0
- package/dist/esm/lib/compact.mjs +11 -0
- package/dist/esm/lib/compact.mjs.map +1 -0
- package/dist/esm/lib/compress.d.mts +26 -0
- package/dist/esm/lib/compress.mjs +21 -0
- package/dist/esm/lib/compress.mjs.map +1 -0
- package/dist/esm/lib/contains.d.mts +25 -0
- package/dist/esm/lib/contains.mjs +15 -0
- package/dist/esm/lib/contains.mjs.map +1 -0
- package/dist/esm/lib/count.d.mts +24 -0
- package/dist/esm/lib/count.mjs +16 -0
- package/dist/esm/lib/count.mjs.map +1 -0
- package/dist/esm/lib/cycle.d.mts +21 -0
- package/dist/esm/lib/cycle.mjs +20 -0
- package/dist/esm/lib/cycle.mjs.map +1 -0
- package/dist/esm/lib/difference.d.mts +25 -0
- package/dist/esm/lib/difference.mjs +13 -0
- package/dist/esm/lib/difference.mjs.map +1 -0
- package/dist/esm/lib/drop.d.mts +21 -0
- package/dist/esm/lib/drop.mjs +24 -0
- package/dist/esm/lib/drop.mjs.map +1 -0
- package/dist/esm/lib/dropLast.d.mts +25 -0
- package/dist/esm/lib/dropLast.mjs +19 -0
- package/dist/esm/lib/dropLast.mjs.map +1 -0
- package/dist/esm/lib/dropWhile.d.mts +24 -0
- package/dist/esm/lib/dropWhile.mjs +18 -0
- package/dist/esm/lib/dropWhile.mjs.map +1 -0
- package/dist/esm/lib/empty.d.mts +17 -0
- package/dist/esm/lib/empty.mjs +11 -0
- package/dist/esm/lib/empty.mjs.map +1 -0
- package/dist/esm/lib/enumerate.d.mts +24 -0
- package/dist/esm/lib/enumerate.mjs +14 -0
- package/dist/esm/lib/enumerate.mjs.map +1 -0
- package/dist/esm/lib/every.d.mts +29 -0
- package/dist/esm/lib/every.mjs +18 -0
- package/dist/esm/lib/every.mjs.map +1 -0
- package/dist/esm/lib/filter.d.mts +22 -0
- package/dist/esm/lib/filter.mjs +17 -0
- package/dist/esm/lib/filter.mjs.map +1 -0
- package/dist/esm/lib/find.d.mts +26 -0
- package/dist/esm/lib/find.mjs +12 -0
- package/dist/esm/lib/find.mjs.map +1 -0
- package/dist/esm/lib/findIndex.d.mts +25 -0
- package/dist/esm/lib/findIndex.mjs +20 -0
- package/dist/esm/lib/findIndex.mjs.map +1 -0
- package/dist/esm/lib/first.d.mts +24 -0
- package/dist/esm/lib/first.mjs +11 -0
- package/dist/esm/lib/first.mjs.map +1 -0
- package/dist/esm/lib/flat.d.mts +20 -0
- package/dist/esm/lib/flat.mjs +13 -0
- package/dist/esm/lib/flat.mjs.map +1 -0
- package/dist/esm/lib/flatMap.d.mts +21 -0
- package/dist/esm/lib/flatMap.mjs +16 -0
- package/dist/esm/lib/flatMap.mjs.map +1 -0
- package/dist/esm/lib/forEach.d.mts +24 -0
- package/dist/esm/lib/forEach.mjs +16 -0
- package/dist/esm/lib/forEach.mjs.map +1 -0
- package/dist/esm/lib/from.d.mts +21 -0
- package/dist/esm/lib/from.mjs +22 -0
- package/dist/esm/lib/from.mjs.map +1 -0
- package/dist/esm/lib/indexOf.d.mts +25 -0
- package/dist/esm/lib/indexOf.mjs +18 -0
- package/dist/esm/lib/indexOf.mjs.map +1 -0
- package/dist/esm/lib/intersect.d.mts +26 -0
- package/dist/esm/lib/intersect.mjs +13 -0
- package/dist/esm/lib/intersect.mjs.map +1 -0
- package/dist/esm/lib/isEmpty.d.mts +26 -0
- package/dist/esm/lib/isEmpty.mjs +11 -0
- package/dist/esm/lib/isEmpty.mjs.map +1 -0
- package/dist/esm/lib/last.d.mts +24 -0
- package/dist/esm/lib/last.mjs +15 -0
- package/dist/esm/lib/last.mjs.map +1 -0
- package/dist/esm/lib/map.d.mts +20 -0
- package/dist/esm/lib/map.mjs +16 -0
- package/dist/esm/lib/map.mjs.map +1 -0
- package/dist/esm/lib/max.d.mts +25 -0
- package/dist/esm/lib/max.mjs +17 -0
- package/dist/esm/lib/max.mjs.map +1 -0
- package/dist/esm/lib/min.d.mts +25 -0
- package/dist/esm/lib/min.mjs +17 -0
- package/dist/esm/lib/min.mjs.map +1 -0
- package/dist/esm/lib/partition.d.mts +33 -0
- package/dist/esm/lib/partition.mjs +23 -0
- package/dist/esm/lib/partition.mjs.map +1 -0
- package/dist/esm/lib/peekable.d.mts +35 -0
- package/dist/esm/lib/peekable.mjs +29 -0
- package/dist/esm/lib/peekable.mjs.map +1 -0
- package/dist/esm/lib/prepend.d.mts +22 -0
- package/dist/esm/lib/prepend.mjs +14 -0
- package/dist/esm/lib/prepend.mjs.map +1 -0
- package/dist/esm/lib/product.d.mts +24 -0
- package/dist/esm/lib/product.mjs +16 -0
- package/dist/esm/lib/product.mjs.map +1 -0
- package/dist/esm/lib/range.d.mts +33 -0
- package/dist/esm/lib/range.mjs +34 -0
- package/dist/esm/lib/range.mjs.map +1 -0
- package/dist/esm/lib/reduce.d.mts +33 -0
- package/dist/esm/lib/reduce.mjs +29 -0
- package/dist/esm/lib/reduce.mjs.map +1 -0
- package/dist/esm/lib/repeat.d.mts +20 -0
- package/dist/esm/lib/repeat.mjs +17 -0
- package/dist/esm/lib/repeat.mjs.map +1 -0
- package/dist/esm/lib/reverse.d.mts +26 -0
- package/dist/esm/lib/reverse.mjs +17 -0
- package/dist/esm/lib/reverse.mjs.map +1 -0
- package/dist/esm/lib/shared/_assertFunction.d.mts +3 -0
- package/dist/esm/lib/shared/_assertFunction.mjs +14 -0
- package/dist/esm/lib/shared/_assertFunction.mjs.map +1 -0
- package/dist/esm/lib/shared/_assertNotNegative.d.mts +3 -0
- package/dist/esm/lib/shared/_assertNotNegative.mjs +14 -0
- package/dist/esm/lib/shared/_assertNotNegative.mjs.map +1 -0
- package/dist/esm/lib/shared/_assertPositive.d.mts +3 -0
- package/dist/esm/lib/shared/_assertPositive.mjs +14 -0
- package/dist/esm/lib/shared/_assertPositive.mjs.map +1 -0
- package/dist/esm/lib/shared/_makeIterableIterator.d.mts +3 -0
- package/dist/esm/lib/shared/_makeIterableIterator.mjs +16 -0
- package/dist/esm/lib/shared/_makeIterableIterator.mjs.map +1 -0
- package/dist/esm/lib/shared/_toIntegerOrInfinityOrThrow.d.mts +3 -0
- package/dist/esm/lib/shared/_toIntegerOrInfinityOrThrow.mjs +18 -0
- package/dist/esm/lib/shared/_toIntegerOrInfinityOrThrow.mjs.map +1 -0
- package/dist/esm/lib/shared/_toIntegerOrThrow.d.mts +3 -0
- package/dist/esm/lib/shared/_toIntegerOrThrow.mjs +18 -0
- package/dist/esm/lib/shared/_toIntegerOrThrow.mjs.map +1 -0
- package/dist/esm/lib/shared/_toNumberOrThrow.d.mts +8 -0
- package/dist/esm/lib/shared/_toNumberOrThrow.mjs +31 -0
- package/dist/esm/lib/shared/_toNumberOrThrow.mjs.map +1 -0
- package/dist/esm/lib/slice.d.mts +62 -0
- package/dist/esm/lib/slice.mjs +41 -0
- package/dist/esm/lib/slice.mjs.map +1 -0
- package/dist/esm/lib/some.d.mts +33 -0
- package/dist/esm/lib/some.mjs +19 -0
- package/dist/esm/lib/some.mjs.map +1 -0
- package/dist/esm/lib/sorted.d.mts +25 -0
- package/dist/esm/lib/sorted.mjs +11 -0
- package/dist/esm/lib/sorted.mjs.map +1 -0
- package/dist/esm/lib/starMap.d.mts +28 -0
- package/dist/esm/lib/starMap.mjs +16 -0
- package/dist/esm/lib/starMap.mjs.map +1 -0
- package/dist/esm/lib/sum.d.mts +25 -0
- package/dist/esm/lib/sum.mjs +16 -0
- package/dist/esm/lib/sum.mjs.map +1 -0
- package/dist/esm/lib/take.d.mts +21 -0
- package/dist/esm/lib/take.mjs +22 -0
- package/dist/esm/lib/take.mjs.map +1 -0
- package/dist/esm/lib/takeLast.d.mts +25 -0
- package/dist/esm/lib/takeLast.mjs +28 -0
- package/dist/esm/lib/takeLast.mjs.map +1 -0
- package/dist/esm/lib/tee.d.mts +25 -0
- package/dist/esm/lib/tee.mjs +36 -0
- package/dist/esm/lib/tee.mjs.map +1 -0
- package/dist/esm/lib/toArray.d.mts +36 -0
- package/dist/esm/lib/toArray.mjs +11 -0
- package/dist/esm/lib/toArray.mjs.map +1 -0
- package/dist/esm/lib/toIterableIterator.d.mts +32 -0
- package/dist/esm/lib/toIterableIterator.mjs +16 -0
- package/dist/esm/lib/toIterableIterator.mjs.map +1 -0
- package/dist/esm/lib/union.d.mts +20 -0
- package/dist/esm/lib/union.mjs +19 -0
- package/dist/esm/lib/union.mjs.map +1 -0
- package/dist/esm/lib/unique.d.mts +20 -0
- package/dist/esm/lib/unique.mjs +11 -0
- package/dist/esm/lib/unique.mjs.map +1 -0
- package/dist/esm/lib/unzip.d.mts +32 -0
- package/dist/esm/lib/unzip.mjs +34 -0
- package/dist/esm/lib/unzip.mjs.map +1 -0
- package/dist/esm/lib/zip.d.mts +30 -0
- package/dist/esm/lib/zip.mjs +21 -0
- package/dist/esm/lib/zip.mjs.map +1 -0
- package/dist/iife/index.global.js +834 -0
- package/dist/iife/index.global.js.map +1 -0
- package/package.json +692 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _assertPositive_cjs = require('./shared/_assertPositive.cjs');
|
|
4
|
+
var _toIntegerOrThrow_cjs = require('./shared/_toIntegerOrThrow.cjs');
|
|
5
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
6
|
+
|
|
7
|
+
var __defProp = Object.defineProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
function* chunk(iterable, size) {
|
|
10
|
+
size = _assertPositive_cjs.assertPositive(_toIntegerOrThrow_cjs.toIntegerOrThrow(size), size);
|
|
11
|
+
let buffer = [];
|
|
12
|
+
for (const element of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
13
|
+
buffer.push(element);
|
|
14
|
+
if (buffer.length === size) {
|
|
15
|
+
yield buffer;
|
|
16
|
+
buffer = [];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (buffer.length) {
|
|
20
|
+
yield buffer;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
__name(chunk, "chunk");
|
|
24
|
+
|
|
25
|
+
exports.chunk = chunk;
|
|
26
|
+
//# sourceMappingURL=out.js.map
|
|
27
|
+
//# sourceMappingURL=chunk.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/chunk.ts"],"names":[],"mappings":";;;;AACA,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AAiB5B,UAAU,MAAyB,UAA2C,MAA+C;AACnI,SAAO,eAAe,iBAAiB,IAAI,GAAG,IAAI;AAElD,MAAI,SAAwB,CAAC;AAC7B,aAAW,WAAW,mBAAmB,QAAQ,GAAG;AACnD,WAAO,KAAK,OAAO;AAEnB,QAAI,OAAO,WAAW,MAAM;AAC3B,YAAM;AACN,eAAS,CAAC;AAAA,IACX;AAAA,EACD;AAEA,MAAI,OAAO,QAAQ;AAClB,UAAM;AAAA,EACP;AACD;AAhBiB","sourcesContent":["import type { IterableResolvable } from './from';\nimport { assertPositive } from './shared/_assertPositive';\nimport { toIntegerOrThrow } from './shared/_toIntegerOrThrow';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Chunks the iterable into arrays of at most `size` elements.\n *\n * @param iterable The iterator whose elements to chunk.\n * @param size The maximum size of each chunk.\n *\n * @example\n * ```typescript\n * import { chunk } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...chunk(iterable, 2)]);\n * // Output: [[1, 2], [3, 4], [5]]\n * ```\n */\nexport function* chunk<const ElementType>(iterable: IterableResolvable<ElementType>, size: number): IterableIterator<ElementType[]> {\n\tsize = assertPositive(toIntegerOrThrow(size), size);\n\n\tlet buffer: ElementType[] = [];\n\tfor (const element of toIterableIterator(iterable)) {\n\t\tbuffer.push(element);\n\n\t\tif (buffer.length === size) {\n\t\t\tyield buffer;\n\t\t\tbuffer = [];\n\t\t}\n\t}\n\n\tif (buffer.length) {\n\t\tyield buffer;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Chunks the iterable into arrays of at most `size` elements.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable The iterator whose elements to chunk.
|
|
7
|
+
* @param size The maximum size of each chunk.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { chunk } from '@sapphire/iterator-utilities';
|
|
12
|
+
*
|
|
13
|
+
* const iterable = [1, 2, 3, 4, 5];
|
|
14
|
+
* console.log([...chunk(iterable, 2)]);
|
|
15
|
+
* // Output: [[1, 2], [3, 4], [5]]
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
declare function chunk<const ElementType>(iterable: IterableResolvable<ElementType>, size: number): IterableIterator<ElementType[]>;
|
|
19
|
+
|
|
20
|
+
export { chunk };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var filter_cjs = require('./filter.cjs');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
function compact(iterable) {
|
|
8
|
+
return filter_cjs.filter(iterable, (value) => value !== null && value !== void 0);
|
|
9
|
+
}
|
|
10
|
+
__name(compact, "compact");
|
|
11
|
+
|
|
12
|
+
exports.compact = compact;
|
|
13
|
+
//# sourceMappingURL=out.js.map
|
|
14
|
+
//# sourceMappingURL=compact.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/compact.ts"],"names":[],"mappings":";;;;AAAA,SAAS,cAAc;AAiBhB,SAAS,QAA2B,UAA6F;AACvI,SAAO,OAAO,UAAU,CAAC,UAAgC,UAAU,QAAQ,UAAU,MAAS;AAC/F;AAFgB","sourcesContent":["import { filter } from './filter';\nimport type { IterableResolvable } from './from';\n\n/**\n * Creates a new iterable that yields all the non-nullish values (`null` and `undefined`) from the iterable.\n *\n * @param iterable An iterator that contains elements to be compacted.\n *\n * @example\n * ```typescript\n * import { compact } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, null, 2, undefined, 3];\n * console.log([...compact(iterable)]);\n * // Output: [1, 2, 3]\n * ```\n */\nexport function compact<const ElementType>(iterable: IterableResolvable<ElementType | null | undefined>): IterableIterator<ElementType> {\n\treturn filter(iterable, (value): value is ElementType => value !== null && value !== undefined);\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new iterable that yields all the non-nullish values (`null` and `undefined`) from the iterable.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable An iterator that contains elements to be compacted.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { compact } from '@sapphire/iterator-utilities';
|
|
11
|
+
*
|
|
12
|
+
* const iterable = [1, null, 2, undefined, 3];
|
|
13
|
+
* console.log([...compact(iterable)]);
|
|
14
|
+
* // Output: [1, 2, 3]
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
declare function compact<const ElementType>(iterable: IterableResolvable<ElementType | null | undefined>): IterableIterator<ElementType>;
|
|
18
|
+
|
|
19
|
+
export { compact };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var from_cjs = require('./from.cjs');
|
|
4
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
function* compress(iterable, selectors) {
|
|
9
|
+
const resolvedSelectors = from_cjs.from(selectors);
|
|
10
|
+
for (const resolvedIterableResult of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
11
|
+
const selectorResult = resolvedSelectors.next();
|
|
12
|
+
if (selectorResult.done) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (selectorResult.value) {
|
|
16
|
+
yield resolvedIterableResult;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
__name(compress, "compress");
|
|
21
|
+
|
|
22
|
+
exports.compress = compress;
|
|
23
|
+
//# sourceMappingURL=out.js.map
|
|
24
|
+
//# sourceMappingURL=compress.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/compress.ts"],"names":[],"mappings":";;;;AAAA,SAAS,YAAqC;AAC9C,SAAS,0BAA0B;AAuB5B,UAAU,SAChB,UACA,WACgC;AAChC,QAAM,oBAAoB,KAAK,SAAS;AACxC,aAAW,0BAA0B,mBAAmB,QAAQ,GAAG;AAClE,UAAM,iBAAiB,kBAAkB,KAAK;AAC9C,QAAI,eAAe,MAAM;AACxB;AAAA,IACD;AAEA,QAAI,eAAe,OAAO;AACzB,YAAM;AAAA,IACP;AAAA,EACD;AACD;AAfiB","sourcesContent":["import { from, type IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates a new iterable of the first iterable based on the truthiness of the corresponding element in the second iterable.\n *\n * @param iterable An iterator that contains elements to be compressed.\n * @param selectors The selectors that determine which elements to include in the result.\n * @returns An iterator that contains only the elements from the input iterator that correspond to `true` values in the\n * selectors iterator.\n *\n * @example\n * ```typescript\n * import { compress } from '@sapphire/iterator-utilities';\n *\n * const iterable = compress([1, 2, 3, 4, 5], [true, false, true, false, true]);\n * console.log([...iterable]);\n * // Output: [1, 3, 5]\n * ```\n *\n * @remarks\n *\n * This function consumes both input iterators until either is exhausted.\n */\nexport function* compress<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tselectors: IterableResolvable<boolean>\n): IterableIterator<ElementType> {\n\tconst resolvedSelectors = from(selectors);\n\tfor (const resolvedIterableResult of toIterableIterator(iterable)) {\n\t\tconst selectorResult = resolvedSelectors.next();\n\t\tif (selectorResult.done) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (selectorResult.value) {\n\t\t\tyield resolvedIterableResult;\n\t\t}\n\t}\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new iterable of the first iterable based on the truthiness of the corresponding element in the second iterable.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable An iterator that contains elements to be compressed.
|
|
7
|
+
* @param selectors The selectors that determine which elements to include in the result.
|
|
8
|
+
* @returns An iterator that contains only the elements from the input iterator that correspond to `true` values in the
|
|
9
|
+
* selectors iterator.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { compress } from '@sapphire/iterator-utilities';
|
|
14
|
+
*
|
|
15
|
+
* const iterable = compress([1, 2, 3, 4, 5], [true, false, true, false, true]);
|
|
16
|
+
* console.log([...iterable]);
|
|
17
|
+
* // Output: [1, 3, 5]
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
*
|
|
22
|
+
* This function consumes both input iterators until either is exhausted.
|
|
23
|
+
*/
|
|
24
|
+
declare function compress<const ElementType>(iterable: IterableResolvable<ElementType>, selectors: IterableResolvable<boolean>): IterableIterator<ElementType>;
|
|
25
|
+
|
|
26
|
+
export { compress };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
function contains(iterable, value) {
|
|
8
|
+
for (const element of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
9
|
+
if (element === value)
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
__name(contains, "contains");
|
|
15
|
+
|
|
16
|
+
exports.contains = contains;
|
|
17
|
+
//# sourceMappingURL=out.js.map
|
|
18
|
+
//# sourceMappingURL=contains.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/contains.ts"],"names":[],"mappings":";;;;AACA,SAAS,0BAA0B;AAsB5B,SAAS,SAA4B,UAA2C,OAA6B;AACnH,aAAW,WAAW,mBAAmB,QAAQ,GAAG;AACnD,QAAI,YAAY;AAAO,aAAO;AAAA,EAC/B;AAEA,SAAO;AACR;AANgB","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Advances the iterable until it finds the element, returning `true` if it's found and `false` otherwise.\n *\n * @param iterable The iterator in which to locate a value.\n * @param value The value to locate in the iterator.\n * @returns `true` if the value is found in the iterator; otherwise, `false`.\n *\n * @example\n * ```typescript\n * import { contains } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(contains(iterable, 3));\n * // Output: true\n * ```\n *\n * @remarks\n *\n * This function consumes the iterator until the value is found or the iterator is exhausted.\n */\nexport function contains<const ElementType>(iterable: IterableResolvable<ElementType>, value: ElementType): boolean {\n\tfor (const element of toIterableIterator(iterable)) {\n\t\tif (element === value) return true;\n\t}\n\n\treturn false;\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Advances the iterable until it finds the element, returning `true` if it's found and `false` otherwise.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable The iterator in which to locate a value.
|
|
7
|
+
* @param value The value to locate in the iterator.
|
|
8
|
+
* @returns `true` if the value is found in the iterator; otherwise, `false`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { contains } from '@sapphire/iterator-utilities';
|
|
13
|
+
*
|
|
14
|
+
* const iterable = [1, 2, 3, 4, 5];
|
|
15
|
+
* console.log(contains(iterable, 3));
|
|
16
|
+
* // Output: true
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
*
|
|
21
|
+
* This function consumes the iterator until the value is found or the iterator is exhausted.
|
|
22
|
+
*/
|
|
23
|
+
declare function contains<const ElementType>(iterable: IterableResolvable<ElementType>, value: ElementType): boolean;
|
|
24
|
+
|
|
25
|
+
export { contains };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var from_cjs = require('./from.cjs');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
function count(iterable) {
|
|
8
|
+
let count2 = 0;
|
|
9
|
+
const resolvedIterable = from_cjs.from(iterable);
|
|
10
|
+
while (!resolvedIterable.next().done) {
|
|
11
|
+
count2++;
|
|
12
|
+
}
|
|
13
|
+
return count2;
|
|
14
|
+
}
|
|
15
|
+
__name(count, "count");
|
|
16
|
+
|
|
17
|
+
exports.count = count;
|
|
18
|
+
//# sourceMappingURL=out.js.map
|
|
19
|
+
//# sourceMappingURL=count.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/count.ts"],"names":["count"],"mappings":";;;;AAAA,SAAS,YAAqC;AAqBvC,SAAS,MAAyB,UAAmD;AAC3F,MAAIA,SAAQ;AACZ,QAAM,mBAAmB,KAAK,QAAQ;AACtC,SAAO,CAAC,iBAAiB,KAAK,EAAE,MAAM;AACrC,IAAAA;AAAA,EACD;AAEA,SAAOA;AACR;AARgB","sourcesContent":["import { from, type IterableResolvable } from './from';\n\n/**\n * Consumes the iterable and returns the number of elements.\n *\n * @param iterable An iterator that contains elements to be counted.\n * @returns The number of elements in the input iterator.\n *\n * @example\n * ```typescript\n * import { count } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(count(iterable));\n * // Output: 5\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function count<const ElementType>(iterable: IterableResolvable<ElementType>): number {\n\tlet count = 0;\n\tconst resolvedIterable = from(iterable);\n\twhile (!resolvedIterable.next().done) {\n\t\tcount++;\n\t}\n\n\treturn count;\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Consumes the iterable and returns the number of elements.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable An iterator that contains elements to be counted.
|
|
7
|
+
* @returns The number of elements in the input iterator.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { count } from '@sapphire/iterator-utilities';
|
|
12
|
+
*
|
|
13
|
+
* const iterable = [1, 2, 3, 4, 5];
|
|
14
|
+
* console.log(count(iterable));
|
|
15
|
+
* // Output: 5
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
*
|
|
20
|
+
* This function consumes the entire iterator.
|
|
21
|
+
*/
|
|
22
|
+
declare function count<const ElementType>(iterable: IterableResolvable<ElementType>): number;
|
|
23
|
+
|
|
24
|
+
export { count };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
function* cycle(iterable) {
|
|
8
|
+
const results = [];
|
|
9
|
+
for (const element of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
10
|
+
yield element;
|
|
11
|
+
results.push(element);
|
|
12
|
+
}
|
|
13
|
+
while (results.length > 0) {
|
|
14
|
+
for (const element of results) {
|
|
15
|
+
yield element;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
__name(cycle, "cycle");
|
|
20
|
+
|
|
21
|
+
exports.cycle = cycle;
|
|
22
|
+
//# sourceMappingURL=out.js.map
|
|
23
|
+
//# sourceMappingURL=cycle.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/cycle.ts"],"names":[],"mappings":";;;;AACA,SAAS,0BAA0B;AAkB5B,UAAU,MAAyB,UAA0E;AACnH,QAAM,UAAU,CAAC;AACjB,aAAW,WAAW,mBAAmB,QAAQ,GAAG;AACnD,UAAM;AACN,YAAQ,KAAK,OAAO;AAAA,EACrB;AAEA,SAAO,QAAQ,SAAS,GAAG;AAC1B,eAAW,WAAW,SAAS;AAC9B,YAAM;AAAA,IACP;AAAA,EACD;AACD;AAZiB","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates an infinite iterable by cycling through the elements of the input iterable.\n *\n * @param iterable An iterator to cycle over.\n *\n * @example\n * ```typescript\n * import { cycle } from '@sapphire/iterator-utilities';\n *\n * const iterable = cycle([1, 2, 3]);\n * for (const element of iterable) {\n * \tconsole.log(element);\n * \t// Output: 1, 2, 3, 1, 2, 3, 1, 2, 3, ...\n * }\n * ```\n */\nexport function* cycle<const ElementType>(iterable: IterableResolvable<ElementType>): IterableIterator<ElementType> {\n\tconst results = [] as ElementType[];\n\tfor (const element of toIterableIterator(iterable)) {\n\t\tyield element;\n\t\tresults.push(element);\n\t}\n\n\twhile (results.length > 0) {\n\t\tfor (const element of results) {\n\t\t\tyield element;\n\t\t}\n\t}\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates an infinite iterable by cycling through the elements of the input iterable.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable An iterator to cycle over.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { cycle } from '@sapphire/iterator-utilities';
|
|
11
|
+
*
|
|
12
|
+
* const iterable = cycle([1, 2, 3]);
|
|
13
|
+
* for (const element of iterable) {
|
|
14
|
+
* console.log(element);
|
|
15
|
+
* // Output: 1, 2, 3, 1, 2, 3, 1, 2, 3, ...
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare function cycle<const ElementType>(iterable: IterableResolvable<ElementType>): IterableIterator<ElementType>;
|
|
20
|
+
|
|
21
|
+
export { cycle };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var filter_cjs = require('./filter.cjs');
|
|
4
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
function difference(first, second) {
|
|
9
|
+
const set = new Set(toIterableIterator_cjs.toIterableIterator(second));
|
|
10
|
+
return filter_cjs.filter(first, (value) => !set.has(value));
|
|
11
|
+
}
|
|
12
|
+
__name(difference, "difference");
|
|
13
|
+
|
|
14
|
+
exports.difference = difference;
|
|
15
|
+
exports.except = difference;
|
|
16
|
+
exports.omit = difference;
|
|
17
|
+
//# sourceMappingURL=out.js.map
|
|
18
|
+
//# sourceMappingURL=difference.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/difference.ts"],"names":[],"mappings":";;;;AAAA,SAAS,cAAc;AAEvB,SAAS,0BAA0B;AAsB5B,SAAS,WACf,OACA,QACgC;AAChC,QAAM,MAAM,IAAI,IAAI,mBAAmB,MAAM,CAAC;AAC9C,SAAO,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC;AAChD;AANgB","sourcesContent":["import { filter } from './filter';\nimport type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates an iterable with the elements of the first iterable that are not in the second iterable.\n *\n * @param first An iterator to return elements from.\n * @param second An iterator that contains elements to exclude from the result.\n *\n * @example\n * ```typescript\n * import { difference } from '@sapphire/iterator-utilities';\n *\n * const first = [1, 2, 3, 4, 5];\n * const second = [3, 4, 5, 6, 7];\n * console.log([...difference(first, second)]);\n * // Output: [1, 2]\n * ```\n *\n * @remarks\n *\n * This function consumes the entire `second` iterator to build the set of elements to exclude from `first`.\n */\nexport function difference<const ElementType>(\n\tfirst: IterableResolvable<ElementType>,\n\tsecond: IterableResolvable<ElementType>\n): IterableIterator<ElementType> {\n\tconst set = new Set(toIterableIterator(second));\n\treturn filter(first, (value) => !set.has(value));\n}\n\nexport { difference as except, difference as omit };\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates an iterable with the elements of the first iterable that are not in the second iterable.
|
|
5
|
+
*
|
|
6
|
+
* @param first An iterator to return elements from.
|
|
7
|
+
* @param second An iterator that contains elements to exclude from the result.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { difference } from '@sapphire/iterator-utilities';
|
|
12
|
+
*
|
|
13
|
+
* const first = [1, 2, 3, 4, 5];
|
|
14
|
+
* const second = [3, 4, 5, 6, 7];
|
|
15
|
+
* console.log([...difference(first, second)]);
|
|
16
|
+
* // Output: [1, 2]
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
*
|
|
21
|
+
* This function consumes the entire `second` iterator to build the set of elements to exclude from `first`.
|
|
22
|
+
*/
|
|
23
|
+
declare function difference<const ElementType>(first: IterableResolvable<ElementType>, second: IterableResolvable<ElementType>): IterableIterator<ElementType>;
|
|
24
|
+
|
|
25
|
+
export { difference, difference as except, difference as omit };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var empty_cjs = require('./empty.cjs');
|
|
4
|
+
var _assertNotNegative_cjs = require('./shared/_assertNotNegative.cjs');
|
|
5
|
+
var _toIntegerOrInfinityOrThrow_cjs = require('./shared/_toIntegerOrInfinityOrThrow.cjs');
|
|
6
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
7
|
+
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
+
function drop(iterable, count) {
|
|
11
|
+
count = _assertNotNegative_cjs.assertNotNegative(_toIntegerOrInfinityOrThrow_cjs.toIntegerOrInfinityOrThrow(count), count);
|
|
12
|
+
const resolvedIterable = toIterableIterator_cjs.toIterableIterator(iterable);
|
|
13
|
+
if (count === 0)
|
|
14
|
+
return resolvedIterable;
|
|
15
|
+
if (count === Number.POSITIVE_INFINITY)
|
|
16
|
+
return empty_cjs.empty();
|
|
17
|
+
for (let i = 0; i < count; i++) {
|
|
18
|
+
if (resolvedIterable.next().done)
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
return resolvedIterable;
|
|
22
|
+
}
|
|
23
|
+
__name(drop, "drop");
|
|
24
|
+
|
|
25
|
+
exports.drop = drop;
|
|
26
|
+
exports.skip = drop;
|
|
27
|
+
//# sourceMappingURL=out.js.map
|
|
28
|
+
//# sourceMappingURL=drop.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/drop.ts"],"names":[],"mappings":";;;;AAAA,SAAS,aAAa;AAEtB,SAAS,yBAAyB;AAClC,SAAS,kCAAkC;AAC3C,SAAS,0BAA0B;AAkB5B,SAAS,KAAwB,UAA2C,OAA8C;AAChI,UAAQ,kBAAkB,2BAA2B,KAAK,GAAG,KAAK;AAClE,QAAM,mBAAmB,mBAAmB,QAAQ;AAGpD,MAAI,UAAU;AAAG,WAAO;AAExB,MAAI,UAAU,OAAO;AAAmB,WAAO,MAAM;AAErD,WAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC/B,QAAI,iBAAiB,KAAK,EAAE;AAAM;AAAA,EACnC;AAEA,SAAO;AACR;AAdgB","sourcesContent":["import { empty } from './empty';\nimport type { IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Advances the iterable by `count` elements from the iterable.\n *\n * @param iterable An iterator to drop values from.\n * @param count The number of elements to drop from the start of the iteration.\n * @returns An iterator that contains the elements of the provided iterator, except for the first `count` elements.\n *\n * @example\n * ```typescript\n * import { drop } from '@sapphire/iterator-utilities';\n *\n * const iterable = drop(iterator, 2);\n * console.log([...iterable]);\n * // Output: [3, 4, 5]\n * ```\n */\nexport function drop<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType> {\n\tcount = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);\n\tconst resolvedIterable = toIterableIterator(iterable);\n\n\t// If the count is 0, return the original iterable:\n\tif (count === 0) return resolvedIterable;\n\t// If the count is infinite, return an empty iterable:\n\tif (count === Number.POSITIVE_INFINITY) return empty();\n\n\tfor (let i = 0; i < count; i++) {\n\t\tif (resolvedIterable.next().done) break;\n\t}\n\n\treturn resolvedIterable;\n}\n\nexport { drop as skip };\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Advances the iterable by `count` elements from the iterable.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable An iterator to drop values from.
|
|
7
|
+
* @param count The number of elements to drop from the start of the iteration.
|
|
8
|
+
* @returns An iterator that contains the elements of the provided iterator, except for the first `count` elements.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { drop } from '@sapphire/iterator-utilities';
|
|
13
|
+
*
|
|
14
|
+
* const iterable = drop(iterator, 2);
|
|
15
|
+
* console.log([...iterable]);
|
|
16
|
+
* // Output: [3, 4, 5]
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare function drop<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType>;
|
|
20
|
+
|
|
21
|
+
export { drop, drop as skip };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var empty_cjs = require('./empty.cjs');
|
|
4
|
+
var _assertNotNegative_cjs = require('./shared/_assertNotNegative.cjs');
|
|
5
|
+
var _toIntegerOrInfinityOrThrow_cjs = require('./shared/_toIntegerOrInfinityOrThrow.cjs');
|
|
6
|
+
var take_cjs = require('./take.cjs');
|
|
7
|
+
var toArray_cjs = require('./toArray.cjs');
|
|
8
|
+
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
11
|
+
function dropLast(iterable, count) {
|
|
12
|
+
count = _assertNotNegative_cjs.assertNotNegative(_toIntegerOrInfinityOrThrow_cjs.toIntegerOrInfinityOrThrow(count), count);
|
|
13
|
+
const array = toArray_cjs.toArray(iterable);
|
|
14
|
+
if (array.length <= count)
|
|
15
|
+
return empty_cjs.empty();
|
|
16
|
+
return take_cjs.take(array.values(), array.length - count);
|
|
17
|
+
}
|
|
18
|
+
__name(dropLast, "dropLast");
|
|
19
|
+
|
|
20
|
+
exports.dropLast = dropLast;
|
|
21
|
+
exports.skipLast = dropLast;
|
|
22
|
+
//# sourceMappingURL=out.js.map
|
|
23
|
+
//# sourceMappingURL=dropLast.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/dropLast.ts"],"names":[],"mappings":";;;;AAAA,SAAS,aAAa;AAEtB,SAAS,yBAAyB;AAClC,SAAS,kCAAkC;AAC3C,SAAS,YAAY;AACrB,SAAS,eAAe;AAsBjB,SAAS,SAA4B,UAA2C,OAA8C;AACpI,UAAQ,kBAAkB,2BAA2B,KAAK,GAAG,KAAK;AAClE,QAAM,QAAQ,QAAQ,QAAQ;AAC9B,MAAI,MAAM,UAAU;AAAO,WAAO,MAAM;AACxC,SAAO,KAAK,MAAM,OAAO,GAAG,MAAM,SAAS,KAAK;AACjD;AALgB","sourcesContent":["import { empty } from './empty';\nimport type { IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\nimport { take } from './take';\nimport { toArray } from './toArray';\n\n/**\n * Consumes the iterable, creating a new iterator without the last `count` elements from the iterable.\n *\n * @param iterable An iterator to drop values from.\n * @param count The number of values to drop from the end of the iterator.\n * @returns An iterator that contains the elements of the provided iterator, except for the last `count` elements.\n *\n * @example\n * ```typescript\n * import { dropLast } from '@sapphire/iterator-utilities';\n *\n * const iterable = dropLast([1, 2, 3, 4, 5], 2);\n * console.log([...iterable]);\n * // Output: [1, 2, 3]\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function dropLast<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType> {\n\tcount = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);\n\tconst array = toArray(iterable);\n\tif (array.length <= count) return empty();\n\treturn take(array.values(), array.length - count);\n}\n\nexport { dropLast as skipLast };\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Consumes the iterable, creating a new iterator without the last `count` elements from the iterable.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable An iterator to drop values from.
|
|
7
|
+
* @param count The number of values to drop from the end of the iterator.
|
|
8
|
+
* @returns An iterator that contains the elements of the provided iterator, except for the last `count` elements.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { dropLast } from '@sapphire/iterator-utilities';
|
|
13
|
+
*
|
|
14
|
+
* const iterable = dropLast([1, 2, 3, 4, 5], 2);
|
|
15
|
+
* console.log([...iterable]);
|
|
16
|
+
* // Output: [1, 2, 3]
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
*
|
|
21
|
+
* This function consumes the entire iterator.
|
|
22
|
+
*/
|
|
23
|
+
declare function dropLast<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType>;
|
|
24
|
+
|
|
25
|
+
export { dropLast, dropLast as skipLast };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _assertFunction_cjs = require('./shared/_assertFunction.cjs');
|
|
4
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
function* dropWhile(iterable, callbackFn) {
|
|
9
|
+
callbackFn = _assertFunction_cjs.assertFunction(callbackFn);
|
|
10
|
+
let index = 0;
|
|
11
|
+
for (const value of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
12
|
+
if (!callbackFn(value, index++)) {
|
|
13
|
+
yield value;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
__name(dropWhile, "dropWhile");
|
|
18
|
+
|
|
19
|
+
exports.dropWhile = dropWhile;
|
|
20
|
+
exports.skipWhile = dropWhile;
|
|
21
|
+
//# sourceMappingURL=out.js.map
|
|
22
|
+
//# sourceMappingURL=dropWhile.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/dropWhile.ts"],"names":[],"mappings":";;;;AACA,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AA4B5B,UAAU,UAChB,UACA,YACgC;AAChC,eAAa,eAAe,UAAU;AAEtC,MAAI,QAAQ;AACZ,aAAW,SAAS,mBAAmB,QAAQ,GAAG;AACjD,QAAI,CAAC,WAAW,OAAO,OAAO,GAAG;AAChC,YAAM;AAAA,IACP;AAAA,EACD;AACD;AAZiB","sourcesContent":["import type { IterableResolvable } from './from';\nimport { assertFunction } from './shared/_assertFunction';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates a new iterator without the elements that satisfy the specified test.\n *\n * @param iterable An iterator to drop values from.\n * @param callbackFn A function to execute for each element produced by the iterator. It should return a falsy value to make the element yielded by the iterator helper, and a truthy value otherwise.\n * @returns An iterator that produces elements from the given iterator that don't satisfy the specified test.\n *\n * @example\n * ```typescript\n * import { dropWhile } from '@sapphire/iterator-utilities';\n *\n * const iterable = dropWhile([1, 2, 3, 4, 5], (value) => value < 3);\n * console.log([...iterable]);\n * // Output: [3, 4, 5]\n * ```\n *\n * @seealso {@link filter} or {@link takeWhile} for the opposite behavior.\n */\nexport function dropWhile<const ElementType, const FilteredType extends ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (element: ElementType, index: number) => element is FilteredType\n): IterableIterator<Exclude<ElementType, FilteredType>>;\nexport function dropWhile<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (element: ElementType, index: number) => boolean\n): IterableIterator<ElementType>;\nexport function* dropWhile<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (element: ElementType, index: number) => boolean\n): IterableIterator<ElementType> {\n\tcallbackFn = assertFunction(callbackFn);\n\n\tlet index = 0;\n\tfor (const value of toIterableIterator(iterable)) {\n\t\tif (!callbackFn(value, index++)) {\n\t\t\tyield value;\n\t\t}\n\t}\n}\n\nexport { dropWhile as skipWhile };\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new iterator without the elements that satisfy the specified test.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable An iterator to drop values from.
|
|
7
|
+
* @param callbackFn A function to execute for each element produced by the iterator. It should return a falsy value to make the element yielded by the iterator helper, and a truthy value otherwise.
|
|
8
|
+
* @returns An iterator that produces elements from the given iterator that don't satisfy the specified test.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { dropWhile } from '@sapphire/iterator-utilities';
|
|
13
|
+
*
|
|
14
|
+
* const iterable = dropWhile([1, 2, 3, 4, 5], (value) => value < 3);
|
|
15
|
+
* console.log([...iterable]);
|
|
16
|
+
* // Output: [3, 4, 5]
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @seealso {@link filter} or {@link takeWhile} for the opposite behavior.
|
|
20
|
+
*/
|
|
21
|
+
declare function dropWhile<const ElementType, const FilteredType extends ElementType>(iterable: IterableResolvable<ElementType>, callbackFn: (element: ElementType, index: number) => element is FilteredType): IterableIterator<Exclude<ElementType, FilteredType>>;
|
|
22
|
+
declare function dropWhile<const ElementType>(iterable: IterableResolvable<ElementType>, callbackFn: (element: ElementType, index: number) => boolean): IterableIterator<ElementType>;
|
|
23
|
+
|
|
24
|
+
export { dropWhile, dropWhile as skipWhile };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _makeIterableIterator_cjs = require('./shared/_makeIterableIterator.cjs');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
function empty() {
|
|
8
|
+
return _makeIterableIterator_cjs.makeIterableIterator(() => ({ done: true, value: void 0 }));
|
|
9
|
+
}
|
|
10
|
+
__name(empty, "empty");
|
|
11
|
+
|
|
12
|
+
exports.empty = empty;
|
|
13
|
+
//# sourceMappingURL=out.js.map
|
|
14
|
+
//# sourceMappingURL=empty.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/empty.ts"],"names":[],"mappings":";;;;AAAA,SAAS,4BAA4B;AAgB9B,SAAS,QAAkE;AACjF,SAAO,qBAAkC,OAAO,EAAE,MAAM,MAAM,OAAO,OAAU,EAAE;AAClF;AAFgB","sourcesContent":["import { makeIterableIterator } from './shared/_makeIterableIterator';\n\n/**\n * Creates an empty iterator.\n *\n * @returns An empty iterator.\n *\n * @example\n * ```typescript\n * import { empty } from '@sapphire/iterator-utilities';\n *\n * const iterable = empty();\n * console.log([...iterable]);\n * // Output: []\n * ```\n */\nexport function empty<const ElementType = never>(): IterableIterator<ElementType> {\n\treturn makeIterableIterator<ElementType>(() => ({ done: true, value: undefined }));\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates an empty iterator.
|
|
3
|
+
*
|
|
4
|
+
* @returns An empty iterator.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { empty } from '@sapphire/iterator-utilities';
|
|
9
|
+
*
|
|
10
|
+
* const iterable = empty();
|
|
11
|
+
* console.log([...iterable]);
|
|
12
|
+
* // Output: []
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
declare function empty<const ElementType = never>(): IterableIterator<ElementType>;
|
|
16
|
+
|
|
17
|
+
export { empty };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
function* enumerate(iterable) {
|
|
8
|
+
let index = 0;
|
|
9
|
+
for (const value of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
10
|
+
yield [index++, value];
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
__name(enumerate, "enumerate");
|
|
14
|
+
|
|
15
|
+
exports.enumerate = enumerate;
|
|
16
|
+
//# sourceMappingURL=out.js.map
|
|
17
|
+
//# sourceMappingURL=enumerate.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/enumerate.ts"],"names":[],"mappings":";;;;AACA,SAAS,0BAA0B;AAqB5B,UAAU,UAA6B,UAAoF;AACjI,MAAI,QAAQ;AACZ,aAAW,SAAS,mBAAmB,QAAQ,GAAG;AACjD,UAAM,CAAC,SAAS,KAAK;AAAA,EACtB;AACD;AALiB","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates a new iterable that yields the index and value of each element.\n *\n * @param iterable An iterator to enumerate.\n * @returns An iterator that yields the index and value of each element in the source iterator.\n *\n * @example\n * ```typescript\n * import { enumerate } from '@sapphire/iterator-utilities';\n *\n * const iterable = ['a', 'b', 'c'];\n * for (const [index, value] of enumerate(iterable)) {\n * \tconsole.log(`Index: ${index}, Value: ${value}`);\n * \t// Output: Index: 0, Value: a\n * \t// Output: Index: 1, Value: b\n * \t// Output: Index: 2, Value: c\n * }\n * ```\n */\nexport function* enumerate<const ElementType>(iterable: IterableResolvable<ElementType>): IterableIterator<[number, ElementType]> {\n\tlet index = 0;\n\tfor (const value of toIterableIterator(iterable)) {\n\t\tyield [index++, value];\n\t}\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new iterable that yields the index and value of each element.
|
|
5
|
+
*
|
|
6
|
+
* @param iterable An iterator to enumerate.
|
|
7
|
+
* @returns An iterator that yields the index and value of each element in the source iterator.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { enumerate } from '@sapphire/iterator-utilities';
|
|
12
|
+
*
|
|
13
|
+
* const iterable = ['a', 'b', 'c'];
|
|
14
|
+
* for (const [index, value] of enumerate(iterable)) {
|
|
15
|
+
* console.log(`Index: ${index}, Value: ${value}`);
|
|
16
|
+
* // Output: Index: 0, Value: a
|
|
17
|
+
* // Output: Index: 1, Value: b
|
|
18
|
+
* // Output: Index: 2, Value: c
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
declare function enumerate<const ElementType>(iterable: IterableResolvable<ElementType>): IterableIterator<[number, ElementType]>;
|
|
23
|
+
|
|
24
|
+
export { enumerate };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _assertFunction_cjs = require('./shared/_assertFunction.cjs');
|
|
4
|
+
var toIterableIterator_cjs = require('./toIterableIterator.cjs');
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
function every(iterable, callbackFn) {
|
|
9
|
+
callbackFn = _assertFunction_cjs.assertFunction(callbackFn);
|
|
10
|
+
let index = 0;
|
|
11
|
+
for (const value of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
12
|
+
if (!callbackFn(value, index++))
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
__name(every, "every");
|
|
18
|
+
|
|
19
|
+
exports.every = every;
|
|
20
|
+
//# sourceMappingURL=out.js.map
|
|
21
|
+
//# sourceMappingURL=every.cjs.map
|