@sapphire/iterator-utilities 1.0.3-next.cd7e6b59 → 1.0.3-next.ef2a0072
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- 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/compact.cjs +1 -1
- package/dist/cjs/lib/compact.cjs.map +1 -1
- 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 -7
- package/dist/cjs/lib/drop.cjs.map +1 -1
- package/dist/cjs/lib/dropLast.cjs +2 -3
- package/dist/cjs/lib/dropLast.cjs.map +1 -1
- package/dist/cjs/lib/dropWhile.cjs +1 -1
- package/dist/cjs/lib/dropWhile.cjs.map +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/every.cjs +2 -3
- package/dist/cjs/lib/every.cjs.map +1 -1
- package/dist/cjs/lib/filter.cjs +2 -3
- package/dist/cjs/lib/filter.cjs.map +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/indexOf.cjs +1 -1
- package/dist/cjs/lib/indexOf.cjs.map +1 -1
- package/dist/cjs/lib/intersect.cjs +1 -1
- package/dist/cjs/lib/intersect.cjs.map +1 -1
- package/dist/cjs/lib/isEmpty.cjs +1 -1
- package/dist/cjs/lib/isEmpty.cjs.map +1 -1
- package/dist/cjs/lib/last.cjs +1 -1
- package/dist/cjs/lib/last.cjs.map +1 -1
- package/dist/cjs/lib/map.cjs +1 -1
- package/dist/cjs/lib/map.cjs.map +1 -1
- package/dist/cjs/lib/max.cjs +2 -3
- package/dist/cjs/lib/max.cjs.map +1 -1
- package/dist/cjs/lib/min.cjs +2 -3
- package/dist/cjs/lib/min.cjs.map +1 -1
- package/dist/cjs/lib/partition.cjs +1 -1
- package/dist/cjs/lib/partition.cjs.map +1 -1
- package/dist/cjs/lib/peekable.cjs +1 -1
- package/dist/cjs/lib/peekable.cjs.map +1 -1
- 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 +1 -1
- 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/_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/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/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/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/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.mjs +1 -1
- package/dist/esm/index.mjs.map +1 -1
- 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/compact.mjs +2 -2
- package/dist/esm/lib/compact.mjs.map +1 -1
- 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.mjs +5 -8
- package/dist/esm/lib/drop.mjs.map +1 -1
- package/dist/esm/lib/dropLast.mjs +3 -4
- package/dist/esm/lib/dropLast.mjs.map +1 -1
- package/dist/esm/lib/dropWhile.mjs +2 -2
- 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/every.mjs +3 -4
- package/dist/esm/lib/every.mjs.map +1 -1
- package/dist/esm/lib/filter.mjs +3 -4
- 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/indexOf.mjs +2 -2
- package/dist/esm/lib/indexOf.mjs.map +1 -1
- package/dist/esm/lib/intersect.mjs +2 -2
- package/dist/esm/lib/intersect.mjs.map +1 -1
- package/dist/esm/lib/isEmpty.mjs +2 -2
- package/dist/esm/lib/isEmpty.mjs.map +1 -1
- package/dist/esm/lib/last.mjs +2 -2
- package/dist/esm/lib/last.mjs.map +1 -1
- package/dist/esm/lib/map.mjs +2 -2
- package/dist/esm/lib/map.mjs.map +1 -1
- package/dist/esm/lib/max.mjs +3 -4
- package/dist/esm/lib/max.mjs.map +1 -1
- package/dist/esm/lib/min.mjs +3 -4
- package/dist/esm/lib/min.mjs.map +1 -1
- package/dist/esm/lib/partition.mjs +2 -2
- package/dist/esm/lib/partition.mjs.map +1 -1
- package/dist/esm/lib/peekable.mjs +2 -2
- package/dist/esm/lib/peekable.mjs.map +1 -1
- 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 +2 -2
- 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/_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/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/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/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.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 +24 -47
- package/dist/iife/index.global.js.map +1 -1
- package/package.json +9 -9
- package/dist/esm/chunk-G5GHKT7C.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/some.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/some.ts"],"names":["assertFunction","toIterableIterator"],"mappings":";;;;;;;AAgCO,SAAS,IAAA,CACf,UACA,UACU,EAAA;AACV,EAAA,UAAA,GAAaA,mCAAe,UAAU,CAAA,CAAA;AAEtC,EAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;AACZ,EAAW,KAAA,MAAA,KAAA,IAASC,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACjD,IAAI,IAAA,UAAA,CAAW,KAAO,EAAA,KAAA,EAAO,CAAG,EAAA;AAC/B,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AAAA,GACD;AAEA,EAAO,OAAA,KAAA,CAAA;AACR,CAAA;AAdgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA","file":"some.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { assertFunction } from './shared/_assertFunction';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Advances the iterable until it finds a matching element, returning `true` if it's found and `false` otherwise.\n *\n * @param iterable An iterator to search for a value in.\n * @param callbackFn A function to execute for each element produced by the iterator. It should return a truthy value to\n * indicate the element passes the test, and a falsy value otherwise.\n * @returns `true` if the callback function returns a truthy value for at least one element. Otherwise, `false`.\n *\n * @example\n * ```typescript\n * import { some } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(some(iterable, (value) => value % 2 === 0));\n * // Output: true\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(some(iterable, (value) => value % 6 === 0));\n * // Output: false\n * ```\n *\n * @remarks\n *\n * This function consumes the iterator until the value is found or the iterator is exhausted.\n */\nexport function some<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (element: ElementType, index: number) => boolean\n): boolean {\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\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n"]}
|
package/dist/cjs/lib/sorted.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/sorted.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/sorted.ts"],"names":["toArray"],"mappings":";;;;;;AAuBO,SAAS,MAAA,CACf,UACA,SACgC,EAAA;AAChC,EAAA,OAAOA,oBAAQ,QAAQ,CAAA,CAAE,IAAK,CAAA,SAAS,EAAE,MAAO,EAAA,CAAA;AACjD,CAAA;AALgB,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA","file":"sorted.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toArray } from './toArray';\n\n/**\n * Consumes the iterable and returns a new iterable with the elements sorted.\n *\n * @param iterable An iterator to sort.\n * @param compareFn A function that defines the sort order. If omitted, the values are sorted in ascending order.\n * @returns An iterator that yields the values of the provided iterator in sorted order.\n *\n * @example\n * ```typescript\n * import { sorted } from '@sapphire/iterator-utilities';\n *\n * const iterable = [5, 3, 1, 4, 2];\n * console.log([...sorted(iterable)]);\n * // Output: [1, 2, 3, 4, 5]\n * ```\n *\n * @remarks\n *\n * This function consumes the entire input iterator.\n */\nexport function sorted<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcompareFn?: (a: ElementType, b: ElementType) => number\n): IterableIterator<ElementType> {\n\treturn toArray(iterable).sort(compareFn).values();\n}\n"]}
|
package/dist/cjs/lib/starMap.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/starMap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/starMap.ts"],"names":["assertFunction","toIterableIterator"],"mappings":";;;;;;;;AA0BO,UAAU,OAAA,CAChB,UACA,UAC+B,EAAA;AAC/B,EAAA,UAAA,GAAaA,mCAAe,UAAU,CAAA,CAAA;AAEtC,EAAW,KAAA,MAAA,KAAA,IAASC,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACjD,IAAA,MAAM,UAAW,CAAA,GAAIA,yCAAmB,CAAA,KAAK,CAAS,CAAA,CAAA;AAAA,GACvD;AACD,CAAA;AATiB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"starMap.cjs","sourcesContent":["import { type IterableResolvable } from './from';\nimport { assertFunction } from './shared/_assertFunction';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates an iterable with the results of calling a provided function on each element of the input iterables as the function's parameters.\n *\n * @param iterable The iterable to map over.\n * @param callbackFn The callback function to apply to each element.\n * @returns An iterable iterator that yields the mapped elements.\n *\n * @example\n * ```typescript\n * import { starMap } from '@sapphire/iterator-utilities';\n *\n * const iterable = [[1, 2], [3, 4], [5, 6]];\n * console.log([...starMap(iterable, (a, b) => a + b)]);\n * // Output: [3, 7, 11]\n * ```\n *\n * @remarks\n *\n * While very similar to {@link map}, `starMap` takes an iterable of iterables (which can be an array of tuples) and\n * calls the function with each inner iterable's values as the function's parameters. {@link map} calls the function\n * with the value and the index by comparison.\n */\nexport function* starMap<const ElementType extends IterableResolvable<any>, const MappedType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (...args: StarMapParameters<ElementType>) => MappedType\n): IterableIterator<MappedType> {\n\tcallbackFn = assertFunction(callbackFn);\n\n\tfor (const value of toIterableIterator(iterable)) {\n\t\tyield callbackFn(...(toIterableIterator(value) as any));\n\t}\n}\n\nexport type StarMapParameters<ElementType> = ElementType extends readonly [...infer ElementTypeEntry]\n\t? ElementTypeEntry\n\t: ElementType extends IterableResolvable<infer ElementType>\n\t\t? ElementType[]\n\t\t: never;\n"]}
|
package/dist/cjs/lib/sum.cjs
CHANGED
package/dist/cjs/lib/sum.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/sum.ts"],"names":["sum"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/sum.ts"],"names":["sum","map","toNumberOrThrow"],"mappings":";;;;;;;AAuBO,SAAS,IAAI,QAAgD,EAAA;AACnE,EAAA,IAAIA,IAAM,GAAA,CAAA,CAAA;AACV,EAAA,KAAA,MAAW,KAAS,IAAAC,WAAA,CAAI,QAAU,EAAAC,oCAAe,CAAG,EAAA;AACnD,IAAAF,IAAO,IAAA,KAAA,CAAA;AAAA,GACR;AAEA,EAAOA,OAAAA,IAAAA,CAAAA;AACR,CAAA;AAPgB,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA","file":"sum.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 sum of all the elements.\n *\n * @param iterable An iterator of numbers to calculate the sum of.\n * @returns The sum of the numbers in the input iterator.\n *\n * @example\n * ```typescript\n * import { sum } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(sum(iterable));\n * // Output: 15\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function sum(iterable: IterableResolvable<NumberResolvable>) {\n\tlet sum = 0;\n\tfor (const value of map(iterable, toNumberOrThrow)) {\n\t\tsum += value;\n\t}\n\n\treturn sum;\n}\n"]}
|
package/dist/cjs/lib/take.cjs
CHANGED
|
@@ -10,8 +10,7 @@ var __defProp = Object.defineProperty;
|
|
|
10
10
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
11
11
|
function take(iterable, count) {
|
|
12
12
|
count = _assertNotNegative_cjs.assertNotNegative(_toIntegerOrInfinityOrThrow_cjs.toIntegerOrInfinityOrThrow(count), count);
|
|
13
|
-
if (count === 0)
|
|
14
|
-
return empty_cjs.empty();
|
|
13
|
+
if (count === 0) return empty_cjs.empty();
|
|
15
14
|
let i = 0;
|
|
16
15
|
const resolvedIterable = from_cjs.from(iterable);
|
|
17
16
|
return _makeIterableIterator_cjs.makeIterableIterator(
|
|
@@ -21,5 +20,5 @@ function take(iterable, count) {
|
|
|
21
20
|
__name(take, "take");
|
|
22
21
|
|
|
23
22
|
exports.take = take;
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=take.cjs.map
|
|
25
24
|
//# sourceMappingURL=take.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/take.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/take.ts"],"names":["assertNotNegative","toIntegerOrInfinityOrThrow","empty","from","makeIterableIterator"],"mappings":";;;;;;;;;;AAsBO,SAAS,IAAA,CAAwB,UAA2C,KAA8C,EAAA;AAChI,EAAA,KAAA,GAAQA,wCAAkB,CAAAC,0DAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA,CAAA;AAClE,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAOC,eAAM,EAAA,CAAA;AAE9B,EAAA,IAAI,CAAI,GAAA,CAAA,CAAA;AACR,EAAM,MAAA,gBAAA,GAAmBC,cAAK,QAAQ,CAAA,CAAA;AACtC,EAAO,OAAAC,8CAAA;AAAA,IAAkC,MACxC,CAAK,IAAA,KAAA,GACF,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,KAAU,CAAA,EAAA,IAC9B,CAAK,EAAA,EAAA,gBAAA,CAAiB,IAAK,EAAA,CAAA;AAAA,GAChC,CAAA;AACD,CAAA;AAXgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA","file":"take.cjs","sourcesContent":["import { empty } from './empty';\nimport { from, type IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\n\n/**\n * Creates an iterable with the first `count` elements.\n *\n * @param iterable The iterator to take values from.\n * @param count The maximum number of values to take from the iterator.\n * @returns An iterator that yields at most `count` values from the provided iterator.\n *\n * @example\n * ```typescript\n * import { take } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...take(iterable, 2)]);\n * // Output: [1, 2]\n * ```\n */\nexport function take<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType> {\n\tcount = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);\n\tif (count === 0) return empty();\n\n\tlet i = 0;\n\tconst resolvedIterable = from(iterable);\n\treturn makeIterableIterator<ElementType>(() =>\n\t\ti >= count //\n\t\t\t? { done: true, value: undefined }\n\t\t\t: (i++, resolvedIterable.next())\n\t);\n}\n"]}
|
|
@@ -11,10 +11,8 @@ var __defProp = Object.defineProperty;
|
|
|
11
11
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
12
|
function takeLast(iterable, count) {
|
|
13
13
|
count = _assertNotNegative_cjs.assertNotNegative(_toIntegerOrInfinityOrThrow_cjs.toIntegerOrInfinityOrThrow(count), count);
|
|
14
|
-
if (count === 0)
|
|
15
|
-
|
|
16
|
-
if (count === Number.POSITIVE_INFINITY)
|
|
17
|
-
return toIterableIterator_cjs.toIterableIterator(iterable);
|
|
14
|
+
if (count === 0) return empty_cjs.empty();
|
|
15
|
+
if (count === Number.POSITIVE_INFINITY) return toIterableIterator_cjs.toIterableIterator(iterable);
|
|
18
16
|
const array = toArray_cjs.toArray(iterable);
|
|
19
17
|
let i = Math.max(0, array.length - count);
|
|
20
18
|
return _makeIterableIterator_cjs.makeIterableIterator(() => {
|
|
@@ -27,5 +25,5 @@ function takeLast(iterable, count) {
|
|
|
27
25
|
__name(takeLast, "takeLast");
|
|
28
26
|
|
|
29
27
|
exports.takeLast = takeLast;
|
|
30
|
-
//# sourceMappingURL=
|
|
28
|
+
//# sourceMappingURL=takeLast.cjs.map
|
|
31
29
|
//# sourceMappingURL=takeLast.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/takeLast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/takeLast.ts"],"names":["assertNotNegative","toIntegerOrInfinityOrThrow","empty","toIterableIterator","toArray","makeIterableIterator"],"mappings":";;;;;;;;;;;AA4BO,SAAS,QAAA,CAA4B,UAA2C,KAA8C,EAAA;AACpI,EAAA,KAAA,GAAQA,wCAAkB,CAAAC,0DAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA,CAAA;AAClE,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAOC,eAAM,EAAA,CAAA;AAC9B,EAAA,IAAI,KAAU,KAAA,MAAA,CAAO,iBAAmB,EAAA,OAAOC,0CAAmB,QAAQ,CAAA,CAAA;AAE1E,EAAM,MAAA,KAAA,GAAQC,oBAAQ,QAAQ,CAAA,CAAA;AAC9B,EAAA,IAAI,IAAI,IAAK,CAAA,GAAA,CAAI,CAAG,EAAA,KAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AACxC,EAAA,OAAOC,+CAAkC,MAAM;AAC9C,IAAI,IAAA,CAAA,IAAK,MAAM,MAAQ,EAAA;AACtB,MAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,KAAU,CAAA,EAAA,CAAA;AAAA,KACvC;AAEA,IAAA,OAAO,EAAE,IAAM,EAAA,KAAA,EAAO,KAAO,EAAA,KAAA,CAAM,GAAG,CAAE,EAAA,CAAA;AAAA,GACxC,CAAA,CAAA;AACF,CAAA;AAdgB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"takeLast.cjs","sourcesContent":["import { empty } from './empty';\nimport type { IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\nimport { toArray } from './toArray';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Consumes the iterable and returns a new iterable with the last `count` elements.\n *\n * @param iterable An iterator to take values from.\n * @param count The number of values to take from the end of the iterator.\n * @returns An iterator that contains the last `count` elements of the provided iterator.\n *\n * @example\n * ```typescript\n * import { takeLast } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...takeLast(iterable, 2)]);\n * // Output: [4, 5]\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function takeLast<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType> {\n\tcount = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);\n\tif (count === 0) return empty();\n\tif (count === Number.POSITIVE_INFINITY) return toIterableIterator(iterable);\n\n\tconst array = toArray(iterable);\n\tlet i = Math.max(0, array.length - count);\n\treturn makeIterableIterator<ElementType>(() => {\n\t\tif (i >= array.length) {\n\t\t\treturn { done: true, value: undefined };\n\t\t}\n\n\t\treturn { done: false, value: array[i++] };\n\t});\n}\n"]}
|
package/dist/cjs/lib/tee.cjs
CHANGED
|
@@ -11,8 +11,7 @@ var __defProp = Object.defineProperty;
|
|
|
11
11
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
12
|
function tee(iterable, count) {
|
|
13
13
|
count = _assertNotNegative_cjs.assertNotNegative(_toIntegerOrThrow_cjs.toIntegerOrThrow(count), count);
|
|
14
|
-
if (count === 0)
|
|
15
|
-
return [];
|
|
14
|
+
if (count === 0) return [];
|
|
16
15
|
const entries = [];
|
|
17
16
|
const indexes = toArray_cjs.toArray(repeat_cjs.repeat(0, count));
|
|
18
17
|
const resolvedIterable = from_cjs.from(iterable);
|
|
@@ -35,5 +34,5 @@ function tee(iterable, count) {
|
|
|
35
34
|
__name(tee, "tee");
|
|
36
35
|
|
|
37
36
|
exports.tee = tee;
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=tee.cjs.map
|
|
39
38
|
//# sourceMappingURL=tee.cjs.map
|
package/dist/cjs/lib/tee.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/tee.ts"],"names":["iterable"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/tee.ts"],"names":["assertNotNegative","toIntegerOrThrow","toArray","repeat","from","iterable","makeIterableIterator"],"mappings":";;;;;;;;;;;AA2BO,SAAS,GAAA,CAAuB,UAA2C,KAAgD,EAAA;AACjI,EAAA,KAAA,GAAQA,wCAAkB,CAAAC,sCAAA,CAAiB,KAAK,CAAA,EAAG,KAAK,CAAA,CAAA;AACxD,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAO,EAAC,CAAA;AAEzB,EAAA,MAAM,UAAU,EAAC,CAAA;AACjB,EAAA,MAAM,OAAU,GAAAC,mBAAA,CAAQC,iBAAO,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA,CAAA;AACxC,EAAM,MAAA,gBAAA,GAAmBC,cAAK,QAAQ,CAAA,CAAA;AAEtC,EAAA,MAAM,YAAY,EAAC,CAAA;AACnB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,EAAO,CAAK,EAAA,EAAA;AAC/B,IAAMC,MAAAA,SAAAA,GAAWC,+CAAkC,MAAM;AACxD,MAAA,IAAI,OAAQ,CAAA,CAAC,CAAK,IAAA,OAAA,CAAQ,MAAQ,EAAA;AACjC,QAAM,MAAA,MAAA,GAAS,iBAAiB,IAAK,EAAA,CAAA;AACrC,QAAA,IAAI,OAAO,IAAM,EAAA;AAChB,UAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,KAAU,CAAA,EAAA,CAAA;AAAA,SACvC;AAEA,QAAQ,OAAA,CAAA,IAAA,CAAK,OAAO,KAAK,CAAA,CAAA;AAAA,OAC1B;AAEA,MAAO,OAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,QAAQ,OAAQ,CAAA,CAAC,GAAG,CAAE,EAAA,CAAA;AAAA,KACnD,CAAA,CAAA;AAED,IAAA,SAAA,CAAU,KAAKD,SAAQ,CAAA,CAAA;AAAA,GACxB;AAEA,EAAO,OAAA,SAAA,CAAA;AACR,CAAA;AA3BgB,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA","file":"tee.cjs","sourcesContent":["import { from, type IterableResolvable } from './from';\nimport { repeat } from './repeat';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrThrow } from './shared/_toIntegerOrThrow';\nimport { toArray } from './toArray';\n\n/**\n * Creates `count` independent iterators from the input iterable.\n *\n * @param iterable An iterator to tee.\n * @param count The number of iterators to create.\n * @returns An array of `count` iterators that each yield the same values as the input iterator.\n *\n * @example\n * ```typescript\n * import { tee } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * const [iter1, iter2] = tee(iterable, 2);\n * console.log([...iter1]);\n * // Output: [1, 2, 3, 4, 5]\n *\n * console.log([...iter2]);\n * // Output: [1, 2, 3, 4, 5]\n * ```\n */\nexport function tee<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType>[] {\n\tcount = assertNotNegative(toIntegerOrThrow(count), count);\n\tif (count === 0) return [];\n\n\tconst entries = [] as ElementType[];\n\tconst indexes = toArray(repeat(0, count));\n\tconst resolvedIterable = from(iterable);\n\n\tconst iterables = [] as IterableIterator<ElementType>[];\n\tfor (let i = 0; i < count; i++) {\n\t\tconst iterable = makeIterableIterator<ElementType>(() => {\n\t\t\tif (indexes[i] >= entries.length) {\n\t\t\t\tconst result = resolvedIterable.next();\n\t\t\t\tif (result.done) {\n\t\t\t\t\treturn { done: true, value: undefined };\n\t\t\t\t}\n\n\t\t\t\tentries.push(result.value);\n\t\t\t}\n\n\t\t\treturn { done: false, value: entries[indexes[i]++] };\n\t\t});\n\n\t\titerables.push(iterable);\n\t}\n\n\treturn iterables;\n}\n"]}
|
package/dist/cjs/lib/toArray.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/toArray.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/toArray.ts"],"names":["toIterableIterator"],"mappings":";;;;;;AAkCO,SAAS,QAA2B,QAA0D,EAAA;AACpG,EAAA,OAAO,CAAC,GAAGA,yCAAmB,CAAA,QAAQ,CAAC,CAAA,CAAA;AACxC,CAAA;AAFgB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"toArray.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Consumes the iterable and returns an array with all the elements.\n *\n * @param iterable The iterator to convert to an array.\n * @returns An array containing the values of the provided iterator.\n *\n * @example\n * ```typescript\n * import { toArray } from '@sapphire/iterator-utilities';\n *\n * const array = [1, 2, 3, 4, 5];\n * console.log(toArray(array));\n * // Output: [1, 2, 3, 4, 5]\n *\n * const set = new Set([1, 2, 3, 4, 5]);\n * console.log(toArray(set));\n * // Output: [1, 2, 3, 4, 5]\n *\n * const map = new Map([['a', 1], ['b', 2], ['c', 3]]);\n * console.log(toArray(map));\n * // Output: [['a', 1], ['b', 2], ['c', 3]]\n *\n * const string = 'hello';\n * console.log(toArray(string));\n * // Output: ['h', 'e', 'l', 'l', 'o']\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function toArray<const ElementType>(iterable: IterableResolvable<ElementType>): ElementType[] {\n\treturn [...toIterableIterator(iterable)];\n}\n"]}
|
|
@@ -15,5 +15,5 @@ function toIterableIterator(iterable) {
|
|
|
15
15
|
__name(toIterableIterator, "toIterableIterator");
|
|
16
16
|
|
|
17
17
|
exports.toIterableIterator = toIterableIterator;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=toIterableIterator.cjs.map
|
|
19
19
|
//# sourceMappingURL=toIterableIterator.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/toIterableIterator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/toIterableIterator.ts"],"names":["from","makeIterableIterator"],"mappings":";;;;;;;AA8BO,SAAS,mBAAsC,QAA0E,EAAA;AAC/H,EAAM,MAAA,gBAAA,GAAmBA,cAAK,QAAQ,CAAA,CAAA;AACtC,EAAI,IAAA,MAAA,CAAO,YAAY,gBAAkB,EAAA;AACxC,IAAO,OAAA,gBAAA,CAAA;AAAA,GACR;AAEA,EAAA,OAAOC,8CAAqB,CAAA,MAAM,gBAAiB,CAAA,IAAA,EAAM,CAAA,CAAA;AAC1D,CAAA;AAPgB,MAAA,CAAA,kBAAA,EAAA,oBAAA,CAAA","file":"toIterableIterator.cjs","sourcesContent":["import { from, type IterableResolvable } from './from';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\n\n/**\n * Creates an iterable iterator from an iterable or iterator-like object.\n *\n * @param iterable The iterable or iterable-like object to convert.\n * @returns An iterable iterator.\n *\n * @example\n * ```typescript\n * import { toIterableIterator } from '@sapphire/iterator-utilities';\n *\n * const array = [1, 2, 3, 4, 5];\n * console.log([...toIterableIterator(array)]);\n * // Output: [1, 2, 3, 4, 5]\n *\n * const set = new Set([1, 2, 3, 4, 5]);\n * console.log([...toIterableIterator(set)]);\n * // Output: [1, 2, 3, 4, 5]\n *\n * const map = new Map([['a', 1], ['b', 2], ['c', 3]]);\n * console.log([...toIterableIterator(map)]);\n * // Output: [['a', 1], ['b', 2], ['c', 3]]\n *\n * const string = 'hello';\n * console.log([...toIterableIterator(string)]);\n * // Output: ['h', 'e', 'l', 'l', 'o']\n * ```\n */\nexport function toIterableIterator<const ElementType>(iterable: IterableResolvable<ElementType>): IterableIterator<ElementType> {\n\tconst resolvedIterable = from(iterable);\n\tif (Symbol.iterator in resolvedIterable) {\n\t\treturn resolvedIterable;\n\t}\n\n\treturn makeIterableIterator(() => resolvedIterable.next());\n}\n"]}
|
package/dist/cjs/lib/union.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/union.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/union.ts"],"names":["toIterableIterator"],"mappings":";;;;;;AAmBO,UAAU,SAA4B,SAA6E,EAAA;AACzH,EAAM,MAAA,IAAA,uBAAW,GAAiB,EAAA,CAAA;AAClC,EAAA,KAAA,MAAW,YAAY,SAAW,EAAA;AACjC,IAAW,KAAA,MAAA,KAAA,IAASA,yCAAmB,CAAA,QAAQ,CAAG,EAAA;AACjD,MAAA,IAAI,CAAC,IAAA,CAAK,GAAI,CAAA,KAAK,CAAG,EAAA;AACrB,QAAA,IAAA,CAAK,IAAI,KAAK,CAAA,CAAA;AACd,QAAM,MAAA,KAAA,CAAA;AAAA,OACP;AAAA,KACD;AAAA,GACD;AACD,CAAA;AAViB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"union.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates an iterable with the elements that are in either input iterable.\n *\n * @param iterables The iterators to combine.\n * @returns An iterator that yields the union of the provided iterators.\n *\n * @example\n * ```typescript\n * import { union } from '@sapphire/iterator-utilities';\n *\n * const iterable1 = [1, 2, 3];\n * const iterable2 = [3, 4, 5];\n * console.log([...union(iterable1, iterable2)]);\n * // Output: [1, 2, 3, 4, 5]\n * ```\n */\nexport function* union<const ElementType>(...iterables: IterableResolvable<ElementType>[]): IterableIterator<ElementType> {\n\tconst seen = new Set<ElementType>();\n\tfor (const iterator of iterables) {\n\t\tfor (const value of toIterableIterator(iterator)) {\n\t\t\tif (!seen.has(value)) {\n\t\t\t\tseen.add(value);\n\t\t\t\tyield value;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
package/dist/cjs/lib/unique.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/unique.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/unique.ts"],"names":["union"],"mappings":";;;;;;AAkBO,SAAS,OAA0B,QAA0E,EAAA;AAEnH,EAAA,OAAOA,gBAAM,QAAQ,CAAA,CAAA;AACtB,CAAA;AAHgB,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA","file":"unique.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { union } from './union';\n\n/**\n * Creates an iterable with the unique elements of the input iterable. Under the hood, it calls {@linkcode union} with the iterable itself.\n *\n * @param iterable An iterator to remove duplicates from.\n * @returns An iterator that yields the values of the provided iterator with duplicates removed.\n *\n * @example\n * ```typescript\n * import { unique } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5];\n * console.log([...unique(iterable)]);\n * // Output: [1, 2, 3, 4, 5]\n * ```\n */\nexport function unique<const ElementType>(iterable: IterableResolvable<ElementType>): IterableIterator<ElementType> {\n\t// The union of a single iterator is the iterator itself, with duplicates removed.\n\treturn union(iterable);\n}\n"]}
|
package/dist/cjs/lib/unzip.cjs
CHANGED
|
@@ -15,8 +15,7 @@ function unzip(iterable) {
|
|
|
15
15
|
}
|
|
16
16
|
const size = firstResult.value.length;
|
|
17
17
|
const results = [];
|
|
18
|
-
for (let i = 0; i < size; i++)
|
|
19
|
-
results.push([firstResult.value[i]]);
|
|
18
|
+
for (let i = 0; i < size; i++) results.push([firstResult.value[i]]);
|
|
20
19
|
for (const entries of resolvedIterable) {
|
|
21
20
|
if (!Array.isArray(entries)) {
|
|
22
21
|
throw new Error("Cannot unzip an iterable that does not yield an array");
|
|
@@ -33,5 +32,5 @@ function unzip(iterable) {
|
|
|
33
32
|
__name(unzip, "unzip");
|
|
34
33
|
|
|
35
34
|
exports.unzip = unzip;
|
|
36
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=unzip.cjs.map
|
|
37
36
|
//# sourceMappingURL=unzip.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/unzip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/unzip.ts"],"names":["toIterableIterator"],"mappings":";;;;;;AA2BO,SAAS,MAAgD,QAAuE,EAAA;AACtI,EAAM,MAAA,gBAAA,GAAmBA,0CAAmB,QAAQ,CAAA,CAAA;AACpD,EAAM,MAAA,WAAA,GAAc,iBAAiB,IAAK,EAAA,CAAA;AAC1C,EAAA,IAAI,YAAY,IAAM,EAAA;AACrB,IAAM,MAAA,IAAI,MAAM,gCAAgC,CAAA,CAAA;AAAA,GACjD;AAEA,EAAA,IAAI,CAAC,KAAA,CAAM,OAAQ,CAAA,WAAA,CAAY,KAAK,CAAG,EAAA;AACtC,IAAM,MAAA,IAAI,MAAM,uDAAuD,CAAA,CAAA;AAAA,GACxE;AAEA,EAAM,MAAA,IAAA,GAAO,YAAY,KAAM,CAAA,MAAA,CAAA;AAC/B,EAAA,MAAM,UAAU,EAAC,CAAA;AACjB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,IAAA,EAAM,CAAK,EAAA,EAAA,OAAA,CAAQ,IAAK,CAAA,CAAC,WAAY,CAAA,KAAA,CAAM,CAAC,CAAC,CAAC,CAAA,CAAA;AAClE,EAAA,KAAA,MAAW,WAAW,gBAAkB,EAAA;AACvC,IAAA,IAAI,CAAC,KAAA,CAAM,OAAQ,CAAA,OAAO,CAAG,EAAA;AAC5B,MAAM,MAAA,IAAI,MAAM,uDAAuD,CAAA,CAAA;AAAA,KACxE;AAEA,IAAI,IAAA,OAAA,CAAQ,WAAW,IAAM,EAAA;AAC5B,MAAM,MAAA,IAAI,MAAM,gEAAgE,CAAA,CAAA;AAAA,KACjF;AAEA,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,IAAA,EAAM,CAAK,EAAA,EAAA;AAC9B,MAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,IAAK,CAAA,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA;AAAA,KAC3B;AAAA,GACD;AAEA,EAAO,OAAA,OAAA,CAAA;AACR,CAAA;AA7BgB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"unzip.cjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates an array for each element of the input iterable, transposing the input iterable. The opposite of {@linkcode zip}.\n *\n * @param iterable An iterable to unzip.\n * @returns An array of iterables that yield the values of the original iterable.\n *\n * @example\n * ```typescript\n * import { unzip } from '@sapphire/iterator-utilities';\n *\n * const iterable = [[1, 'a'], [2, 'b'], [3, 'c']];\n * const [numbers, letters] = unzip(iterable);\n *\n * console.log(numbers);\n * // Output: [1, 2, 3]\n *\n * console.log(letters);\n * // Output: ['a', 'b', 'c']\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterable.\n */\nexport function unzip<const ElementType extends readonly any[]>(iterable: IterableResolvable<ElementType>): UnzipIterable<ElementType> {\n\tconst resolvedIterable = toIterableIterator(iterable);\n\tconst firstResult = resolvedIterable.next();\n\tif (firstResult.done) {\n\t\tthrow new Error('Cannot unzip an empty iterable');\n\t}\n\n\tif (!Array.isArray(firstResult.value)) {\n\t\tthrow new Error('Cannot unzip an iterable that does not yield an array');\n\t}\n\n\tconst size = firstResult.value.length;\n\tconst results = [] as ElementType[][];\n\tfor (let i = 0; i < size; i++) results.push([firstResult.value[i]]);\n\tfor (const entries of resolvedIterable) {\n\t\tif (!Array.isArray(entries)) {\n\t\t\tthrow new Error('Cannot unzip an iterable that does not yield an array');\n\t\t}\n\n\t\tif (entries.length !== size) {\n\t\t\tthrow new Error('Cannot unzip an iterable that yields arrays of different sizes');\n\t\t}\n\n\t\tfor (let i = 0; i < size; i++) {\n\t\t\tresults[i].push(entries[i]);\n\t\t}\n\t}\n\n\treturn results as UnzipIterable<ElementType>;\n}\n\nexport type UnzipIterable<ElementType extends readonly any[]> = {\n\t-readonly [P in keyof ElementType]: ElementType[P][];\n};\n"]}
|
package/dist/cjs/lib/zip.cjs
CHANGED
|
@@ -10,8 +10,7 @@ function* zip(...iterables) {
|
|
|
10
10
|
const results = [];
|
|
11
11
|
for (const resolvedIterable of resolvedIterables) {
|
|
12
12
|
const result = resolvedIterable.next();
|
|
13
|
-
if (result.done)
|
|
14
|
-
return;
|
|
13
|
+
if (result.done) return;
|
|
15
14
|
results.push(result.value);
|
|
16
15
|
}
|
|
17
16
|
yield results;
|
|
@@ -20,5 +19,5 @@ function* zip(...iterables) {
|
|
|
20
19
|
__name(zip, "zip");
|
|
21
20
|
|
|
22
21
|
exports.zip = zip;
|
|
23
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=zip.cjs.map
|
|
24
23
|
//# sourceMappingURL=zip.cjs.map
|
package/dist/cjs/lib/zip.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/zip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/zip.ts"],"names":["from"],"mappings":";;;;;;AAwBO,UAAU,OAAmE,SAA+C,EAAA;AAClI,EAAA,MAAM,oBAAoB,SAAU,CAAA,GAAA,CAAI,CAAC,QAAa,KAAAA,aAAA,CAAK,QAAQ,CAAC,CAAA,CAAA;AACpE,EAAA,OAAO,IAAM,EAAA;AACZ,IAAA,MAAM,UAAU,EAAC,CAAA;AACjB,IAAA,KAAA,MAAW,oBAAoB,iBAAmB,EAAA;AACjD,MAAM,MAAA,MAAA,GAAS,iBAAiB,IAAK,EAAA,CAAA;AACrC,MAAA,IAAI,OAAO,IAAM,EAAA,OAAA;AAEjB,MAAQ,OAAA,CAAA,IAAA,CAAK,OAAO,KAAK,CAAA,CAAA;AAAA,KAC1B;AAEA,IAAM,MAAA,OAAA,CAAA;AAAA,GACP;AACD,CAAA;AAbiB,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA","file":"zip.cjs","sourcesContent":["import { from, type IterableResolvable } from './from';\n\n/**\n * Creates an iterable with the elements of the input iterables zipped together. The opposite of {@linkcode unzip}.\n *\n * @param iterables The iterables to zip together.\n * @returns A new iterable that yields the next value of each iterable in the list.\n *\n * @example\n * ```typescript\n * import { zip } from '@sapphire/iterator-utilities';\n *\n * const iterable1 = [1, 2, 3];\n * const iterable2 = ['a', 'b', 'c'];\n * const iterable3 = [true, false, true];\n *\n * console.log(zip(iterable1, iterable2, iterable3));\n * // Output: [\n * // \t[1, 'a', true],\n * // \t[2, 'b', false],\n * // \t[3, 'c', true]\n * // ]\n * ```\n */\nexport function* zip<const Iterables extends readonly IterableResolvable<any>[]>(...iterables: Iterables): ZipIterators<Iterables> {\n\tconst resolvedIterables = iterables.map((iterable) => from(iterable));\n\twhile (true) {\n\t\tconst results = [] as any[];\n\t\tfor (const resolvedIterable of resolvedIterables) {\n\t\t\tconst result = resolvedIterable.next();\n\t\t\tif (result.done) return;\n\n\t\t\tresults.push(result.value);\n\t\t}\n\n\t\tyield results as any;\n\t}\n}\n\nexport type ZipIterators<Iterators extends readonly IterableResolvable<any>[]> = IterableIterator<{\n\t-readonly [P in keyof Iterators]: Iterators[P] extends IterableResolvable<infer T> ? T : never;\n}>;\n"]}
|
|
@@ -2,5 +2,5 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
|
|
4
4
|
export { __name };
|
|
5
|
-
//# sourceMappingURL=
|
|
6
|
-
//# sourceMappingURL=chunk-
|
|
5
|
+
//# sourceMappingURL=chunk-PAWJFY3S.mjs.map
|
|
6
|
+
//# sourceMappingURL=chunk-PAWJFY3S.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-PAWJFY3S.mjs"}
|
package/dist/esm/index.mjs
CHANGED
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs","sourcesContent":[]}
|
package/dist/esm/lib/append.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { chain } from './chain.mjs';
|
|
3
3
|
|
|
4
4
|
function append(iterable, ...iterables) {
|
|
@@ -7,5 +7,5 @@ function append(iterable, ...iterables) {
|
|
|
7
7
|
__name(append, "append");
|
|
8
8
|
|
|
9
9
|
export { append, append as concat };
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=append.mjs.map
|
|
11
11
|
//# sourceMappingURL=append.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/append.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/append.ts"],"names":[],"mappings":";;;AAmBO,SAAS,MAAA,CACf,aACG,SAC6B,EAAA;AAChC,EAAO,OAAA,KAAA,CAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AACpC,CAAA;AALgB,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA","file":"append.mjs","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/esm/lib/at.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { drop } from './drop.mjs';
|
|
3
3
|
import { first } from './first.mjs';
|
|
4
4
|
import { assertNotNegative } from './shared/_assertNotNegative.mjs';
|
|
@@ -11,5 +11,5 @@ function at(iterable, index) {
|
|
|
11
11
|
__name(at, "at");
|
|
12
12
|
|
|
13
13
|
export { at };
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=at.mjs.map
|
|
15
15
|
//# sourceMappingURL=at.mjs.map
|
package/dist/esm/lib/at.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/at.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/at.ts"],"names":[],"mappings":";;;;;;AA0BO,SAAS,EAAA,CAAsB,UAA2C,KAAwC,EAAA;AACxH,EAAA,KAAA,GAAQ,iBAAkB,CAAA,0BAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA,CAAA;AAClE,EAAA,OAAO,MAAM,KAAU,KAAA,CAAA,GAAI,WAAW,IAAK,CAAA,QAAA,EAAU,KAAK,CAAC,CAAA,CAAA;AAC5D,CAAA;AAHgB,MAAA,CAAA,EAAA,EAAA,IAAA,CAAA","file":"at.mjs","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/esm/lib/average.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { map } from './map.mjs';
|
|
3
3
|
import { toNumberOrThrow } from './shared/_toNumberOrThrow.mjs';
|
|
4
4
|
|
|
@@ -14,5 +14,5 @@ function average(iterable) {
|
|
|
14
14
|
__name(average, "average");
|
|
15
15
|
|
|
16
16
|
export { average };
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=average.mjs.map
|
|
18
18
|
//# sourceMappingURL=average.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/average.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/average.ts"],"names":[],"mappings":";;;;AAuBO,SAAS,QAAQ,QAA+D,EAAA;AACtF,EAAA,IAAI,GAAM,GAAA,CAAA,CAAA;AACV,EAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;AACZ,EAAA,KAAA,MAAW,KAAS,IAAA,GAAA,CAAI,QAAU,EAAA,eAAe,CAAG,EAAA;AACnD,IAAO,GAAA,IAAA,KAAA,CAAA;AACP,IAAA,KAAA,EAAA,CAAA;AAAA,GACD;AAEA,EAAO,OAAA,KAAA,KAAU,CAAI,GAAA,IAAA,GAAO,GAAM,GAAA,KAAA,CAAA;AACnC,CAAA;AATgB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"average.mjs","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/esm/lib/chain.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { toIterableIterator } from './toIterableIterator.mjs';
|
|
3
3
|
|
|
4
4
|
function* chain(...iterables) {
|
|
@@ -9,5 +9,5 @@ function* chain(...iterables) {
|
|
|
9
9
|
__name(chain, "chain");
|
|
10
10
|
|
|
11
11
|
export { chain };
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=chain.mjs.map
|
|
13
13
|
//# sourceMappingURL=chain.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/chain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/chain.ts"],"names":[],"mappings":";;;AAkBO,UAAU,SAA4B,SAA6E,EAAA;AACzH,EAAA,KAAA,MAAW,YAAY,SAAW,EAAA;AACjC,IAAA,OAAO,mBAAmB,QAAQ,CAAA,CAAA;AAAA,GACnC;AACD,CAAA;AAJiB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"chain.mjs","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/esm/lib/chunk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { assertPositive } from './shared/_assertPositive.mjs';
|
|
3
3
|
import { toIntegerOrThrow } from './shared/_toIntegerOrThrow.mjs';
|
|
4
4
|
import { toIterableIterator } from './toIterableIterator.mjs';
|
|
@@ -20,5 +20,5 @@ function* chunk(iterable, size) {
|
|
|
20
20
|
__name(chunk, "chunk");
|
|
21
21
|
|
|
22
22
|
export { chunk };
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=chunk.mjs.map
|
|
24
24
|
//# sourceMappingURL=chunk.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/chunk.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/chunk.ts"],"names":[],"mappings":";;;;;AAoBO,UAAU,KAAA,CAAyB,UAA2C,IAA+C,EAAA;AACnI,EAAA,IAAA,GAAO,cAAe,CAAA,gBAAA,CAAiB,IAAI,CAAA,EAAG,IAAI,CAAA,CAAA;AAElD,EAAA,IAAI,SAAwB,EAAC,CAAA;AAC7B,EAAW,KAAA,MAAA,OAAA,IAAW,kBAAmB,CAAA,QAAQ,CAAG,EAAA;AACnD,IAAA,MAAA,CAAO,KAAK,OAAO,CAAA,CAAA;AAEnB,IAAI,IAAA,MAAA,CAAO,WAAW,IAAM,EAAA;AAC3B,MAAM,MAAA,MAAA,CAAA;AACN,MAAA,MAAA,GAAS,EAAC,CAAA;AAAA,KACX;AAAA,GACD;AAEA,EAAA,IAAI,OAAO,MAAQ,EAAA;AAClB,IAAM,MAAA,MAAA,CAAA;AAAA,GACP;AACD,CAAA;AAhBiB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"chunk.mjs","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"]}
|
package/dist/esm/lib/compact.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { filter } from './filter.mjs';
|
|
3
3
|
|
|
4
4
|
function compact(iterable) {
|
|
@@ -7,5 +7,5 @@ function compact(iterable) {
|
|
|
7
7
|
__name(compact, "compact");
|
|
8
8
|
|
|
9
9
|
export { compact };
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=compact.mjs.map
|
|
11
11
|
//# sourceMappingURL=compact.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/compact.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/compact.ts"],"names":[],"mappings":";;;AAiBO,SAAS,QAA2B,QAA6F,EAAA;AACvI,EAAA,OAAO,OAAO,QAAU,EAAA,CAAC,UAAgC,KAAU,KAAA,IAAA,IAAQ,UAAU,KAAS,CAAA,CAAA,CAAA;AAC/F,CAAA;AAFgB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"compact.mjs","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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { from } from './from.mjs';
|
|
3
3
|
import { toIterableIterator } from './toIterableIterator.mjs';
|
|
4
4
|
|
|
@@ -17,5 +17,5 @@ function* compress(iterable, selectors) {
|
|
|
17
17
|
__name(compress, "compress");
|
|
18
18
|
|
|
19
19
|
export { compress };
|
|
20
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=compress.mjs.map
|
|
21
21
|
//# sourceMappingURL=compress.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/compress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/compress.ts"],"names":[],"mappings":";;;;AAwBO,UAAU,QAAA,CAChB,UACA,SACgC,EAAA;AAChC,EAAM,MAAA,iBAAA,GAAoB,KAAK,SAAS,CAAA,CAAA;AACxC,EAAW,KAAA,MAAA,sBAAA,IAA0B,kBAAmB,CAAA,QAAQ,CAAG,EAAA;AAClE,IAAM,MAAA,cAAA,GAAiB,kBAAkB,IAAK,EAAA,CAAA;AAC9C,IAAA,IAAI,eAAe,IAAM,EAAA;AACxB,MAAA,OAAA;AAAA,KACD;AAEA,IAAA,IAAI,eAAe,KAAO,EAAA;AACzB,MAAM,MAAA,sBAAA,CAAA;AAAA,KACP;AAAA,GACD;AACD,CAAA;AAfiB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"compress.mjs","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"]}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { toIterableIterator } from './toIterableIterator.mjs';
|
|
3
3
|
|
|
4
4
|
function contains(iterable, value) {
|
|
5
5
|
for (const element of toIterableIterator(iterable)) {
|
|
6
|
-
if (element === value)
|
|
7
|
-
return true;
|
|
6
|
+
if (element === value) return true;
|
|
8
7
|
}
|
|
9
8
|
return false;
|
|
10
9
|
}
|
|
11
10
|
__name(contains, "contains");
|
|
12
11
|
|
|
13
12
|
export { contains };
|
|
14
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=contains.mjs.map
|
|
15
14
|
//# sourceMappingURL=contains.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/contains.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/contains.ts"],"names":[],"mappings":";;;AAuBO,SAAS,QAAA,CAA4B,UAA2C,KAA6B,EAAA;AACnH,EAAW,KAAA,MAAA,OAAA,IAAW,kBAAmB,CAAA,QAAQ,CAAG,EAAA;AACnD,IAAI,IAAA,OAAA,KAAY,OAAc,OAAA,IAAA,CAAA;AAAA,GAC/B;AAEA,EAAO,OAAA,KAAA,CAAA;AACR,CAAA;AANgB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"contains.mjs","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/esm/lib/count.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __name } from '../chunk-
|
|
1
|
+
import { __name } from '../chunk-PAWJFY3S.mjs';
|
|
2
2
|
import { from } from './from.mjs';
|
|
3
3
|
|
|
4
4
|
function count(iterable) {
|
|
@@ -12,5 +12,5 @@ function count(iterable) {
|
|
|
12
12
|
__name(count, "count");
|
|
13
13
|
|
|
14
14
|
export { count };
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=count.mjs.map
|
|
16
16
|
//# sourceMappingURL=count.mjs.map
|