@sapphire/iterator-utilities 2.1.0-next.ab1708e3 → 2.1.0-next.bc2f01ce

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.
Files changed (55) hide show
  1. package/dist/cjs/lib/compact.cjs +1 -1
  2. package/dist/cjs/lib/compact.cjs.map +1 -1
  3. package/dist/cjs/lib/empty.cjs +1 -1
  4. package/dist/cjs/lib/empty.cjs.map +1 -1
  5. package/dist/cjs/lib/fuse.cjs +1 -1
  6. package/dist/cjs/lib/fuse.cjs.map +1 -1
  7. package/dist/cjs/lib/intersperse.cjs +1 -1
  8. package/dist/cjs/lib/intersperse.cjs.map +1 -1
  9. package/dist/cjs/lib/peekable.cjs +1 -1
  10. package/dist/cjs/lib/peekable.cjs.map +1 -1
  11. package/dist/cjs/lib/range.cjs +1 -1
  12. package/dist/cjs/lib/range.cjs.map +1 -1
  13. package/dist/cjs/lib/repeat.cjs +1 -1
  14. package/dist/cjs/lib/repeat.cjs.map +1 -1
  15. package/dist/cjs/lib/slice.cjs +1 -1
  16. package/dist/cjs/lib/slice.cjs.map +1 -1
  17. package/dist/cjs/lib/stepBy.cjs +1 -1
  18. package/dist/cjs/lib/stepBy.cjs.map +1 -1
  19. package/dist/cjs/lib/take.cjs +1 -1
  20. package/dist/cjs/lib/take.cjs.map +1 -1
  21. package/dist/cjs/lib/takeLast.cjs +1 -1
  22. package/dist/cjs/lib/takeLast.cjs.map +1 -1
  23. package/dist/cjs/lib/tee.cjs +1 -1
  24. package/dist/cjs/lib/tee.cjs.map +1 -1
  25. package/dist/cjs/lib/windows.cjs +1 -1
  26. package/dist/cjs/lib/windows.cjs.map +1 -1
  27. package/dist/esm/lib/compact.mjs +1 -1
  28. package/dist/esm/lib/compact.mjs.map +1 -1
  29. package/dist/esm/lib/empty.mjs +1 -1
  30. package/dist/esm/lib/empty.mjs.map +1 -1
  31. package/dist/esm/lib/fuse.mjs +1 -1
  32. package/dist/esm/lib/fuse.mjs.map +1 -1
  33. package/dist/esm/lib/intersperse.mjs +1 -1
  34. package/dist/esm/lib/intersperse.mjs.map +1 -1
  35. package/dist/esm/lib/peekable.mjs +1 -1
  36. package/dist/esm/lib/peekable.mjs.map +1 -1
  37. package/dist/esm/lib/range.mjs +1 -1
  38. package/dist/esm/lib/range.mjs.map +1 -1
  39. package/dist/esm/lib/repeat.mjs +1 -1
  40. package/dist/esm/lib/repeat.mjs.map +1 -1
  41. package/dist/esm/lib/slice.mjs +1 -1
  42. package/dist/esm/lib/slice.mjs.map +1 -1
  43. package/dist/esm/lib/stepBy.mjs +1 -1
  44. package/dist/esm/lib/stepBy.mjs.map +1 -1
  45. package/dist/esm/lib/take.mjs +1 -1
  46. package/dist/esm/lib/take.mjs.map +1 -1
  47. package/dist/esm/lib/takeLast.mjs +1 -1
  48. package/dist/esm/lib/takeLast.mjs.map +1 -1
  49. package/dist/esm/lib/tee.mjs +1 -1
  50. package/dist/esm/lib/tee.mjs.map +1 -1
  51. package/dist/esm/lib/windows.mjs +1 -1
  52. package/dist/esm/lib/windows.mjs.map +1 -1
  53. package/dist/iife/index.global.js +13 -13
  54. package/dist/iife/index.global.js.map +1 -1
  55. package/package.json +5 -5
