@sapphire/iterator-utilities 1.1.0-next.63f6019b.0 → 2.0.0-next.09afdaab
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 +32 -0
- package/README.md +81 -15
- package/dist/cjs/index.cjs +218 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +33 -10
- package/dist/cjs/lib/all.cjs +12 -0
- package/dist/cjs/lib/all.cjs.map +1 -0
- package/dist/cjs/lib/all.d.cts +2 -0
- package/dist/cjs/lib/any.cjs +12 -0
- package/dist/cjs/lib/any.cjs.map +1 -0
- package/dist/cjs/lib/any.d.cts +2 -0
- package/dist/cjs/lib/append.cjs +1 -1
- package/dist/cjs/lib/append.cjs.map +1 -1
- package/dist/cjs/lib/at.cjs +1 -1
- package/dist/cjs/lib/at.cjs.map +1 -1
- package/dist/cjs/lib/average.cjs +1 -1
- package/dist/cjs/lib/average.cjs.map +1 -1
- package/dist/cjs/lib/chain.cjs +1 -1
- package/dist/cjs/lib/chain.cjs.map +1 -1
- package/dist/cjs/lib/chunk.cjs +1 -1
- package/dist/cjs/lib/chunk.cjs.map +1 -1
- package/dist/cjs/lib/collect.cjs +12 -0
- package/dist/cjs/lib/collect.cjs.map +1 -0
- package/dist/cjs/lib/collect.d.cts +2 -0
- package/dist/cjs/lib/collectInto.cjs +17 -0
- package/dist/cjs/lib/collectInto.cjs.map +1 -0
- package/dist/cjs/lib/collectInto.d.cts +29 -0
- package/dist/cjs/lib/compact.cjs +1 -1
- package/dist/cjs/lib/compact.cjs.map +1 -1
- package/dist/cjs/lib/compare.cjs +15 -0
- package/dist/cjs/lib/compare.cjs.map +1 -0
- package/dist/cjs/lib/compare.d.cts +32 -0
- package/dist/cjs/lib/compareBy.cjs +26 -0
- package/dist/cjs/lib/compareBy.cjs.map +1 -0
- package/dist/cjs/lib/compareBy.d.cts +31 -0
- package/dist/cjs/lib/compress.cjs +1 -1
- package/dist/cjs/lib/compress.cjs.map +1 -1
- package/dist/cjs/lib/contains.cjs +2 -3
- package/dist/cjs/lib/contains.cjs.map +1 -1
- package/dist/cjs/lib/count.cjs +1 -1
- package/dist/cjs/lib/count.cjs.map +1 -1
- package/dist/cjs/lib/cycle.cjs +1 -1
- package/dist/cjs/lib/cycle.cjs.map +1 -1
- package/dist/cjs/lib/difference.cjs +1 -1
- package/dist/cjs/lib/difference.cjs.map +1 -1
- package/dist/cjs/lib/drop.cjs +4 -8
- package/dist/cjs/lib/drop.cjs.map +1 -1
- package/dist/cjs/lib/drop.d.cts +1 -1
- package/dist/cjs/lib/dropLast.cjs +2 -4
- package/dist/cjs/lib/dropLast.cjs.map +1 -1
- package/dist/cjs/lib/dropLast.d.cts +1 -1
- package/dist/cjs/lib/dropWhile.cjs +1 -2
- package/dist/cjs/lib/dropWhile.cjs.map +1 -1
- package/dist/cjs/lib/dropWhile.d.cts +1 -1
- package/dist/cjs/lib/empty.cjs +1 -1
- package/dist/cjs/lib/empty.cjs.map +1 -1
- package/dist/cjs/lib/enumerate.cjs +1 -1
- package/dist/cjs/lib/enumerate.cjs.map +1 -1
- package/dist/cjs/lib/equal.cjs +15 -0
- package/dist/cjs/lib/equal.cjs.map +1 -0
- package/dist/cjs/lib/equal.d.cts +26 -0
- package/dist/cjs/lib/equalBy.cjs +23 -0
- package/dist/cjs/lib/equalBy.cjs.map +1 -0
- package/dist/cjs/lib/equalBy.d.cts +27 -0
- package/dist/cjs/lib/every.cjs +2 -3
- package/dist/cjs/lib/every.cjs.map +1 -1
- package/dist/cjs/lib/filter.cjs +2 -4
- package/dist/cjs/lib/filter.cjs.map +1 -1
- package/dist/cjs/lib/filter.d.cts +1 -1
- package/dist/cjs/lib/find.cjs +1 -1
- package/dist/cjs/lib/find.cjs.map +1 -1
- package/dist/cjs/lib/findIndex.cjs +1 -1
- package/dist/cjs/lib/findIndex.cjs.map +1 -1
- package/dist/cjs/lib/first.cjs +1 -1
- package/dist/cjs/lib/first.cjs.map +1 -1
- package/dist/cjs/lib/flat.cjs +1 -1
- package/dist/cjs/lib/flat.cjs.map +1 -1
- package/dist/cjs/lib/flatMap.cjs +1 -1
- package/dist/cjs/lib/flatMap.cjs.map +1 -1
- package/dist/cjs/lib/forEach.cjs +1 -1
- package/dist/cjs/lib/forEach.cjs.map +1 -1
- package/dist/cjs/lib/from.cjs +1 -1
- package/dist/cjs/lib/from.cjs.map +1 -1
- package/dist/cjs/lib/fuse.cjs +26 -0
- package/dist/cjs/lib/fuse.cjs.map +1 -0
- package/dist/cjs/lib/fuse.d.cts +47 -0
- package/dist/cjs/lib/greaterOrEqualThan.cjs +17 -0
- package/dist/cjs/lib/greaterOrEqualThan.cjs.map +1 -0
- package/dist/cjs/lib/greaterOrEqualThan.d.cts +32 -0
- package/dist/cjs/lib/greaterThan.cjs +17 -0
- package/dist/cjs/lib/greaterThan.cjs.map +1 -0
- package/dist/cjs/lib/greaterThan.d.cts +32 -0
- package/dist/cjs/lib/indexOf.cjs +1 -2
- package/dist/cjs/lib/indexOf.cjs.map +1 -1
- package/dist/cjs/lib/indexOf.d.cts +1 -1
- package/dist/cjs/lib/inspect.cjs +25 -0
- package/dist/cjs/lib/inspect.cjs.map +1 -0
- package/dist/cjs/lib/inspect.d.cts +39 -0
- package/dist/cjs/lib/intersect.cjs +1 -1
- package/dist/cjs/lib/intersect.cjs.map +1 -1
- package/dist/cjs/lib/intersperse.cjs +35 -0
- package/dist/cjs/lib/intersperse.cjs.map +1 -0
- package/dist/cjs/lib/intersperse.d.cts +30 -0
- package/dist/cjs/lib/isEmpty.cjs +1 -1
- package/dist/cjs/lib/isEmpty.cjs.map +1 -1
- package/dist/cjs/lib/isSorted.cjs +15 -0
- package/dist/cjs/lib/isSorted.cjs.map +1 -0
- package/dist/cjs/lib/isSorted.d.cts +35 -0
- package/dist/cjs/lib/isSortedBy.cjs +26 -0
- package/dist/cjs/lib/isSortedBy.cjs.map +1 -0
- package/dist/cjs/lib/isSortedBy.d.cts +32 -0
- package/dist/cjs/lib/isSortedByKey.cjs +29 -0
- package/dist/cjs/lib/isSortedByKey.cjs.map +1 -0
- package/dist/cjs/lib/isSortedByKey.d.cts +30 -0
- package/dist/cjs/lib/last.cjs +1 -1
- package/dist/cjs/lib/last.cjs.map +1 -1
- package/dist/cjs/lib/lessOrEqualThan.cjs +17 -0
- package/dist/cjs/lib/lessOrEqualThan.cjs.map +1 -0
- package/dist/cjs/lib/lessOrEqualThan.d.cts +32 -0
- package/dist/cjs/lib/lessThan.cjs +17 -0
- package/dist/cjs/lib/lessThan.cjs.map +1 -0
- package/dist/cjs/lib/lessThan.d.cts +32 -0
- package/dist/cjs/lib/map.cjs +1 -1
- package/dist/cjs/lib/map.cjs.map +1 -1
- package/dist/cjs/lib/max.cjs +4 -9
- package/dist/cjs/lib/max.cjs.map +1 -1
- package/dist/cjs/lib/max.d.cts +8 -3
- package/dist/cjs/lib/maxBy.cjs +27 -0
- package/dist/cjs/lib/maxBy.cjs.map +1 -0
- package/dist/cjs/lib/maxBy.d.cts +31 -0
- package/dist/cjs/lib/maxByKey.cjs +32 -0
- package/dist/cjs/lib/maxByKey.cjs.map +1 -0
- package/dist/cjs/lib/maxByKey.d.cts +32 -0
- package/dist/cjs/lib/min.cjs +4 -9
- package/dist/cjs/lib/min.cjs.map +1 -1
- package/dist/cjs/lib/min.d.cts +8 -3
- package/dist/cjs/lib/minBy.cjs +27 -0
- package/dist/cjs/lib/minBy.cjs.map +1 -0
- package/dist/cjs/lib/minBy.d.cts +31 -0
- package/dist/cjs/lib/minByKey.cjs +32 -0
- package/dist/cjs/lib/minByKey.cjs.map +1 -0
- package/dist/cjs/lib/minByKey.d.cts +31 -0
- package/dist/cjs/lib/notEqual.cjs +15 -0
- package/dist/cjs/lib/notEqual.cjs.map +1 -0
- package/dist/cjs/lib/notEqual.d.cts +26 -0
- package/dist/cjs/lib/nth.cjs +12 -0
- package/dist/cjs/lib/nth.cjs.map +1 -0
- package/dist/cjs/lib/nth.d.cts +2 -0
- package/dist/cjs/lib/partition.cjs +1 -1
- package/dist/cjs/lib/partition.cjs.map +1 -1
- package/dist/cjs/lib/peekable.cjs +2 -3
- package/dist/cjs/lib/peekable.cjs.map +1 -1
- package/dist/cjs/lib/peekable.d.cts +1 -1
- package/dist/cjs/lib/position.cjs +12 -0
- package/dist/cjs/lib/position.cjs.map +1 -0
- package/dist/cjs/lib/position.d.cts +2 -0
- package/dist/cjs/lib/prepend.cjs +1 -1
- package/dist/cjs/lib/prepend.cjs.map +1 -1
- package/dist/cjs/lib/product.cjs +1 -1
- package/dist/cjs/lib/product.cjs.map +1 -1
- package/dist/cjs/lib/range.cjs +1 -1
- package/dist/cjs/lib/range.cjs.map +1 -1
- package/dist/cjs/lib/reduce.cjs +2 -3
- package/dist/cjs/lib/reduce.cjs.map +1 -1
- package/dist/cjs/lib/repeat.cjs +1 -1
- package/dist/cjs/lib/repeat.cjs.map +1 -1
- package/dist/cjs/lib/reverse.cjs +3 -6
- package/dist/cjs/lib/reverse.cjs.map +1 -1
- package/dist/cjs/lib/shared/_assertFunction.cjs +1 -1
- package/dist/cjs/lib/shared/_assertFunction.cjs.map +1 -1
- package/dist/cjs/lib/shared/_assertNotNegative.cjs +1 -1
- package/dist/cjs/lib/shared/_assertNotNegative.cjs.map +1 -1
- package/dist/cjs/lib/shared/_assertPositive.cjs +1 -1
- package/dist/cjs/lib/shared/_assertPositive.cjs.map +1 -1
- package/dist/cjs/lib/shared/_compare.cjs +36 -0
- package/dist/cjs/lib/shared/_compare.cjs.map +1 -0
- package/dist/cjs/lib/shared/_compare.d.cts +20 -0
- package/dist/cjs/lib/shared/_makeIterableIterator.cjs +1 -1
- package/dist/cjs/lib/shared/_makeIterableIterator.cjs.map +1 -1
- package/dist/cjs/lib/shared/_toIntegerOrInfinityOrThrow.cjs +4 -7
- package/dist/cjs/lib/shared/_toIntegerOrInfinityOrThrow.cjs.map +1 -1
- package/dist/cjs/lib/shared/_toIntegerOrThrow.cjs +4 -7
- package/dist/cjs/lib/shared/_toIntegerOrThrow.cjs.map +1 -1
- package/dist/cjs/lib/shared/_toNumberOrThrow.cjs +1 -1
- package/dist/cjs/lib/shared/_toNumberOrThrow.cjs.map +1 -1
- package/dist/cjs/lib/shared/comparators.cjs +28 -0
- package/dist/cjs/lib/shared/comparators.cjs.map +1 -0
- package/dist/cjs/lib/shared/comparators.d.cts +34 -0
- package/dist/cjs/lib/skip.cjs +12 -0
- package/dist/cjs/lib/skip.cjs.map +1 -0
- package/dist/cjs/lib/skip.d.cts +2 -0
- package/dist/cjs/lib/skipLast.cjs +12 -0
- package/dist/cjs/lib/skipLast.cjs.map +1 -0
- package/dist/cjs/lib/skipLast.d.cts +2 -0
- package/dist/cjs/lib/skipWhile.cjs +12 -0
- package/dist/cjs/lib/skipWhile.cjs.map +1 -0
- package/dist/cjs/lib/skipWhile.d.cts +2 -0
- package/dist/cjs/lib/slice.cjs +2 -3
- package/dist/cjs/lib/slice.cjs.map +1 -1
- package/dist/cjs/lib/some.cjs +1 -1
- package/dist/cjs/lib/some.cjs.map +1 -1
- package/dist/cjs/lib/sorted.cjs +1 -1
- package/dist/cjs/lib/sorted.cjs.map +1 -1
- package/dist/cjs/lib/starMap.cjs +1 -1
- package/dist/cjs/lib/starMap.cjs.map +1 -1
- package/dist/cjs/lib/stepBy.cjs +29 -0
- package/dist/cjs/lib/stepBy.cjs.map +1 -0
- package/dist/cjs/lib/stepBy.d.cts +24 -0
- package/dist/cjs/lib/sum.cjs +1 -1
- package/dist/cjs/lib/sum.cjs.map +1 -1
- package/dist/cjs/lib/take.cjs +2 -3
- package/dist/cjs/lib/take.cjs.map +1 -1
- package/dist/cjs/lib/takeLast.cjs +3 -5
- package/dist/cjs/lib/takeLast.cjs.map +1 -1
- package/dist/cjs/lib/takeWhile.cjs +12 -0
- package/dist/cjs/lib/takeWhile.cjs.map +1 -0
- package/dist/cjs/lib/takeWhile.d.cts +2 -0
- package/dist/cjs/lib/tee.cjs +2 -3
- package/dist/cjs/lib/tee.cjs.map +1 -1
- package/dist/cjs/lib/toArray.cjs +1 -1
- package/dist/cjs/lib/toArray.cjs.map +1 -1
- package/dist/cjs/lib/toIterableIterator.cjs +1 -1
- package/dist/cjs/lib/toIterableIterator.cjs.map +1 -1
- package/dist/cjs/lib/union.cjs +1 -1
- package/dist/cjs/lib/union.cjs.map +1 -1
- package/dist/cjs/lib/union.d.cts +1 -0
- package/dist/cjs/lib/unique.cjs +1 -1
- package/dist/cjs/lib/unique.cjs.map +1 -1
- package/dist/cjs/lib/unzip.cjs +2 -3
- package/dist/cjs/lib/unzip.cjs.map +1 -1
- package/dist/cjs/lib/zip.cjs +2 -3
- package/dist/cjs/lib/zip.cjs.map +1 -1
- package/dist/esm/{chunk-G5GHKT7C.mjs → chunk-PAWJFY3S.mjs} +2 -2
- package/dist/esm/chunk-PAWJFY3S.mjs.map +1 -0
- package/dist/esm/index.d.mts +33 -10
- package/dist/esm/index.mjs +32 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/lib/all.d.mts +2 -0
- package/dist/esm/lib/all.mjs +4 -0
- package/dist/esm/lib/all.mjs.map +1 -0
- package/dist/esm/lib/any.d.mts +2 -0
- package/dist/esm/lib/any.mjs +4 -0
- package/dist/esm/lib/any.mjs.map +1 -0
- package/dist/esm/lib/append.mjs +2 -2
- package/dist/esm/lib/append.mjs.map +1 -1
- package/dist/esm/lib/at.mjs +2 -2
- package/dist/esm/lib/at.mjs.map +1 -1
- package/dist/esm/lib/average.mjs +2 -2
- package/dist/esm/lib/average.mjs.map +1 -1
- package/dist/esm/lib/chain.mjs +2 -2
- package/dist/esm/lib/chain.mjs.map +1 -1
- package/dist/esm/lib/chunk.mjs +2 -2
- package/dist/esm/lib/chunk.mjs.map +1 -1
- package/dist/esm/lib/collect.d.mts +2 -0
- package/dist/esm/lib/collect.mjs +4 -0
- package/dist/esm/lib/collect.mjs.map +1 -0
- package/dist/esm/lib/collectInto.d.mts +29 -0
- package/dist/esm/lib/collectInto.mjs +14 -0
- package/dist/esm/lib/collectInto.mjs.map +1 -0
- package/dist/esm/lib/compact.mjs +2 -2
- package/dist/esm/lib/compact.mjs.map +1 -1
- package/dist/esm/lib/compare.d.mts +32 -0
- package/dist/esm/lib/compare.mjs +12 -0
- package/dist/esm/lib/compare.mjs.map +1 -0
- package/dist/esm/lib/compareBy.d.mts +31 -0
- package/dist/esm/lib/compareBy.mjs +23 -0
- package/dist/esm/lib/compareBy.mjs.map +1 -0
- package/dist/esm/lib/compress.mjs +2 -2
- package/dist/esm/lib/compress.mjs.map +1 -1
- package/dist/esm/lib/contains.mjs +3 -4
- package/dist/esm/lib/contains.mjs.map +1 -1
- package/dist/esm/lib/count.mjs +2 -2
- package/dist/esm/lib/count.mjs.map +1 -1
- package/dist/esm/lib/cycle.mjs +2 -2
- package/dist/esm/lib/cycle.mjs.map +1 -1
- package/dist/esm/lib/difference.mjs +2 -2
- package/dist/esm/lib/difference.mjs.map +1 -1
- package/dist/esm/lib/drop.d.mts +1 -1
- package/dist/esm/lib/drop.mjs +6 -9
- package/dist/esm/lib/drop.mjs.map +1 -1
- package/dist/esm/lib/dropLast.d.mts +1 -1
- package/dist/esm/lib/dropLast.mjs +4 -5
- package/dist/esm/lib/dropLast.mjs.map +1 -1
- package/dist/esm/lib/dropWhile.d.mts +1 -1
- package/dist/esm/lib/dropWhile.mjs +3 -3
- package/dist/esm/lib/dropWhile.mjs.map +1 -1
- package/dist/esm/lib/empty.mjs +2 -2
- package/dist/esm/lib/empty.mjs.map +1 -1
- package/dist/esm/lib/enumerate.mjs +2 -2
- package/dist/esm/lib/enumerate.mjs.map +1 -1
- package/dist/esm/lib/equal.d.mts +26 -0
- package/dist/esm/lib/equal.mjs +11 -0
- package/dist/esm/lib/equal.mjs.map +1 -0
- package/dist/esm/lib/equalBy.d.mts +27 -0
- package/dist/esm/lib/equalBy.mjs +19 -0
- package/dist/esm/lib/equalBy.mjs.map +1 -0
- package/dist/esm/lib/every.mjs +3 -4
- package/dist/esm/lib/every.mjs.map +1 -1
- package/dist/esm/lib/filter.d.mts +1 -1
- package/dist/esm/lib/filter.mjs +4 -5
- package/dist/esm/lib/filter.mjs.map +1 -1
- package/dist/esm/lib/find.mjs +2 -2
- package/dist/esm/lib/find.mjs.map +1 -1
- package/dist/esm/lib/findIndex.mjs +2 -2
- package/dist/esm/lib/findIndex.mjs.map +1 -1
- package/dist/esm/lib/first.mjs +2 -2
- package/dist/esm/lib/first.mjs.map +1 -1
- package/dist/esm/lib/flat.mjs +2 -2
- package/dist/esm/lib/flat.mjs.map +1 -1
- package/dist/esm/lib/flatMap.mjs +2 -2
- package/dist/esm/lib/flatMap.mjs.map +1 -1
- package/dist/esm/lib/forEach.mjs +2 -2
- package/dist/esm/lib/forEach.mjs.map +1 -1
- package/dist/esm/lib/from.mjs +2 -2
- package/dist/esm/lib/from.mjs.map +1 -1
- package/dist/esm/lib/fuse.d.mts +47 -0
- package/dist/esm/lib/fuse.mjs +23 -0
- package/dist/esm/lib/fuse.mjs.map +1 -0
- package/dist/esm/lib/greaterOrEqualThan.d.mts +32 -0
- package/dist/esm/lib/greaterOrEqualThan.mjs +13 -0
- package/dist/esm/lib/greaterOrEqualThan.mjs.map +1 -0
- package/dist/esm/lib/greaterThan.d.mts +32 -0
- package/dist/esm/lib/greaterThan.mjs +13 -0
- package/dist/esm/lib/greaterThan.mjs.map +1 -0
- package/dist/esm/lib/indexOf.d.mts +1 -1
- package/dist/esm/lib/indexOf.mjs +3 -3
- package/dist/esm/lib/indexOf.mjs.map +1 -1
- package/dist/esm/lib/inspect.d.mts +39 -0
- package/dist/esm/lib/inspect.mjs +22 -0
- package/dist/esm/lib/inspect.mjs.map +1 -0
- package/dist/esm/lib/intersect.mjs +2 -2
- package/dist/esm/lib/intersect.mjs.map +1 -1
- package/dist/esm/lib/intersperse.d.mts +30 -0
- package/dist/esm/lib/intersperse.mjs +32 -0
- package/dist/esm/lib/intersperse.mjs.map +1 -0
- package/dist/esm/lib/isEmpty.mjs +2 -2
- package/dist/esm/lib/isEmpty.mjs.map +1 -1
- package/dist/esm/lib/isSorted.d.mts +35 -0
- package/dist/esm/lib/isSorted.mjs +12 -0
- package/dist/esm/lib/isSorted.mjs.map +1 -0
- package/dist/esm/lib/isSortedBy.d.mts +32 -0
- package/dist/esm/lib/isSortedBy.mjs +23 -0
- package/dist/esm/lib/isSortedBy.mjs.map +1 -0
- package/dist/esm/lib/isSortedByKey.d.mts +30 -0
- package/dist/esm/lib/isSortedByKey.mjs +26 -0
- package/dist/esm/lib/isSortedByKey.mjs.map +1 -0
- package/dist/esm/lib/last.mjs +2 -2
- package/dist/esm/lib/last.mjs.map +1 -1
- package/dist/esm/lib/lessOrEqualThan.d.mts +32 -0
- package/dist/esm/lib/lessOrEqualThan.mjs +13 -0
- package/dist/esm/lib/lessOrEqualThan.mjs.map +1 -0
- package/dist/esm/lib/lessThan.d.mts +32 -0
- package/dist/esm/lib/lessThan.mjs +13 -0
- package/dist/esm/lib/lessThan.mjs.map +1 -0
- package/dist/esm/lib/map.mjs +2 -2
- package/dist/esm/lib/map.mjs.map +1 -1
- package/dist/esm/lib/max.d.mts +8 -3
- package/dist/esm/lib/max.mjs +5 -10
- package/dist/esm/lib/max.mjs.map +1 -1
- package/dist/esm/lib/maxBy.d.mts +31 -0
- package/dist/esm/lib/maxBy.mjs +24 -0
- package/dist/esm/lib/maxBy.mjs.map +1 -0
- package/dist/esm/lib/maxByKey.d.mts +32 -0
- package/dist/esm/lib/maxByKey.mjs +29 -0
- package/dist/esm/lib/maxByKey.mjs.map +1 -0
- package/dist/esm/lib/min.d.mts +8 -3
- package/dist/esm/lib/min.mjs +5 -10
- package/dist/esm/lib/min.mjs.map +1 -1
- package/dist/esm/lib/minBy.d.mts +31 -0
- package/dist/esm/lib/minBy.mjs +24 -0
- package/dist/esm/lib/minBy.mjs.map +1 -0
- package/dist/esm/lib/minByKey.d.mts +31 -0
- package/dist/esm/lib/minByKey.mjs +29 -0
- package/dist/esm/lib/minByKey.mjs.map +1 -0
- package/dist/esm/lib/notEqual.d.mts +26 -0
- package/dist/esm/lib/notEqual.mjs +11 -0
- package/dist/esm/lib/notEqual.mjs.map +1 -0
- package/dist/esm/lib/nth.d.mts +2 -0
- package/dist/esm/lib/nth.mjs +4 -0
- package/dist/esm/lib/nth.mjs.map +1 -0
- package/dist/esm/lib/partition.mjs +2 -2
- package/dist/esm/lib/partition.mjs.map +1 -1
- package/dist/esm/lib/peekable.d.mts +1 -1
- package/dist/esm/lib/peekable.mjs +3 -4
- package/dist/esm/lib/peekable.mjs.map +1 -1
- package/dist/esm/lib/position.d.mts +2 -0
- package/dist/esm/lib/position.mjs +4 -0
- package/dist/esm/lib/position.mjs.map +1 -0
- package/dist/esm/lib/prepend.mjs +2 -2
- package/dist/esm/lib/prepend.mjs.map +1 -1
- package/dist/esm/lib/product.mjs +2 -2
- package/dist/esm/lib/product.mjs.map +1 -1
- package/dist/esm/lib/range.mjs +2 -2
- package/dist/esm/lib/range.mjs.map +1 -1
- package/dist/esm/lib/reduce.mjs +3 -4
- package/dist/esm/lib/reduce.mjs.map +1 -1
- package/dist/esm/lib/repeat.mjs +2 -2
- package/dist/esm/lib/repeat.mjs.map +1 -1
- package/dist/esm/lib/reverse.mjs +4 -7
- package/dist/esm/lib/reverse.mjs.map +1 -1
- package/dist/esm/lib/shared/_assertFunction.mjs +2 -2
- package/dist/esm/lib/shared/_assertFunction.mjs.map +1 -1
- package/dist/esm/lib/shared/_assertNotNegative.mjs +2 -2
- package/dist/esm/lib/shared/_assertNotNegative.mjs.map +1 -1
- package/dist/esm/lib/shared/_assertPositive.mjs +2 -2
- package/dist/esm/lib/shared/_assertPositive.mjs.map +1 -1
- package/dist/esm/lib/shared/_compare.d.mts +20 -0
- package/dist/esm/lib/shared/_compare.mjs +30 -0
- package/dist/esm/lib/shared/_compare.mjs.map +1 -0
- package/dist/esm/lib/shared/_makeIterableIterator.mjs +2 -2
- package/dist/esm/lib/shared/_makeIterableIterator.mjs.map +1 -1
- package/dist/esm/lib/shared/_toIntegerOrInfinityOrThrow.mjs +5 -8
- package/dist/esm/lib/shared/_toIntegerOrInfinityOrThrow.mjs.map +1 -1
- package/dist/esm/lib/shared/_toIntegerOrThrow.mjs +5 -8
- package/dist/esm/lib/shared/_toIntegerOrThrow.mjs.map +1 -1
- package/dist/esm/lib/shared/_toNumberOrThrow.mjs +2 -2
- package/dist/esm/lib/shared/_toNumberOrThrow.mjs.map +1 -1
- package/dist/esm/lib/shared/comparators.d.mts +34 -0
- package/dist/esm/lib/shared/comparators.mjs +21 -0
- package/dist/esm/lib/shared/comparators.mjs.map +1 -0
- package/dist/esm/lib/skip.d.mts +2 -0
- package/dist/esm/lib/skip.mjs +4 -0
- package/dist/esm/lib/skip.mjs.map +1 -0
- package/dist/esm/lib/skipLast.d.mts +2 -0
- package/dist/esm/lib/skipLast.mjs +4 -0
- package/dist/esm/lib/skipLast.mjs.map +1 -0
- package/dist/esm/lib/skipWhile.d.mts +2 -0
- package/dist/esm/lib/skipWhile.mjs +4 -0
- package/dist/esm/lib/skipWhile.mjs.map +1 -0
- package/dist/esm/lib/slice.mjs +3 -4
- package/dist/esm/lib/slice.mjs.map +1 -1
- package/dist/esm/lib/some.mjs +2 -2
- package/dist/esm/lib/some.mjs.map +1 -1
- package/dist/esm/lib/sorted.mjs +2 -2
- package/dist/esm/lib/sorted.mjs.map +1 -1
- package/dist/esm/lib/starMap.mjs +2 -2
- package/dist/esm/lib/starMap.mjs.map +1 -1
- package/dist/esm/lib/stepBy.d.mts +24 -0
- package/dist/esm/lib/stepBy.mjs +26 -0
- package/dist/esm/lib/stepBy.mjs.map +1 -0
- package/dist/esm/lib/sum.mjs +2 -2
- package/dist/esm/lib/sum.mjs.map +1 -1
- package/dist/esm/lib/take.mjs +3 -4
- package/dist/esm/lib/take.mjs.map +1 -1
- package/dist/esm/lib/takeLast.mjs +4 -6
- package/dist/esm/lib/takeLast.mjs.map +1 -1
- package/dist/esm/lib/takeWhile.d.mts +2 -0
- package/dist/esm/lib/takeWhile.mjs +4 -0
- package/dist/esm/lib/takeWhile.mjs.map +1 -0
- package/dist/esm/lib/tee.mjs +3 -4
- package/dist/esm/lib/tee.mjs.map +1 -1
- package/dist/esm/lib/toArray.mjs +2 -2
- package/dist/esm/lib/toArray.mjs.map +1 -1
- package/dist/esm/lib/toIterableIterator.mjs +2 -2
- package/dist/esm/lib/toIterableIterator.mjs.map +1 -1
- package/dist/esm/lib/union.d.mts +1 -0
- package/dist/esm/lib/union.mjs +2 -2
- package/dist/esm/lib/union.mjs.map +1 -1
- package/dist/esm/lib/unique.mjs +2 -2
- package/dist/esm/lib/unique.mjs.map +1 -1
- package/dist/esm/lib/unzip.mjs +3 -4
- package/dist/esm/lib/unzip.mjs.map +1 -1
- package/dist/esm/lib/zip.mjs +3 -4
- package/dist/esm/lib/zip.mjs.map +1 -1
- package/dist/iife/index.global.js +413 -95
- package/dist/iife/index.global.js.map +1 -1
- package/package.json +300 -29
- package/dist/esm/chunk-G5GHKT7C.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"any.cjs","sourcesContent":[]}
|
package/dist/cjs/lib/append.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/append.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/append.ts"],"names":["chain"],"mappings":";;;;;;AAmBO,SAAS,MAAA,CACf,aACG,SAC6B,EAAA;AAChC,EAAO,OAAAA,eAAA,CAAM,QAAU,EAAA,GAAG,SAAS,CAAA;AACpC;AALgB,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA","file":"append.cjs","sourcesContent":["import { chain } from './chain';\nimport type { IterableResolvable } from './from';\n\n/**\n * Appends iterables to the end of the first iterable, returning a new iterable combining all of them. It's similar to concatenating arrays or doing `[...a, ...b, ...c]`.\n *\n * @param iterable The iterator to append values to.\n * @param iterables The iterables to append to the iterator.\n * @returns An iterator that yields the values of the provided iterator followed by the values of the provided iterables.\n *\n * @example\n * ```typescript\n * import { append } from '@sapphire/iterator-utilities';\n *\n * const iterable = append([1, 2, 3], [4, 5, 6], [7, 8, 9]);\n * console.log([...iterable]);\n * // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]\n * ```\n */\nexport function append<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\t...iterables: IterableResolvable<ElementType>[]\n): IterableIterator<ElementType> {\n\treturn chain(iterable, ...iterables);\n}\n\nexport { append as concat };\n"]}
|
package/dist/cjs/lib/at.cjs
CHANGED
package/dist/cjs/lib/at.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/at.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/at.ts"],"names":["assertNotNegative","toIntegerOrInfinityOrThrow","first","drop"],"mappings":";;;;;;;;;AA0BO,SAAS,EAAA,CAAsB,UAA2C,KAAwC,EAAA;AACxH,EAAA,KAAA,GAAQA,wCAAkB,CAAAC,0DAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAClE,EAAA,OAAOC,gBAAM,KAAU,KAAA,CAAA,GAAI,WAAWC,aAAK,CAAA,QAAA,EAAU,KAAK,CAAC,CAAA;AAC5D;AAHgB,MAAA,CAAA,EAAA,EAAA,IAAA,CAAA","file":"at.cjs","sourcesContent":["import { drop } from './drop';\nimport { first } from './first';\nimport type { IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\n\n/**\n * Advances the iterable to the `n`th element and returns it. If the iterable is exhausted before reaching the `n`th element, it returns `undefined`.\n *\n * @param iterable An iterator to return an element from.\n * @param index The index of the element to retrieve.\n * @returns The element at the specified index, or `undefined` if the index is out of range.\n *\n * @example\n * ```typescript\n * import { at } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(at(iterable, 2));\n * // Output: 3\n * ```\n *\n * @remarks\n *\n * This function consumes the input iterator up to the specified index.\n */\nexport function at<const ElementType>(iterable: IterableResolvable<ElementType>, index: number): ElementType | undefined {\n\tindex = assertNotNegative(toIntegerOrInfinityOrThrow(index), index);\n\treturn first(index === 0 ? iterable : drop(iterable, index));\n}\n"]}
|
package/dist/cjs/lib/average.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/average.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/average.ts"],"names":["map","toNumberOrThrow"],"mappings":";;;;;;;AAuBO,SAAS,QAAQ,QAA+D,EAAA;AACtF,EAAA,IAAI,GAAM,GAAA,CAAA;AACV,EAAA,IAAI,KAAQ,GAAA,CAAA;AACZ,EAAA,KAAA,MAAW,KAAS,IAAAA,WAAA,CAAI,QAAU,EAAAC,oCAAe,CAAG,EAAA;AACnD,IAAO,GAAA,IAAA,KAAA;AACP,IAAA,KAAA,EAAA;AAAA;AAGD,EAAO,OAAA,KAAA,KAAU,CAAI,GAAA,IAAA,GAAO,GAAM,GAAA,KAAA;AACnC;AATgB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"average.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { map } from './map';\nimport { toNumberOrThrow, type NumberResolvable } from './shared/_toNumberOrThrow';\n\n/**\n * Consumes the iterable and returns the average value of all the elements. If the iterable is empty, it returns `null`.\n *\n * @param iterable The iterator to calculate the average of.\n * @returns The average of the sequence of numbers, or `null` if the sequence is empty or contains only non-number values.\n *\n * @example\n * ```typescript\n * import { average } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(average(iterable));\n * // Output: 3\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function average(iterable: IterableResolvable<NumberResolvable>): number | null {\n\tlet sum = 0;\n\tlet total = 0;\n\tfor (const value of map(iterable, toNumberOrThrow)) {\n\t\tsum += value;\n\t\ttotal++;\n\t}\n\n\treturn total === 0 ? null : sum / total;\n}\n"]}
|
package/dist/cjs/lib/chain.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/chain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/chain.ts"],"names":["toIterableIterator"],"mappings":";;;;;;AAkBO,UAAU,SAA4B,SAA6E,EAAA;AACzH,EAAA,KAAA,MAAW,YAAY,SAAW,EAAA;AACjC,IAAA,OAAOA,0CAAmB,QAAQ,CAAA;AAAA;AAEpC;AAJiB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"chain.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Similar to `append`, but takes an iterable of iterables and chains them together.\n *\n * @param iterables The iterators to chain together.\n * @returns An iterator that yields the values of the provided iterators in order.\n *\n * @example\n * ```typescript\n * import { chain } from '@sapphire/iterator-utilities';\n *\n * const iterable = chain([1, 2, 3], [4, 5, 6], [7, 8, 9]);\n * console.log([...iterable]);\n * // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]\n * ```\n */\nexport function* chain<const ElementType>(...iterables: IterableResolvable<ElementType>[]): IterableIterator<ElementType> {\n\tfor (const iterable of iterables) {\n\t\tyield* toIterableIterator(iterable);\n\t}\n}\n"]}
|
package/dist/cjs/lib/chunk.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/chunk.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/chunk.ts"],"names":["assertPositive","toIntegerOrThrow","toIterableIterator"],"mappings":";;;;;;;;AAoBO,UAAU,KAAA,CAAyB,UAA2C,IAA+C,EAAA;AACnI,EAAA,IAAA,GAAOA,kCAAe,CAAAC,sCAAA,CAAiB,IAAI,CAAA,EAAG,IAAI,CAAA;AAElD,EAAA,IAAI,SAAwB,EAAC;AAC7B,EAAW,KAAA,MAAA,OAAA,IAAWC,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACnD,IAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AAEnB,IAAI,IAAA,MAAA,CAAO,WAAW,IAAM,EAAA;AAC3B,MAAM,MAAA,MAAA;AACN,MAAA,MAAA,GAAS,EAAC;AAAA;AACX;AAGD,EAAA,IAAI,OAAO,MAAQ,EAAA;AAClB,IAAM,MAAA,MAAA;AAAA;AAER;AAhBiB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"chunk.cjs","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,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var toArray_cjs = require('./toArray.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "collect", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return toArray_cjs.toArray; }
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=collect.cjs.map
|
|
12
|
+
//# sourceMappingURL=collect.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"collect.cjs","sourcesContent":[]}
|
|
@@ -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 collectInto(iterable, output) {
|
|
8
|
+
for (const value of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
9
|
+
output.push(value);
|
|
10
|
+
}
|
|
11
|
+
return output;
|
|
12
|
+
}
|
|
13
|
+
__name(collectInto, "collectInto");
|
|
14
|
+
|
|
15
|
+
exports.collectInto = collectInto;
|
|
16
|
+
//# sourceMappingURL=collectInto.cjs.map
|
|
17
|
+
//# sourceMappingURL=collectInto.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/collectInto.ts"],"names":["toIterableIterator"],"mappings":";;;;;;AA2BO,SAAS,WAAA,CAA+B,UAA2C,MAAsC,EAAA;AAC/H,EAAW,KAAA,MAAA,KAAA,IAASA,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACjD,IAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA;AAGlB,EAAO,OAAA,MAAA;AACR;AANgB,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA","file":"collectInto.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Collects all the items from an iterator into an array.\n *\n * This method consumes the iterator and adds all its items to the passed array. The array is then returned, so the call\n * chain can be continued.\n *\n * This is useful when you already have a collection and want to add the iterator items to it.\n *\n * @param iterable An iterator to fuse.\n *\n * @example\n * ```typescript\n * import { collectInto, map } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3];\n * const output = [0, 1];\n *\n * collectInto(map(iterable, (value) => value * 2), output);\n * collectInto(map(iterable, (value) => value * 10), output);\n *\n * console.log(output);\n * // Output: [0, 1, 2, 4, 6, 10, 20, 30]\n * ```\n */\nexport function collectInto<const ElementType>(iterable: IterableResolvable<ElementType>, output: ElementType[]): ElementType[] {\n\tfor (const value of toIterableIterator(iterable)) {\n\t\toutput.push(value);\n\t}\n\n\treturn output;\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Collects all the items from an iterator into an array.
|
|
5
|
+
*
|
|
6
|
+
* This method consumes the iterator and adds all its items to the passed array. The array is then returned, so the call
|
|
7
|
+
* chain can be continued.
|
|
8
|
+
*
|
|
9
|
+
* This is useful when you already have a collection and want to add the iterator items to it.
|
|
10
|
+
*
|
|
11
|
+
* @param iterable An iterator to fuse.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { collectInto, map } from '@sapphire/iterator-utilities';
|
|
16
|
+
*
|
|
17
|
+
* const iterable = [1, 2, 3];
|
|
18
|
+
* const output = [0, 1];
|
|
19
|
+
*
|
|
20
|
+
* collectInto(map(iterable, (value) => value * 2), output);
|
|
21
|
+
* collectInto(map(iterable, (value) => value * 10), output);
|
|
22
|
+
*
|
|
23
|
+
* console.log(output);
|
|
24
|
+
* // Output: [0, 1, 2, 4, 6, 10, 20, 30]
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
declare function collectInto<const ElementType>(iterable: IterableResolvable<ElementType>, output: ElementType[]): ElementType[];
|
|
28
|
+
|
|
29
|
+
export { collectInto };
|
package/dist/cjs/lib/compact.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/compact.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/compact.ts"],"names":["filter"],"mappings":";;;;;;AAiBO,SAAS,QAA2B,QAA6F,EAAA;AACvI,EAAA,OAAOA,kBAAO,QAAU,EAAA,CAAC,UAAgC,KAAU,KAAA,IAAA,IAAQ,UAAU,KAAS,CAAA,CAAA;AAC/F;AAFgB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"compact.cjs","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,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var compareBy_cjs = require('./compareBy.cjs');
|
|
4
|
+
var comparators_cjs = require('./shared/comparators.cjs');
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
function compare(iterable, other) {
|
|
9
|
+
return compareBy_cjs.compareBy(iterable, other, comparators_cjs.defaultCompare);
|
|
10
|
+
}
|
|
11
|
+
__name(compare, "compare");
|
|
12
|
+
|
|
13
|
+
exports.compare = compare;
|
|
14
|
+
//# sourceMappingURL=compare.cjs.map
|
|
15
|
+
//# sourceMappingURL=compare.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/compare.ts"],"names":["compareBy","defaultCompare"],"mappings":";;;;;;;AA+BO,SAAS,OAAA,CACf,UACA,KAC0B,EAAA;AAC1B,EAAO,OAAAA,uBAAA,CAAU,QAAU,EAAA,KAAA,EAAOC,8BAAc,CAAA;AACjD;AALgB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"compare.cjs","sourcesContent":["import { compareBy } from './compareBy';\nimport type { IterableResolvable } from './from';\nimport type { LexicographicComparison } from './shared/_compare';\nimport { defaultCompare } from './shared/comparators';\n\n/**\n * {@link LexicographicComparison Lexicographically} compares the elements of both iterators are equal.\n *\n * This function uses the default comparator (lexicographically), which means it will compare the elements as strings.\n * If this is undesirable, use {@link compareBy} instead.\n *\n * @param iterable The iterator to compare.\n * @param other The iterator to compare against.\n * @returns Whether the two iterators are equal.\n *\n * @example\n * ```typescript\n * import { compare } from '@sapphire/iterator-utilities';\n *\n * console.log(compare([1], [1]));\n * // Output: 0\n * console.log(compare([1], [1, 2]));\n * // Output: -1\n * console.log(compare([1, 2], [1]));\n * // Output: 1\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function compare<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tother: IterableResolvable<ElementType>\n): LexicographicComparison {\n\treturn compareBy(iterable, other, defaultCompare);\n}\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
import { LexicographicComparison } from './shared/_compare.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* {@link LexicographicComparison Lexicographically} compares the elements of both iterators are equal.
|
|
6
|
+
*
|
|
7
|
+
* This function uses the default comparator (lexicographically), which means it will compare the elements as strings.
|
|
8
|
+
* If this is undesirable, use {@link compareBy} instead.
|
|
9
|
+
*
|
|
10
|
+
* @param iterable The iterator to compare.
|
|
11
|
+
* @param other The iterator to compare against.
|
|
12
|
+
* @returns Whether the two iterators are equal.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { compare } from '@sapphire/iterator-utilities';
|
|
17
|
+
*
|
|
18
|
+
* console.log(compare([1], [1]));
|
|
19
|
+
* // Output: 0
|
|
20
|
+
* console.log(compare([1], [1, 2]));
|
|
21
|
+
* // Output: -1
|
|
22
|
+
* console.log(compare([1, 2], [1]));
|
|
23
|
+
* // Output: 1
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
*
|
|
28
|
+
* This function consumes the entire iterator.
|
|
29
|
+
*/
|
|
30
|
+
declare function compare<const ElementType>(iterable: IterableResolvable<ElementType>, other: IterableResolvable<ElementType>): LexicographicComparison;
|
|
31
|
+
|
|
32
|
+
export { compare };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var from_cjs = require('./from.cjs');
|
|
4
|
+
var _compare_cjs = require('./shared/_compare.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 compareBy(iterable, other, comparator) {
|
|
10
|
+
const iterator1 = from_cjs.from(other);
|
|
11
|
+
for (const x of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
12
|
+
const result1 = iterator1.next();
|
|
13
|
+
if (result1.done) return 1;
|
|
14
|
+
const y = result1.value;
|
|
15
|
+
const comparison = _compare_cjs.compareIteratorElements(x, y, comparator);
|
|
16
|
+
if (!_compare_cjs.orderingIsEqual(comparison)) {
|
|
17
|
+
return _compare_cjs.orderingIsLess(comparison) ? -1 : 1;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return iterator1.next().done ? 0 : -1;
|
|
21
|
+
}
|
|
22
|
+
__name(compareBy, "compareBy");
|
|
23
|
+
|
|
24
|
+
exports.compareBy = compareBy;
|
|
25
|
+
//# sourceMappingURL=compareBy.cjs.map
|
|
26
|
+
//# sourceMappingURL=compareBy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/compareBy.ts"],"names":["from","toIterableIterator","compareIteratorElements","orderingIsEqual","orderingIsLess"],"mappings":";;;;;;;;AA6BO,SAAS,SAAA,CACf,QACA,EAAA,KAAA,EACA,UAC0B,EAAA;AAC1B,EAAM,MAAA,SAAA,GAAYA,cAAK,KAAK,CAAA;AAE5B,EAAW,KAAA,MAAA,CAAA,IAAKC,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AAC7C,IAAM,MAAA,OAAA,GAAU,UAAU,IAAK,EAAA;AAC/B,IAAI,IAAA,OAAA,CAAQ,MAAa,OAAA,CAAA;AAEzB,IAAA,MAAM,IAAI,OAAQ,CAAA,KAAA;AAClB,IAAA,MAAM,UAAa,GAAAC,oCAAA,CAAqC,CAAG,EAAA,CAAA,EAAG,UAAU,CAAA;AACxE,IAAI,IAAA,CAACC,4BAAgB,CAAA,UAAU,CAAG,EAAA;AACjC,MAAO,OAAAC,2BAAA,CAAe,UAAU,CAAA,GAAI,CAAK,CAAA,GAAA,CAAA;AAAA;AAC1C;AAGD,EAAA,OAAO,SAAU,CAAA,IAAA,EAAO,CAAA,IAAA,GAAO,CAAI,GAAA,CAAA,CAAA;AACpC;AAnBgB,MAAA,CAAA,SAAA,EAAA,WAAA,CAAA","file":"compareBy.cjs","sourcesContent":["import { from, type IterableResolvable } from './from';\nimport { compareIteratorElements, orderingIsEqual, orderingIsLess, type CompareByComparator, type LexicographicComparison } from './shared/_compare';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * {@link LexicographicComparison Lexicographically} compares the elements of both iterators are equal. That is:\n *\n * @param iterable The iterator to compare.\n * @param other The iterator to compare against.\n * @returns Whether the two iterators are equal.\n *\n * @example\n * ```typescript\n * import { ascNumber, compareBy } from '@sapphire/iterator-utilities';\n *\n * const x = [1, 2, 3, 4];\n * const y = [1, 4, 9, 16];\n * console.log(compareBy(x, y, (x, y) => ascNumber(x, y)));\n * // Output: -1\n * console.log(compareBy(x, y, (x, y) => ascNumber(x * x, y)));\n * // Output: 0\n * console.log(compareBy(x, y, (x, y) => ascNumber(x * 2, y)));\n * // Output: 1\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function compareBy<const ElementType>(\n\titerable: IterableResolvable<ElementType | undefined>,\n\tother: IterableResolvable<ElementType | undefined>,\n\tcomparator: CompareByComparator<ElementType>\n): LexicographicComparison {\n\tconst iterator1 = from(other);\n\n\tfor (const x of toIterableIterator(iterable)) {\n\t\tconst result1 = iterator1.next();\n\t\tif (result1.done) return 1;\n\n\t\tconst y = result1.value;\n\t\tconst comparison = compareIteratorElements<ElementType>(x, y, comparator);\n\t\tif (!orderingIsEqual(comparison)) {\n\t\t\treturn orderingIsLess(comparison) ? -1 : 1;\n\t\t}\n\t}\n\n\treturn iterator1.next().done ? 0 : -1;\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { IterableResolvable } from './from.cjs';
|
|
2
|
+
import { CompareByComparator, LexicographicComparison } from './shared/_compare.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* {@link LexicographicComparison Lexicographically} compares the elements of both iterators are equal. That is:
|
|
6
|
+
*
|
|
7
|
+
* @param iterable The iterator to compare.
|
|
8
|
+
* @param other The iterator to compare against.
|
|
9
|
+
* @returns Whether the two iterators are equal.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { ascNumber, compareBy } from '@sapphire/iterator-utilities';
|
|
14
|
+
*
|
|
15
|
+
* const x = [1, 2, 3, 4];
|
|
16
|
+
* const y = [1, 4, 9, 16];
|
|
17
|
+
* console.log(compareBy(x, y, (x, y) => ascNumber(x, y)));
|
|
18
|
+
* // Output: -1
|
|
19
|
+
* console.log(compareBy(x, y, (x, y) => ascNumber(x * x, y)));
|
|
20
|
+
* // Output: 0
|
|
21
|
+
* console.log(compareBy(x, y, (x, y) => ascNumber(x * 2, y)));
|
|
22
|
+
* // Output: 1
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
*
|
|
27
|
+
* This function consumes the entire iterator.
|
|
28
|
+
*/
|
|
29
|
+
declare function compareBy<const ElementType>(iterable: IterableResolvable<ElementType | undefined>, other: IterableResolvable<ElementType | undefined>, comparator: CompareByComparator<ElementType>): LexicographicComparison;
|
|
30
|
+
|
|
31
|
+
export { compareBy };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/compress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/compress.ts"],"names":["from","toIterableIterator"],"mappings":";;;;;;;AAwBO,UAAU,QAAA,CAChB,UACA,SACgC,EAAA;AAChC,EAAM,MAAA,iBAAA,GAAoBA,cAAK,SAAS,CAAA;AACxC,EAAW,KAAA,MAAA,sBAAA,IAA0BC,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AAClE,IAAM,MAAA,cAAA,GAAiB,kBAAkB,IAAK,EAAA;AAC9C,IAAA,IAAI,eAAe,IAAM,EAAA;AACxB,MAAA;AAAA;AAGD,IAAA,IAAI,eAAe,KAAO,EAAA;AACzB,MAAM,MAAA,sBAAA;AAAA;AACP;AAEF;AAfiB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"compress.cjs","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"]}
|
|
@@ -6,13 +6,12 @@ var __defProp = Object.defineProperty;
|
|
|
6
6
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
7
|
function contains(iterable, value) {
|
|
8
8
|
for (const element of toIterableIterator_cjs.toIterableIterator(iterable)) {
|
|
9
|
-
if (element === value)
|
|
10
|
-
return true;
|
|
9
|
+
if (element === value) return true;
|
|
11
10
|
}
|
|
12
11
|
return false;
|
|
13
12
|
}
|
|
14
13
|
__name(contains, "contains");
|
|
15
14
|
|
|
16
15
|
exports.contains = contains;
|
|
17
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=contains.cjs.map
|
|
18
17
|
//# sourceMappingURL=contains.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/contains.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/contains.ts"],"names":["toIterableIterator"],"mappings":";;;;;;AAuBO,SAAS,QAAA,CAA4B,UAA2C,KAA6B,EAAA;AACnH,EAAW,KAAA,MAAA,OAAA,IAAWA,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACnD,IAAI,IAAA,OAAA,KAAY,OAAc,OAAA,IAAA;AAAA;AAG/B,EAAO,OAAA,KAAA;AACR;AANgB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"contains.cjs","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"]}
|
package/dist/cjs/lib/count.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/count.ts"],"names":["count"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/count.ts"],"names":["count","from"],"mappings":";;;;;;AAqBO,SAAS,MAAyB,QAAmD,EAAA;AAC3F,EAAA,IAAIA,MAAQ,GAAA,CAAA;AACZ,EAAM,MAAA,gBAAA,GAAmBC,cAAK,QAAQ,CAAA;AACtC,EAAA,OAAO,CAAC,gBAAA,CAAiB,IAAK,EAAA,CAAE,IAAM,EAAA;AACrC,IAAAD,MAAAA,EAAAA;AAAA;AAGD,EAAOA,OAAAA,MAAAA;AACR;AARgB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"count.cjs","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"]}
|
package/dist/cjs/lib/cycle.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/cycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/cycle.ts"],"names":["toIterableIterator"],"mappings":";;;;;;AAmBO,UAAU,MAAyB,QAA0E,EAAA;AACnH,EAAA,MAAM,UAAU,EAAC;AACjB,EAAW,KAAA,MAAA,OAAA,IAAWA,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACnD,IAAM,MAAA,OAAA;AACN,IAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA;AAGrB,EAAO,OAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AAC1B,IAAA,KAAA,MAAW,WAAW,OAAS,EAAA;AAC9B,MAAM,MAAA,OAAA;AAAA;AACP;AAEF;AAZiB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"cycle.cjs","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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/difference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/difference.ts"],"names":["toIterableIterator","filter"],"mappings":";;;;;;;AAwBO,SAAS,UAAA,CACf,OACA,MACgC,EAAA;AAChC,EAAA,MAAM,GAAM,GAAA,IAAI,GAAI,CAAAA,yCAAA,CAAmB,MAAM,CAAC,CAAA;AAC9C,EAAO,OAAAC,iBAAA,CAAO,OAAO,CAAC,KAAA,KAAU,CAAC,GAAI,CAAA,GAAA,CAAI,KAAK,CAAC,CAAA;AAChD;AANgB,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA","file":"difference.cjs","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"]}
|
package/dist/cjs/lib/drop.cjs
CHANGED
|
@@ -10,19 +10,15 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
10
10
|
function drop(iterable, count) {
|
|
11
11
|
count = _assertNotNegative_cjs.assertNotNegative(_toIntegerOrInfinityOrThrow_cjs.toIntegerOrInfinityOrThrow(count), count);
|
|
12
12
|
const resolvedIterable = toIterableIterator_cjs.toIterableIterator(iterable);
|
|
13
|
-
if (count === 0)
|
|
14
|
-
|
|
15
|
-
if (count === Number.POSITIVE_INFINITY)
|
|
16
|
-
return empty_cjs.empty();
|
|
13
|
+
if (count === 0) return resolvedIterable;
|
|
14
|
+
if (count === Number.POSITIVE_INFINITY) return empty_cjs.empty();
|
|
17
15
|
for (let i = 0; i < count; i++) {
|
|
18
|
-
if (resolvedIterable.next().done)
|
|
19
|
-
break;
|
|
16
|
+
if (resolvedIterable.next().done) break;
|
|
20
17
|
}
|
|
21
18
|
return resolvedIterable;
|
|
22
19
|
}
|
|
23
20
|
__name(drop, "drop");
|
|
24
21
|
|
|
25
22
|
exports.drop = drop;
|
|
26
|
-
|
|
27
|
-
//# sourceMappingURL=out.js.map
|
|
23
|
+
//# sourceMappingURL=drop.cjs.map
|
|
28
24
|
//# sourceMappingURL=drop.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/drop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/drop.ts"],"names":["assertNotNegative","toIntegerOrInfinityOrThrow","toIterableIterator","empty"],"mappings":";;;;;;;;;AAsBO,SAAS,IAAA,CAAwB,UAA2C,KAA8C,EAAA;AAChI,EAAA,KAAA,GAAQA,wCAAkB,CAAAC,0DAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAClE,EAAM,MAAA,gBAAA,GAAmBC,0CAAmB,QAAQ,CAAA;AAGpD,EAAI,IAAA,KAAA,KAAU,GAAU,OAAA,gBAAA;AAExB,EAAA,IAAI,KAAU,KAAA,MAAA,CAAO,iBAAmB,EAAA,OAAOC,eAAM,EAAA;AAErD,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,EAAO,CAAK,EAAA,EAAA;AAC/B,IAAI,IAAA,gBAAA,CAAiB,IAAK,EAAA,CAAE,IAAM,EAAA;AAAA;AAGnC,EAAO,OAAA,gBAAA;AACR;AAdgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA","file":"drop.cjs","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"]}
|
package/dist/cjs/lib/drop.d.cts
CHANGED
|
@@ -11,13 +11,11 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
11
11
|
function dropLast(iterable, count) {
|
|
12
12
|
count = _assertNotNegative_cjs.assertNotNegative(_toIntegerOrInfinityOrThrow_cjs.toIntegerOrInfinityOrThrow(count), count);
|
|
13
13
|
const array = toArray_cjs.toArray(iterable);
|
|
14
|
-
if (array.length <= count)
|
|
15
|
-
return empty_cjs.empty();
|
|
14
|
+
if (array.length <= count) return empty_cjs.empty();
|
|
16
15
|
return take_cjs.take(array.values(), array.length - count);
|
|
17
16
|
}
|
|
18
17
|
__name(dropLast, "dropLast");
|
|
19
18
|
|
|
20
19
|
exports.dropLast = dropLast;
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=out.js.map
|
|
20
|
+
//# sourceMappingURL=dropLast.cjs.map
|
|
23
21
|
//# sourceMappingURL=dropLast.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/dropLast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/dropLast.ts"],"names":["assertNotNegative","toIntegerOrInfinityOrThrow","toArray","empty","take"],"mappings":";;;;;;;;;;AA2BO,SAAS,QAAA,CAA4B,UAA2C,KAA8C,EAAA;AACpI,EAAA,KAAA,GAAQA,wCAAkB,CAAAC,0DAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAClE,EAAM,MAAA,KAAA,GAAQC,oBAAQ,QAAQ,CAAA;AAC9B,EAAA,IAAI,KAAM,CAAA,MAAA,IAAU,KAAO,EAAA,OAAOC,eAAM,EAAA;AACxC,EAAA,OAAOC,cAAK,KAAM,CAAA,MAAA,EAAU,EAAA,KAAA,CAAM,SAAS,KAAK,CAAA;AACjD;AALgB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"dropLast.cjs","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"]}
|
|
@@ -17,6 +17,5 @@ function* dropWhile(iterable, callbackFn) {
|
|
|
17
17
|
__name(dropWhile, "dropWhile");
|
|
18
18
|
|
|
19
19
|
exports.dropWhile = dropWhile;
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=out.js.map
|
|
20
|
+
//# sourceMappingURL=dropWhile.cjs.map
|
|
22
21
|
//# sourceMappingURL=dropWhile.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/dropWhile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/dropWhile.ts"],"names":["assertFunction","toIterableIterator"],"mappings":";;;;;;;AA8BO,UAAU,SAAA,CAChB,UACA,UACgC,EAAA;AAChC,EAAA,UAAA,GAAaA,mCAAe,UAAU,CAAA;AAEtC,EAAA,IAAI,KAAQ,GAAA,CAAA;AACZ,EAAW,KAAA,MAAA,KAAA,IAASC,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACjD,IAAA,IAAI,CAAC,UAAA,CAAW,KAAO,EAAA,KAAA,EAAO,CAAG,EAAA;AAChC,MAAM,MAAA,KAAA;AAAA;AACP;AAEF;AAZiB,MAAA,CAAA,SAAA,EAAA,WAAA,CAAA","file":"dropWhile.cjs","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"]}
|
|
@@ -21,4 +21,4 @@ import { IterableResolvable } from './from.cjs';
|
|
|
21
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
22
|
declare function dropWhile<const ElementType>(iterable: IterableResolvable<ElementType>, callbackFn: (element: ElementType, index: number) => boolean): IterableIterator<ElementType>;
|
|
23
23
|
|
|
24
|
-
export { dropWhile
|
|
24
|
+
export { dropWhile };
|
package/dist/cjs/lib/empty.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/empty.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/empty.ts"],"names":["makeIterableIterator"],"mappings":";;;;;;AAgBO,SAAS,KAAkE,GAAA;AACjF,EAAA,OAAOA,+CAAkC,OAAO,EAAE,MAAM,IAAM,EAAA,KAAA,EAAO,QAAY,CAAA,CAAA;AAClF;AAFgB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"empty.cjs","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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/enumerate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/enumerate.ts"],"names":["toIterableIterator"],"mappings":";;;;;;AAsBO,UAAU,UAA6B,QAAoF,EAAA;AACjI,EAAA,IAAI,KAAQ,GAAA,CAAA;AACZ,EAAW,KAAA,MAAA,KAAA,IAASA,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACjD,IAAM,MAAA,CAAC,SAAS,KAAK,CAAA;AAAA;AAEvB;AALiB,MAAA,CAAA,SAAA,EAAA,WAAA,CAAA","file":"enumerate.cjs","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"]}
|