@@ -14,7 +14,7 @@ function takeLast(iterable, count) {
14
14
  let i = Math.max(0, array.length - count);
15
15
  return makeIterableIterator(() => {
16
16
  if (i >= array.length) {
17
- return { done: true, value: undefined };
17
+ return { done: true, value: void 0 };
18
18
  }
19
19
  return { done: false, value: array[i++] };
20
20
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/takeLast.ts"],"names":[],"mappings":";;;;;;;;AA4BO,SAAS,QAAA,CAA4B,UAA2C,KAA8C,EAAA;AACpI,EAAA,KAAA,GAAQ,iBAAkB,CAAA,0BAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAClE,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAO,KAAM,EAAA;AAC9B,EAAA,IAAI,KAAU,KAAA,MAAA,CAAO,iBAAmB,EAAA,OAAO,mBAAmB,QAAQ,CAAA;AAE1E,EAAM,MAAA,KAAA,GAAQ,QAAQ,QAAQ,CAAA;AAC9B,EAAA,IAAI,IAAI,IAAK,CAAA,GAAA,CAAI,CAAG,EAAA,KAAA,CAAM,SAAS,KAAK,CAAA;AACxC,EAAA,OAAO,qBAAkC,MAAM;AAC9C,IAAI,IAAA,CAAA,IAAK,MAAM,MAAQ,EAAA;AACtB,MAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,SAAU,EAAA;AAAA;AAGvC,IAAA,OAAO,EAAE,IAAM,EAAA,KAAA,EAAO,KAAO,EAAA,KAAA,CAAM,GAAG,CAAE,EAAA;AAAA,GACxC,CAAA;AACF;AAdgB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"takeLast.mjs","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"]}
1
+ {"version":3,"sources":["../../../src/lib/takeLast.ts"],"names":[],"mappings":";;;;;;;;AA4BO,SAAS,QAAA,CAA4B,UAA2C,KAA8C,EAAA;AACpI,EAAA,KAAA,GAAQ,iBAAkB,CAAA,0BAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAClE,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAO,KAAM,EAAA;AAC9B,EAAA,IAAI,KAAU,KAAA,MAAA,CAAO,iBAAmB,EAAA,OAAO,mBAAmB,QAAQ,CAAA;AAE1E,EAAM,MAAA,KAAA,GAAQ,QAAQ,QAAQ,CAAA;AAC9B,EAAA,IAAI,IAAI,IAAK,CAAA,GAAA,CAAI,CAAG,EAAA,KAAA,CAAM,SAAS,KAAK,CAAA;AACxC,EAAA,OAAO,qBAAkC,MAAM;AAC9C,IAAI,IAAA,CAAA,IAAK,MAAM,MAAQ,EAAA;AACtB,MAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,MAAU,EAAA;AAAA;AAGvC,IAAA,OAAO,EAAE,IAAM,EAAA,KAAA,EAAO,KAAO,EAAA,KAAA,CAAM,GAAG,CAAE,EAAA;AAAA,GACxC,CAAA;AACF;AAdgB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"takeLast.mjs","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"]}
@@ -18,7 +18,7 @@ function tee(iterable, count) {
18
18
  if (indexes[i] >= entries.length) {
19
19
  const result = resolvedIterable.next();
20
20
  if (result.done) {
21
- return { done: true, value: undefined };
21
+ return { done: true, value: void 0 };
22
22
  }
23
23
  entries.push(result.value);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/tee.ts"],"names":["iterable"],"mappings":";;;;;;;;AA2BO,SAAS,GAAA,CAAuB,UAA2C,KAAgD,EAAA;AACjI,EAAA,KAAA,GAAQ,iBAAkB,CAAA,gBAAA,CAAiB,KAAK,CAAA,EAAG,KAAK,CAAA;AACxD,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAO,EAAC;AAEzB,EAAA,MAAM,UAAU,EAAC;AACjB,EAAA,MAAM,OAAU,GAAA,OAAA,CAAQ,MAAO,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AACxC,EAAM,MAAA,gBAAA,GAAmB,KAAK,QAAQ,CAAA;AAEtC,EAAA,MAAM,YAAY,EAAC;AACnB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,EAAO,CAAK,EAAA,EAAA;AAC/B,IAAMA,MAAAA,SAAAA,GAAW,qBAAkC,MAAM;AACxD,MAAA,IAAI,OAAQ,CAAA,CAAC,CAAK,IAAA,OAAA,CAAQ,MAAQ,EAAA;AACjC,QAAM,MAAA,MAAA,GAAS,iBAAiB,IAAK,EAAA;AACrC,QAAA,IAAI,OAAO,IAAM,EAAA;AAChB,UAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,SAAU,EAAA;AAAA;AAGvC,QAAQ,OAAA,CAAA,IAAA,CAAK,OAAO,KAAK,CAAA;AAAA;AAG1B,MAAO,OAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,QAAQ,OAAQ,CAAA,CAAC,GAAG,CAAE,EAAA;AAAA,KACnD,CAAA;AAED,IAAA,SAAA,CAAU,KAAKA,SAAQ,CAAA;AAAA;AAGxB,EAAO,OAAA,SAAA;AACR;AA3BgB,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA","file":"tee.mjs","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"]}
1
+ {"version":3,"sources":["../../../src/lib/tee.ts"],"names":["iterable"],"mappings":";;;;;;;;AA2BO,SAAS,GAAA,CAAuB,UAA2C,KAAgD,EAAA;AACjI,EAAA,KAAA,GAAQ,iBAAkB,CAAA,gBAAA,CAAiB,KAAK,CAAA,EAAG,KAAK,CAAA;AACxD,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAO,EAAC;AAEzB,EAAA,MAAM,UAAU,EAAC;AACjB,EAAA,MAAM,OAAU,GAAA,OAAA,CAAQ,MAAO,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AACxC,EAAM,MAAA,gBAAA,GAAmB,KAAK,QAAQ,CAAA;AAEtC,EAAA,MAAM,YAAY,EAAC;AACnB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,EAAO,CAAK,EAAA,EAAA;AAC/B,IAAMA,MAAAA,SAAAA,GAAW,qBAAkC,MAAM;AACxD,MAAA,IAAI,OAAQ,CAAA,CAAC,CAAK,IAAA,OAAA,CAAQ,MAAQ,EAAA;AACjC,QAAM,MAAA,MAAA,GAAS,iBAAiB,IAAK,EAAA;AACrC,QAAA,IAAI,OAAO,IAAM,EAAA;AAChB,UAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,MAAU,EAAA;AAAA;AAGvC,QAAQ,OAAA,CAAA,IAAA,CAAK,OAAO,KAAK,CAAA;AAAA;AAG1B,MAAO,OAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,QAAQ,OAAQ,CAAA,CAAC,GAAG,CAAE,EAAA;AAAA,KACnD,CAAA;AAED,IAAA,SAAA,CAAU,KAAKA,SAAQ,CAAA;AAAA;AAGxB,EAAO,OAAA,SAAA;AACR;AA3BgB,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA","file":"tee.mjs","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"]}
@@ -11,7 +11,7 @@ function windows(iterable, count) {
11
11
  return makeIterableIterator(() => {
12
12
  while (buffer.length !== count) {
13
13
  const result = resolvedIterable.next();
14
- if (result.done) return { done: true, value: undefined };
14
+ if (result.done) return { done: true, value: void 0 };
15
15
  buffer.push(result.value);
16
16
  }
17
17
  const value = buffer.slice();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/windows.ts"],"names":[],"mappings":";;;;;;AAqBO,SAAS,OAAA,CAA2B,UAA2C,KAAgD,EAAA;AACrI,EAAA,KAAA,GAAQ,cAAe,CAAA,0BAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAE/D,EAAA,MAAM,SAAS,EAAC;AAChB,EAAM,MAAA,gBAAA,GAAmB,KAAK,QAAQ,CAAA;AACtC,EAAA,OAAO,qBAAoC,MAAM;AAChD,IAAO,OAAA,MAAA,CAAO,WAAW,KAAO,EAAA;AAC/B,MAAM,MAAA,MAAA,GAAS,iBAAiB,IAAK,EAAA;AACrC,MAAA,IAAI,OAAO,IAAM,EAAA,OAAO,EAAE,IAAM,EAAA,IAAA,EAAM,OAAO,SAAU,EAAA;AAEvD,MAAO,MAAA,CAAA,IAAA,CAAK,OAAO,KAAK,CAAA;AAAA;AAGzB,IAAM,MAAA,KAAA,GAAQ,OAAO,KAAM,EAAA;AAC3B,IAAA,MAAA,CAAO,KAAM,EAAA;AACb,IAAO,OAAA,EAAE,IAAM,EAAA,KAAA,EAAO,KAAM,EAAA;AAAA,GAC5B,CAAA;AACF;AAjBgB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"windows.mjs","sourcesContent":["import { from, type IterableResolvable } from './from';\nimport { assertPositive } from './shared/_assertPositive';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\n\n/**\n * Creates an iterable with arrays of `count` elements representing a sliding window.\n *\n * @param iterable The iterator to take values from.\n * @param count The maximum number of values in the window.\n * @returns An iterator that yields windows with `count` values from the provided iterator.\n *\n * @example\n * ```typescript\n * import { windows } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...windows(iterable, 2)]);\n * // Output: [[1, 2], [2, 3], [3, 4], [4, 5]]\n * ```\n */\nexport function windows<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType[]> {\n\tcount = assertPositive(toIntegerOrInfinityOrThrow(count), count);\n\n\tconst buffer = [] as ElementType[];\n\tconst resolvedIterable = from(iterable);\n\treturn makeIterableIterator<ElementType[]>(() => {\n\t\twhile (buffer.length !== count) {\n\t\t\tconst result = resolvedIterable.next();\n\t\t\tif (result.done) return { done: true, value: undefined };\n\n\t\t\tbuffer.push(result.value);\n\t\t}\n\n\t\tconst value = buffer.slice();\n\t\tbuffer.shift();\n\t\treturn { done: false, value };\n\t});\n}\n"]}
1
+ {"version":3,"sources":["../../../src/lib/windows.ts"],"names":[],"mappings":";;;;;;AAqBO,SAAS,OAAA,CAA2B,UAA2C,KAAgD,EAAA;AACrI,EAAA,KAAA,GAAQ,cAAe,CAAA,0BAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAE/D,EAAA,MAAM,SAAS,EAAC;AAChB,EAAM,MAAA,gBAAA,GAAmB,KAAK,QAAQ,CAAA;AACtC,EAAA,OAAO,qBAAoC,MAAM;AAChD,IAAO,OAAA,MAAA,CAAO,WAAW,KAAO,EAAA;AAC/B,MAAM,MAAA,MAAA,GAAS,iBAAiB,IAAK,EAAA;AACrC,MAAA,IAAI,OAAO,IAAM,EAAA,OAAO,EAAE,IAAM,EAAA,IAAA,EAAM,OAAO,MAAU,EAAA;AAEvD,MAAO,MAAA,CAAA,IAAA,CAAK,OAAO,KAAK,CAAA;AAAA;AAGzB,IAAM,MAAA,KAAA,GAAQ,OAAO,KAAM,EAAA;AAC3B,IAAA,MAAA,CAAO,KAAM,EAAA;AACb,IAAO,OAAA,EAAE,IAAM,EAAA,KAAA,EAAO,KAAM,EAAA;AAAA,GAC5B,CAAA;AACF;AAjBgB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"windows.mjs","sourcesContent":["import { from, type IterableResolvable } from './from';\nimport { assertPositive } from './shared/_assertPositive';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\n\n/**\n * Creates an iterable with arrays of `count` elements representing a sliding window.\n *\n * @param iterable The iterator to take values from.\n * @param count The maximum number of values in the window.\n * @returns An iterator that yields windows with `count` values from the provided iterator.\n *\n * @example\n * ```typescript\n * import { windows } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...windows(iterable, 2)]);\n * // Output: [[1, 2], [2, 3], [3, 4], [4, 5]]\n * ```\n */\nexport function windows<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType[]> {\n\tcount = assertPositive(toIntegerOrInfinityOrThrow(count), count);\n\n\tconst buffer = [] as ElementType[];\n\tconst resolvedIterable = from(iterable);\n\treturn makeIterableIterator<ElementType[]>(() => {\n\t\twhile (buffer.length !== count) {\n\t\t\tconst result = resolvedIterable.next();\n\t\t\tif (result.done) return { done: true, value: undefined };\n\n\t\t\tbuffer.push(result.value);\n\t\t}\n\n\t\tconst value = buffer.slice();\n\t\tbuffer.shift();\n\t\treturn { done: false, value };\n\t});\n}\n"]}
@@ -91,7 +91,7 @@ var SapphireIteratorUtilities = (function (exports) {
91
91
 
92
92
  // src/lib/empty.ts
93
93
  function empty() {
94
- return makeIterableIterator(() => ({ done: true, value: undefined }));
94
+ return makeIterableIterator(() => ({ done: true, value: void 0 }));
95
95
  }
96
96
  __name(empty, "empty");
97
97
 
@@ -251,7 +251,7 @@ var SapphireIteratorUtilities = (function (exports) {
251
251
 
252
252
  // src/lib/compact.ts
253
253
  function compact(iterable) {
254
- return filter(iterable, (value) => value !== null && value !== undefined);
254
+ return filter(iterable, (value) => value !== null && value !== void 0);
255
255
  }
256
256
  __name(compact, "compact");
257
257
 
@@ -382,7 +382,7 @@ var SapphireIteratorUtilities = (function (exports) {
382
382
  let i = 0;
383
383
  const resolvedIterable = from(iterable);
384
384
  return makeIterableIterator(
385
- () => i >= count2 ? { done: true, value: undefined } : (i++, resolvedIterable.next())
385
+ () => i >= count2 ? { done: true, value: void 0 } : (i++, resolvedIterable.next())
386
386
  );
387
387
  }
388
388
  __name(take, "take");
@@ -489,7 +489,7 @@ var SapphireIteratorUtilities = (function (exports) {
489
489
  const iterator = toIterableIterator(iterable);
490
490
  return makeIterableIterator(() => {
491
491
  if (ended) {
492
- return { done: true, value: undefined };
492
+ return { done: true, value: void 0 };
493
493
  }
494
494
  const result = iterator.next();
495
495
  if (result.done) {
@@ -563,7 +563,7 @@ var SapphireIteratorUtilities = (function (exports) {
563
563
  }
564
564
  const result = iterator.next();
565
565
  if (result.done) {
566
- return { done: true, value: undefined };
566
+ return { done: true, value: void 0 };
567
567
  }
568
568
  nextItem = result.value;
569
569
  nextItemTaken = true;
@@ -764,7 +764,7 @@ var SapphireIteratorUtilities = (function (exports) {
764
764
  next() {
765
765
  if (peeked) {
766
766
  const value = peeked;
767
- peeked = undefined;
767
+ peeked = void 0;
768
768
  return value;
769
769
  }
770
770
  return resolvedIterable.next();
@@ -802,7 +802,7 @@ var SapphireIteratorUtilities = (function (exports) {
802
802
  function* range(start, end, step) {
803
803
  start = toNumberOrThrow(start);
804
804
  end = toNumberOrThrow(end);
805
- if (step === undefined) {
805
+ if (step === void 0) {
806
806
  step = start < end ? 1 : -1;
807
807
  } else {
808
808
  step = toNumberOrThrow(step);
@@ -854,7 +854,7 @@ var SapphireIteratorUtilities = (function (exports) {
854
854
  count2 = assertNotNegative(toNumberOrThrow(count2), count2);
855
855
  let i = 0;
856
856
  return makeIterableIterator(
857
- () => i >= count2 ? { done: true, value: undefined } : (i++, { done: false, value })
857
+ () => i >= count2 ? { done: true, value: void 0 } : (i++, { done: false, value })
858
858
  );
859
859
  }
860
860
  __name(repeat, "repeat");
@@ -877,7 +877,7 @@ var SapphireIteratorUtilities = (function (exports) {
877
877
  let i = Math.max(0, array.length - count2);
878
878
  return makeIterableIterator(() => {
879
879
  if (i >= array.length) {
880
- return { done: true, value: undefined };
880
+ return { done: true, value: void 0 };
881
881
  }
882
882
  return { done: false, value: array[i++] };
883
883
  });
@@ -890,7 +890,7 @@ var SapphireIteratorUtilities = (function (exports) {
890
890
  if (start === Number.NEGATIVE_INFINITY) {
891
891
  start = 0;
892
892
  }
893
- if (end === undefined) {
893
+ if (end === void 0) {
894
894
  return start >= 0 ? drop(iterable, start) : takeLast(iterable, -start);
895
895
  }
896
896
  end = toIntegerOrInfinityOrThrow(end);
@@ -936,7 +936,7 @@ var SapphireIteratorUtilities = (function (exports) {
936
936
  return makeIterableIterator(() => {
937
937
  const result = iterator.next();
938
938
  if (result.done) {
939
- return { done: true, value: undefined };
939
+ return { done: true, value: void 0 };
940
940
  }
941
941
  for (let i = 0; i < step - 1; i++) {
942
942
  const result2 = iterator.next();
@@ -970,7 +970,7 @@ var SapphireIteratorUtilities = (function (exports) {
970
970
  if (indexes[i] >= entries.length) {
971
971
  const result = resolvedIterable.next();
972
972
  if (result.done) {
973
- return { done: true, value: undefined };
973
+ return { done: true, value: void 0 };
974
974
  }
975
975
  entries.push(result.value);
976
976
  }
@@ -1038,7 +1038,7 @@ var SapphireIteratorUtilities = (function (exports) {
1038
1038
  return makeIterableIterator(() => {
1039
1039
  while (buffer.length !== count2) {
1040
1040
  const result = resolvedIterable.next();
1041
- if (result.done) return { done: true, value: undefined };
1041
+ if (result.done) return { done: true, value: void 0 };
1042
1042
  buffer.push(result.value);
1043
1043
  }
1044
1044
  const value = buffer.slice();