spliterator 1.7.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +12 -0
  2. package/out/index.d.ts +1 -0
  3. package/out/index.d.ts.map +1 -1
  4. package/out/index.js +1 -0
  5. package/out/index.js.map +1 -1
  6. package/out/lib/AsyncSpliterator.d.ts +5 -23
  7. package/out/lib/AsyncSpliterator.d.ts.map +1 -1
  8. package/out/lib/AsyncSpliterator.js +41 -319
  9. package/out/lib/AsyncSpliterator.js.map +1 -1
  10. package/out/lib/BufferController.d.ts +10 -7
  11. package/out/lib/BufferController.d.ts.map +1 -1
  12. package/out/lib/BufferController.js +15 -12
  13. package/out/lib/BufferController.js.map +1 -1
  14. package/out/lib/CSVSpliterator.d.ts +15 -3
  15. package/out/lib/CSVSpliterator.d.ts.map +1 -1
  16. package/out/lib/CSVSpliterator.js +24 -9
  17. package/out/lib/CSVSpliterator.js.map +1 -1
  18. package/out/lib/CharacterSequence.d.ts +1 -1
  19. package/out/lib/CharacterSequence.d.ts.map +1 -1
  20. package/out/lib/CharacterSequence.js +5 -12
  21. package/out/lib/CharacterSequence.js.map +1 -1
  22. package/out/lib/CompositeDataView.d.ts +9 -1
  23. package/out/lib/CompositeDataView.d.ts.map +1 -1
  24. package/out/lib/CompositeDataView.js.map +1 -1
  25. package/out/lib/IndexQueue.d.ts +0 -13
  26. package/out/lib/IndexQueue.d.ts.map +1 -1
  27. package/out/lib/IndexQueue.js +10 -53
  28. package/out/lib/IndexQueue.js.map +1 -1
  29. package/out/lib/JSONSpliterator.d.ts +3 -3
  30. package/out/lib/JSONSpliterator.d.ts.map +1 -1
  31. package/out/lib/JSONSpliterator.js.map +1 -1
  32. package/out/lib/SlidingWindow.d.ts +2 -2
  33. package/out/lib/SlidingWindow.d.ts.map +1 -1
  34. package/out/lib/SlidingWindow.js +8 -4
  35. package/out/lib/SlidingWindow.js.map +1 -1
  36. package/out/lib/Spliterator.d.ts +5 -13
  37. package/out/lib/Spliterator.d.ts.map +1 -1
  38. package/out/lib/Spliterator.js +0 -19
  39. package/out/lib/Spliterator.js.map +1 -1
  40. package/out/lib/TSVSpliterator.d.ts +21 -0
  41. package/out/lib/TSVSpliterator.d.ts.map +1 -0
  42. package/out/lib/TSVSpliterator.js +22 -0
  43. package/out/lib/TSVSpliterator.js.map +1 -0
  44. package/out/lib/TextSpliterator.d.ts +3 -3
  45. package/out/lib/TextSpliterator.d.ts.map +1 -1
  46. package/out/lib/TextSpliterator.js +2 -0
  47. package/out/lib/TextSpliterator.js.map +1 -1
  48. package/out/lib/shared.d.ts +0 -4
  49. package/out/lib/shared.d.ts.map +1 -1
  50. package/out/lib/shared.js +2 -0
  51. package/out/lib/shared.js.map +1 -1
  52. package/out/lib/writer.d.ts +1 -1
  53. package/out/lib/writer.d.ts.map +1 -1
  54. package/out/lib/writer.js +1 -1
  55. package/out/lib/writer.js.map +1 -1
  56. package/out/node/cli/commands/csv.d.ts +2 -2
  57. package/out/node/cli/commands/csv.d.ts.map +1 -1
  58. package/out/node/cli/commands/csv.js +1 -0
  59. package/out/node/cli/commands/csv.js.map +1 -1
  60. package/out/node/cli/commands/iterate.d.ts +2 -2
  61. package/out/node/cli/commands/iterate.d.ts.map +1 -1
  62. package/out/node/cli/utils.d.ts +1 -1
  63. package/out/node/cli/utils.d.ts.map +1 -1
  64. package/out/node/fs/index.d.ts +3 -20
  65. package/out/node/fs/index.d.ts.map +1 -1
  66. package/out/node/fs/index.js +3 -31
  67. package/out/node/fs/index.js.map +1 -1
  68. package/package.json +33 -28
@@ -47,21 +47,24 @@ export class BufferController {
47
47
  this.bytes = newBytes;
48
48
  }
49
49
  /**
50
- * Discard bytes before `start` (and optionally after `end`) by shifting the retained region to
51
- * the front of the buffer in-place.
50
+ * Modify the buffer in place, keeping only the bytes between the start and end indices.
52
51
  *
53
- * Unlike a `subarray` view, `copyWithin` operates within the same `ArrayBuffer`, so the buffer's
54
- * capacity is preserved and the old bytes are overwritten rather than merely hidden behind a
55
- * pointer offset.
52
+ * This is performed after we're confident that any data preceeding `start` or following `end` is
53
+ * no longer needed.
56
54
  *
57
- * @param start - The first byte index to keep. Everything before this is discarded.
58
- * @param end - The last byte index to keep (exclusive). Defaults to `bytesWritten`.
55
+ * `bytesWritten` is rebased onto the new window so it always reflects the count of valid bytes
56
+ * present after compression. Bytes outside the kept window are dropped from the count even if the
57
+ * underlying allocation is larger.
58
+ *
59
+ * @param start - The starting byte index of which bytes to keep.
60
+ * @param end - The ending byte index of which bytes to keep. Defaults to the current buffer
61
+ * length. Values past the buffer length are clamped.
59
62
  */
60
- compress(start = 0, end) {
61
- const keepEnd = Math.min(end ?? this.bytesWritten, this.bytesWritten);
62
- const keepLength = Math.max(0, keepEnd - start);
63
- this.bytes.copyWithin(0, start, keepEnd);
64
- this.bytesWritten = keepLength;
63
+ compress(start = 0, end = this.bytes.length) {
64
+ const clampedEnd = Math.min(end, this.bytes.length);
65
+ const validEnd = Math.min(this.bytesWritten, clampedEnd);
66
+ this.bytes = this.bytes.subarray(start, clampedEnd);
67
+ this.bytesWritten = Math.max(0, validEnd - start);
65
68
  }
66
69
  /**
67
70
  * Clear the buffer, zeroing out all bytes.
@@ -1 +1 @@
1
- {"version":3,"file":"BufferController.js","sourceRoot":"","sources":["../../lib/BufferController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BufferController.js","sourceRoot":"","sources":["../../lib/BufferController.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC5B;;OAEG;IACH,kBAAkB,CAAQ;IAE1B;;;;OAIG;IACH,KAAK,CAAY;IAEjB;;;;OAIG;IACH,YAAY,CAAQ;IAEpB;;OAEG;IACH,IAAW,iBAAiB;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC5D,CAAC;IAED,YAAY,IAAmC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAA;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACpD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;IACtB,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,iBAA0B;QACrC,iBAAiB,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QAE3C,IAAI,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAM;QAElD,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,iBAAiB,CAAC,CAAA;QAElD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAExB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAA;IACtB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,QAAQ,CAAC,QAAgB,CAAC,EAAE,MAAc,IAAI,CAAC,KAAK,CAAC,MAAM;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QAExD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAEnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAA;IAClD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAgB,CAAC,EAAE,MAAc,IAAI,CAAC,YAAY;QAC9D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;IACtB,CAAC;IAED;;;;;;;;OAQG;IACI,QAAQ,CAAC,QAAgB,CAAC,EAAE,MAAc,IAAI,CAAC,YAAY;QACjE,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,UAAU,CAAC,eAAe,KAAK,8BAA8B,GAAG,GAAG,CAAC,CAAA;QAC/E,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAAC,aAAa,GAAG,4CAA4C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACvG,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;;;;;OAUG;IACI,GAAG,CAAC,KAAwB,EAAE,SAAiB,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAExC,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE7B,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;QAC/B,CAAC;QAED,OAAO,UAAU,CAAA;IAClB,CAAC;CACD"}
@@ -3,9 +3,9 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- import { CharacterSequenceInput } from "./CharacterSequence.js";
7
- import { AsyncChunkIterator, AsyncDataResource } from "./shared.js";
8
- import { AsyncSpliteratorInit, SpliteratorInit } from "./Spliterator.js";
6
+ import { type CharacterSequenceInput } from "./CharacterSequence.js";
7
+ import { type AsyncChunkIterator, type AsyncDataResource } from "./shared.js";
8
+ import { type AsyncSpliteratorInit, type SpliteratorInit } from "./Spliterator.js";
9
9
  /**
10
10
  * An output mode for the CSV generator.
11
11
  */
@@ -60,7 +60,19 @@ export interface CSVSpliteratorInit extends SpliteratorInit {
60
60
  header?: boolean;
61
61
  transformers?: Iterable<CSVTransformerEntry> | CSVTransformerRecord;
62
62
  }
63
+ /**
64
+ * A static class spliterator for comma-separated values.
65
+ *
66
+ * @see {@linkcode CSVSpliterator.from} for synchronous usage.
67
+ * @see {@linkcode CSVSpliterator.fromAsync} for asynchronous usage.
68
+ */
63
69
  export declare abstract class CSVSpliterator {
70
+ /**
71
+ * The column delimiter used by the spliterator.
72
+ *
73
+ * @default Delimiters.Comma
74
+ */
75
+ static ColumnDelimiter: number;
64
76
  constructor();
65
77
  static from<T extends CSVSpliteratorEmittedRecord = CSVSpliteratorEmittedRecord>(source: CharacterSequenceInput, options?: CSVSpliteratorInit & {
66
78
  mode: "object";
@@ -1 +1 @@
1
- {"version":3,"file":"CSVSpliterator.d.ts","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CSVSpliterator.d.ts","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,19 @@ export const CSVSpliteratorEmitters = {
27
27
  return record;
28
28
  },
29
29
  };
30
+ /**
31
+ * A static class spliterator for comma-separated values.
32
+ *
33
+ * @see {@linkcode CSVSpliterator.from} for synchronous usage.
34
+ * @see {@linkcode CSVSpliterator.fromAsync} for asynchronous usage.
35
+ */
30
36
  export class CSVSpliterator {
37
+ /**
38
+ * The column delimiter used by the spliterator.
39
+ *
40
+ * @default Delimiters.Comma
41
+ */
42
+ static ColumnDelimiter = Delimiters.Comma;
31
43
  constructor() {
32
44
  throw new TypeError("Static class cannot be instantiated. Did you mean `CSVSpliterator.from`?");
33
45
  }
@@ -39,20 +51,23 @@ export class CSVSpliterator {
39
51
  static *from(source, init = {}) {
40
52
  const {
41
53
  // ---
42
- header = true, transformers: transformersInput = [], normalizeKeys, mode = "array", columnDelimiter: columnDelimiterInput = Delimiters.Comma, take = Infinity, drop = 0, ...rowInit } = init;
54
+ header = true, transformers: transformersInput = [], normalizeKeys, mode = "array", columnDelimiter: columnDelimiterInput = this.ColumnDelimiter, take = Infinity, drop = 0, ...rowInit } = init;
43
55
  const emitter = CSVSpliteratorEmitters[mode];
44
56
  let transformers = [];
45
57
  let yieldCount = 0;
46
58
  const yieldLimit = take + drop;
47
59
  const decoder = new TextDecoder();
48
- const columnDelimiter = new CharacterSequence(columnDelimiterInput ?? Delimiters.Comma);
49
- const columnSpliterator = new Spliterator(new Uint8Array(0), { delimiter: columnDelimiter });
60
+ const columnDelimiter = new CharacterSequence(columnDelimiterInput ?? this.ColumnDelimiter);
61
+ // Empty columns are semantically meaningful for delimited records — a 30-column row
62
+ // must stay 30 columns — so the column splitter unconditionally preserves them
63
+ // regardless of the caller's top-level `skipEmpty`, which only affects row splitting.
64
+ const columnSpliteratorInit = { delimiter: columnDelimiter, skipEmpty: false };
50
65
  const rows = Spliterator.fromSync(source, rowInit);
51
66
  if (header) {
52
67
  const result = rows.next();
53
68
  if (result.done)
54
69
  return;
55
- const columns = columnSpliterator.reset(result.value).toDecodedArray(decoder);
70
+ const columns = new Spliterator(result.value, columnSpliteratorInit).toDecodedArray(decoder);
56
71
  const headers = normalizeKeys ? normalizeColumnNames(columns) : columns;
57
72
  if (Array.isArray(transformersInput)) {
58
73
  transformers = Array.from(zipSync(headers, transformersInput), ([columnName, transformer]) => [
@@ -74,7 +89,7 @@ export class CSVSpliterator {
74
89
  }
75
90
  if (yieldCount >= yieldLimit)
76
91
  break;
77
- const columns = columnSpliterator.reset(row).toDecodedArray(decoder);
92
+ const columns = new Spliterator(row, columnSpliteratorInit).toDecodedArray(decoder);
78
93
  yield emitter ? emitter(columns, transformers) : columns;
79
94
  }
80
95
  }
@@ -94,15 +109,15 @@ export class CSVSpliterator {
94
109
  let transformers = [];
95
110
  let yieldCount = 0;
96
111
  const yieldLimit = take + drop;
97
- const columnDelimiter = new CharacterSequence(columnDelimiterInput ?? Delimiters.Comma);
98
- const columnSpliterator = new Spliterator(new Uint8Array(0), { delimiter: columnDelimiter });
112
+ const columnDelimiter = new CharacterSequence(columnDelimiterInput ?? this.ColumnDelimiter);
113
+ const columnSpliteratorInit = { delimiter: columnDelimiter, skipEmpty: false };
99
114
  const decoder = new TextDecoder();
100
115
  const rows = await Spliterator.from(source, rowInit);
101
116
  if (header) {
102
117
  const result = await rows.next();
103
118
  if (result.done)
104
119
  return;
105
- const columns = columnSpliterator.reset(result.value).toDecodedArray(decoder);
120
+ const columns = new Spliterator(result.value, columnSpliteratorInit).toDecodedArray(decoder);
106
121
  const headers = normalizeKeys ? normalizeColumnNames(columns) : columns;
107
122
  if (Array.isArray(transformersInput)) {
108
123
  transformers = Array.from(zipSync(headers, transformersInput), ([columnName, transformer]) => [
@@ -124,7 +139,7 @@ export class CSVSpliterator {
124
139
  }
125
140
  if (yieldCount >= yieldLimit)
126
141
  break;
127
- const columns = columnSpliterator.reset(row).toDecodedArray(decoder);
142
+ const columns = new Spliterator(row, columnSpliteratorInit).toDecodedArray(decoder);
128
143
  yield emitter ? emitter(columns, transformers) : columns;
129
144
  yieldCount++;
130
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CSVSpliterator.js","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CSVSpliterator.js","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export declare const Delimiters: {
34
34
  */
35
35
  readonly CarriageReturn: 13;
36
36
  /**
37
- * Comma (,)
37
+ * Comma ()
38
38
  */
39
39
  readonly Comma: 44;
40
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterSequence.d.ts","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAEpE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;AAEzG;;GAEG;AACH,eAAO,MAAM,UAAU;IACtB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEuC,CAAA;AAE3C,eAAO,MAAM,mBAAmB,qBAS9B,CAAA;AAKF,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAQtE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,UAAU,CAwBjF;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;;IAMhD;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAE,MAAU,EAAE,GAAG,SAAkB,GAAG,MAAM;IA4B9E,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAKxC;;OAEG;gBACS,KAAK,GAAE,sBAA4C;CAY/D"}
1
+ {"version":3,"file":"CharacterSequence.d.ts","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAEpE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;AAEzG;;GAEG;AACH,eAAO,MAAM,UAAU;IACtB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEuC,CAAA;AAE3C,eAAO,MAAM,mBAAmB,qBAS9B,CAAA;AAEF,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAQtE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,UAAU,CAwBjF;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;;IAMhD;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAE,MAAU,EAAE,GAAG,SAAkB,GAAG,MAAM;IAuB9E,MAAM,CAAC,QAAQ,GAAE,MAAgB,GAAG,MAAM;IAIjD;;OAEG;gBACS,KAAK,GAAE,sBAA4C;CAY/D"}
@@ -26,7 +26,7 @@ export const Delimiters = {
26
26
  */
27
27
  CarriageReturn: 13,
28
28
  /**
29
- * Comma (,)
29
+ * Comma ()
30
30
  */
31
31
  Comma: 44,
32
32
  /**
@@ -57,15 +57,13 @@ export const Delimiters = {
57
57
  export const VisibleDelimiterMap = new Map([
58
58
  [Delimiters.LineFeed, "␤"],
59
59
  [Delimiters.CarriageReturn, "␍"],
60
- [Delimiters.Comma, ","],
60
+ [Delimiters.Comma, "-"],
61
61
  [Delimiters.Tab, "␉"],
62
62
  [Delimiters.Space, "␠"],
63
63
  [Delimiters.DoubleQuote, '"'],
64
64
  [Delimiters.RecordSeparator, "␞"],
65
65
  [Delimiters.Null, "␀"],
66
66
  ]);
67
- const sharedEncoder = new TextEncoder();
68
- const sharedDecoder = new TextDecoder();
69
67
  export function debugAsVisibleCharacters(delimiter) {
70
68
  return Array.from(delimiter)
71
69
  .map((charCode) => {
@@ -82,7 +80,7 @@ export function normalizeCharacterInput(input) {
82
80
  }
83
81
  return Uint8Array.from([input]);
84
82
  case "string":
85
- return sharedEncoder.encode(input);
83
+ return new TextEncoder().encode(input);
86
84
  case "object":
87
85
  if (isArrayLike(input)) {
88
86
  return input;
@@ -118,10 +116,6 @@ export class CharacterSequence extends Uint8Array {
118
116
  */
119
117
  search(haystack, start = 0, end = haystack.length) {
120
118
  const sequenceLength = this.length;
121
- if (sequenceLength === 1) {
122
- const idx = haystack.indexOf(this[0], start);
123
- return idx === -1 || idx >= end ? -1 : idx;
124
- }
125
119
  let startIndex = start;
126
120
  while (startIndex <= end - sequenceLength) {
127
121
  let lastIndex = sequenceLength - 1;
@@ -137,9 +131,8 @@ export class CharacterSequence extends Uint8Array {
137
131
  }
138
132
  return -1;
139
133
  }
140
- decode(encoding) {
141
- const decoder = encoding ? new TextDecoder(encoding) : sharedDecoder;
142
- return decoder.decode(this);
134
+ decode(encoding = "utf-8") {
135
+ return new TextDecoder(encoding).decode(this);
143
136
  }
144
137
  /**
145
138
  * Create a new character sequence from a delimiter.
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterSequence.js","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CharacterSequence.js","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- import { TypedArray } from "./shared.js";
6
+ import type { TypedArray } from "./shared.js";
7
7
  /**
8
8
  * A generic mutable typed array.
9
9
  */
@@ -16,6 +16,13 @@ export interface MutableTypedArray<T extends number | bigint = number | bigint>
16
16
  * A constructor for a mutable typed array.
17
17
  */
18
18
  export type MutableTypedArrayConstructor<T extends number | bigint = number | bigint> = new (length: number) => MutableTypedArray<T>;
19
+ /**
20
+ * Locally-defined mirror of the TC39 `RelativeIndexable` interface, which is no longer surfaced by
21
+ * the `ESNext` lib used here.
22
+ */
23
+ interface RelativeIndexable<T> {
24
+ at(index: number): T | undefined;
25
+ }
19
26
  /**
20
27
  * Given several contiguous byte arrays, wraps them as if they were flattened into a single buffer.
21
28
  */
@@ -101,4 +108,5 @@ export declare class CompositeDataView<Chunk extends TypedArray = TypedArray> im
101
108
  */
102
109
  end?: number): Chunk;
103
110
  }
111
+ export {};
104
112
  //# sourceMappingURL=CompositeDataView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeDataView.d.ts","sourceRoot":"","sources":["../../lib/CompositeDataView.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IACvB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/C;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,KACvF,MAAM,EAAE,MAAM,KACV,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAUzB;;GAEG;AACH,qBAAa,iBAAiB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CACnE,YAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;gBAoE9C,MAAM,CAAC,EAAE,KAAK,EAAE;IAQ5B;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,MAAM,IAAI,SAAS,KAAK,EAAE,CAEpC;IAED;;;;OAIG;IACH,IAAW,MAAM,IAAI,KAAK,CAEzB;IAED,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAExC;IAEO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAM/C;;OAEG;IACI,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAUlC;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAUnC;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAOpC;;OAEG;IACI,UAAU,IAAI,KAAK,GAAG,SAAS;IAWtC;;OAEG;IACI,WAAW,IAAI,KAAK,GAAG,SAAS;IAWvC;;OAEG;IACI,QAAQ;IACd;;OAEG;IACH,KAAK,GAAE,MAAU;IACjB;;;OAGG;IACH,GAAG,GAAE,MAAiC,GACpC,KAAK;IAiDR;;OAEG;IACI,IAAI,IAAI,KAAK;IAIpB;;;;OAIG;IACI,KAAK;IACX;;;;OAIG;IACH,KAAK,GAAE,MAAU;IACjB;;;;OAIG;IACH,GAAG,GAAE,MAAiC,GACpC,KAAK;CAWR"}
1
+ {"version":3,"file":"CompositeDataView.d.ts","sourceRoot":"","sources":["../../lib/CompositeDataView.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IACvB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/C;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,KACvF,MAAM,EAAE,MAAM,KACV,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAUzB;;;GAGG;AACH,UAAU,iBAAiB,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;CAChC;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CACnE,YAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;gBAoE9C,MAAM,CAAC,EAAE,KAAK,EAAE;IAQ5B;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,MAAM,IAAI,SAAS,KAAK,EAAE,CAEpC;IAED;;;;OAIG;IACH,IAAW,MAAM,IAAI,KAAK,CAEzB;IAED,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAExC;IAEO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAM/C;;OAEG;IACI,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAUlC;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAUnC;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAOpC;;OAEG;IACI,UAAU,IAAI,KAAK,GAAG,SAAS;IAWtC;;OAEG;IACI,WAAW,IAAI,KAAK,GAAG,SAAS;IAWvC;;OAEG;IACI,QAAQ;IACd;;OAEG;IACH,KAAK,GAAE,MAAU;IACjB;;;OAGG;IACH,GAAG,GAAE,MAAiC,GACpC,KAAK;IAiDR;;OAEG;IACI,IAAI,IAAI,KAAK;IAIpB;;;;OAIG;IACI,KAAK;IACX;;;;OAIG;IACH,KAAK,GAAE,MAAU;IACjB;;;;OAIG;IACH,GAAG,GAAE,MAAiC,GACpC,KAAK;CAWR"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeDataView.js","sourceRoot":"","sources":["../../lib/CompositeDataView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CompositeDataView.js","sourceRoot":"","sources":["../../lib/CompositeDataView.ts"],"names":[],"mappings":"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"}
@@ -6,14 +6,6 @@
6
6
  import type { ByteRange } from "./shared.js";
7
7
  /**
8
8
  * A first-in, first-out queue for marking and dequeuing index tuples.
9
- *
10
- * Internally the queue stores pairs of numbers `[start, end]` flat in a single array.
11
- *
12
- * A `#head` pointer advances on every dequeue so that the operation is `O(1)` — no element shifting
13
- * occurs.
14
- *
15
- * The dead prefix at the front of the array is compacted back to index 0 in a single splice once it
16
- * reaches {@linkcode COMPACTION_THRESHOLD} slots.
17
9
  */
18
10
  export declare class IndexQueue implements IterableIterator<ByteRange> {
19
11
  #private;
@@ -33,11 +25,6 @@ export declare class IndexQueue implements IterableIterator<ByteRange> {
33
25
  enqueue(tuple: ByteRange): void;
34
26
  /**
35
27
  * Get the next tuple in the queue, removing it.
36
- *
37
- * Advances `#head` by 2 (O(1)) rather than splicing the array.
38
- *
39
- * Once the dead prefix reaches {@linkcode COMPACTION_THRESHOLD} slots it is removed in a single
40
- * splice, resetting `#head` to 0.
41
28
  */
42
29
  dequeue(): ByteRange | undefined;
43
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IndexQueue.d.ts","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAe5C;;;;;;;;;;GAUG;AACH,qBAAa,UAAW,YAAW,gBAAgB,CAAC,SAAS,CAAC;;IAe7D;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAID;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;OAEG;IACI,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMtC;;;;;;;OAOG;IACI,OAAO,IAAI,SAAS,GAAG,SAAS;IAgBvC;;OAEG;IACI,IAAI,IAAI,SAAS,GAAG,SAAS;IAMpC;;OAEG;IACI,QAAQ,IAAI,SAAS,GAAG,SAAS;IAOxC;;OAEG;IACI,KAAK,IAAI,IAAI;IAMpB;;OAEG;IACI,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC;IAUjC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;CAGtC"}
1
+ {"version":3,"file":"IndexQueue.d.ts","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;GAEG;AACH,qBAAa,UAAW,YAAW,gBAAgB,CAAC,SAAS,CAAC;;IAG7D;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAID;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;OAEG;IACI,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMtC;;OAEG;IACI,OAAO,IAAI,SAAS,GAAG,SAAS;IAUvC;;OAEG;IACI,IAAI,IAAI,SAAS,GAAG,SAAS;IAMpC;;OAEG;IACI,QAAQ,IAAI,SAAS,GAAG,SAAS;IAMxC;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;OAEG;IACI,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC;IAUjC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;CAGtC"}
@@ -3,47 +3,16 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- /**
7
- * Number of consumed slots (each tuple occupies 2 slots) that may accumulate at the front of the
8
- * backing array before a compaction is triggered.
9
- *
10
- * Compaction shifts the live portion of the array back to index 0 via a single `splice`. Choosing a
11
- * larger threshold amortises the cost of that splice across more dequeue operations; choosing a
12
- * smaller threshold keeps the dead prefix shorter at the cost of more frequent compactions.
13
- *
14
- * 1024 slots = 512 tuples. At that cadence the O(n) splice happens at most once every 512 dequeues,
15
- * making dequeue effectively O(1) amortised.
16
- */
17
- const COMPACTION_THRESHOLD = 1024;
18
6
  /**
19
7
  * A first-in, first-out queue for marking and dequeuing index tuples.
20
- *
21
- * Internally the queue stores pairs of numbers `[start, end]` flat in a single array.
22
- *
23
- * A `#head` pointer advances on every dequeue so that the operation is `O(1)` — no element shifting
24
- * occurs.
25
- *
26
- * The dead prefix at the front of the array is compacted back to index 0 in a single splice once it
27
- * reaches {@linkcode COMPACTION_THRESHOLD} slots.
28
8
  */
29
9
  export class IndexQueue {
30
- /**
31
- * Flat backing store: pairs of `[start, end]` numbers laid out sequentially.
32
- *
33
- * Slots before `#head` have already been consumed and are logically empty.
34
- */
35
10
  #tuples = [];
36
- /**
37
- * Index into `#tuples` of the next unconsumed start value.
38
- *
39
- * Always even; advances by 2 on each dequeue.
40
- */
41
- #head = 0;
42
11
  /**
43
12
  * The number of tuples in the queue.
44
13
  */
45
14
  get size() {
46
- return (this.#tuples.length - this.#head) / 2;
15
+ return this.#tuples.length / 2;
47
16
  }
48
17
  #byteLength = 0;
49
18
  /**
@@ -58,52 +27,40 @@ export class IndexQueue {
58
27
  * Append a new tuple to the queue.
59
28
  */
60
29
  enqueue(tuple) {
61
- this.#tuples.push(tuple[0], tuple[1]);
30
+ this.#tuples.push(...tuple);
62
31
  this.#byteLength += tuple[1] - tuple[0];
63
32
  }
64
33
  /**
65
34
  * Get the next tuple in the queue, removing it.
66
- *
67
- * Advances `#head` by 2 (O(1)) rather than splicing the array.
68
- *
69
- * Once the dead prefix reaches {@linkcode COMPACTION_THRESHOLD} slots it is removed in a single
70
- * splice, resetting `#head` to 0.
71
35
  */
72
36
  dequeue() {
73
- if (this.#head >= this.#tuples.length)
37
+ if (this.#tuples.length < 2)
74
38
  return;
75
- const start = this.#tuples[this.#head++];
76
- const end = this.#tuples[this.#head++];
77
- this.#byteLength -= end - start;
78
- if (this.#head >= COMPACTION_THRESHOLD) {
79
- this.#tuples.splice(0, this.#head);
80
- this.#head = 0;
81
- }
82
- return [start, end];
39
+ const tuple = this.#tuples.splice(0, 2);
40
+ this.#byteLength -= tuple[1] - tuple[0];
41
+ return tuple;
83
42
  }
84
43
  /**
85
44
  * Peek at the next tuple in the queue without removing it.
86
45
  */
87
46
  peek() {
88
- if (this.#head >= this.#tuples.length)
47
+ if (this.#tuples.length < 2)
89
48
  return;
90
- return [this.#tuples[this.#head], this.#tuples[this.#head + 1]];
49
+ return this.#tuples.slice(0, 2);
91
50
  }
92
51
  /**
93
52
  * Peek at the last tuple in the queue without removing it.
94
53
  */
95
54
  peekLast() {
96
- if (this.#head >= this.#tuples.length)
55
+ if (this.#tuples.length < 2)
97
56
  return;
98
- const last = this.#tuples.length - 2;
99
- return [this.#tuples[last], this.#tuples[last + 1]];
57
+ return this.#tuples.slice(-2);
100
58
  }
101
59
  /**
102
60
  * Clear the queue.
103
61
  */
104
62
  clear() {
105
63
  this.#tuples.length = 0;
106
- this.#head = 0;
107
64
  this.#byteLength = 0;
108
65
  }
109
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IndexQueue.js","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexQueue.js","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,OAAO,UAAU;IACtB,OAAO,GAAa,EAAE,CAAA;IAEtB;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,WAAW,GAAG,CAAC,CAAA;IAEf;;;;OAIG;IACH,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACxB,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,KAAgB;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;QAE3B,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC;IAED;;OAEG;IACI,OAAO;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAc,CAAA;QAEpD,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAEvC,OAAO,KAAkB,CAAA;IAC1B,CAAC;IAED;;OAEG;IACI,IAAI;QACV,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAEnC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAc,CAAA;IAC7C,CAAC;IAED;;OAEG;IACI,QAAQ;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAEnC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAc,CAAA;IAC3C,CAAC;IAED;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;IACrB,CAAC;IAED;;OAEG;IACI,IAAI;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAE5B,IAAI,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QACrC,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;IACxC,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,IAAI,CAAA;IACZ,CAAC;CACD"}
@@ -3,9 +3,9 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- import { CharacterSequenceInput } from "./CharacterSequence.js";
7
- import { AsyncDataResource } from "./shared.js";
8
- import { AsyncSpliteratorInit, SpliteratorInit } from "./Spliterator.js";
6
+ import type { CharacterSequenceInput } from "./CharacterSequence.js";
7
+ import type { AsyncDataResource } from "./shared.js";
8
+ import { type AsyncSpliteratorInit, type SpliteratorInit } from "./Spliterator.js";
9
9
  export declare abstract class JSONSpliterator {
10
10
  constructor();
11
11
  static from<T = unknown>(source: CharacterSequenceInput, options?: SpliteratorInit): Generator<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"JSONSpliterator.d.ts","sourceRoot":"","sources":["../../lib/JSONSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAe,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAErF,8BAAsB,eAAe;;IAKpC,MAAM,CAAE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CAAC,CAAC,CAAC;IA0BtG;;;;OAIG;WACW,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,oBAAyB;CAwBlG"}
1
+ {"version":3,"file":"JSONSpliterator.d.ts","sourceRoot":"","sources":["../../lib/JSONSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,KAAK,oBAAoB,EAAe,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE/F,8BAAsB,eAAe;;IAKpC,MAAM,CAAE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CAAC,CAAC,CAAC;IA0BtG;;;;OAIG;WACW,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,oBAAyB;CAwBlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"JSONSpliterator.js","sourceRoot":"","sources":["../../lib/JSONSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAwB,WAAW,EAAmB,MAAM,kBAAkB,CAAA;AAErF,MAAM,OAAgB,eAAe;IACpC;QACC,MAAM,IAAI,SAAS,CAAC,2EAA2E,CAAC,CAAA;IACjG,CAAC;IAED,MAAM,CAAC,CAAC,IAAI,CAAc,MAA8B,EAAE,UAA2B,EAAE;QACtF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,IAAI,SAAS,GAAG,CAAC,CAAA;QAEjB,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAEzD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,MAAS,CAAA;YAEb,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAEnC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAA;YAClC,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,WAAW,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAA;gBACrE,KAAK,CAAC,KAAK,GAAG,WAAW,CAAA;gBAEzB,MAAM,KAAK,CAAA;YACZ,CAAC;YAED,MAAM,MAAM,CAAA;YAEZ,SAAS,EAAE,CAAA;QACZ,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAc,MAAyB,EAAE,UAAgC,EAAE;QACjG,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE3D,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,MAAS,CAAA;YAEb,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAEnC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAA;YAClC,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,WAAW,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAA;gBACrE,KAAK,CAAC,KAAK,GAAG,WAAW,CAAA;gBAEzB,MAAM,KAAK,CAAA;YACZ,CAAC;YAED,MAAM,MAAM,CAAA;YAEZ,SAAS,EAAE,CAAA;QACZ,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"JSONSpliterator.js","sourceRoot":"","sources":["../../lib/JSONSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAA6B,WAAW,EAAwB,MAAM,kBAAkB,CAAA;AAE/F,MAAM,OAAgB,eAAe;IACpC;QACC,MAAM,IAAI,SAAS,CAAC,2EAA2E,CAAC,CAAA;IACjG,CAAC;IAED,MAAM,CAAC,CAAC,IAAI,CAAc,MAA8B,EAAE,UAA2B,EAAE;QACtF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,IAAI,SAAS,GAAG,CAAC,CAAA;QAEjB,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAEzD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,MAAS,CAAA;YAEb,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAEnC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAA;YAClC,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,WAAW,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAA;gBACrE,KAAK,CAAC,KAAK,GAAG,WAAW,CAAA;gBAEzB,MAAM,KAAK,CAAA;YACZ,CAAC;YAED,MAAM,MAAM,CAAA;YAEZ,SAAS,EAAE,CAAA;QACZ,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAc,MAAyB,EAAE,UAAgC,EAAE;QACjG,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE3D,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,MAAS,CAAA;YAEb,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAEnC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAA;YAClC,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,WAAW,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAA;gBACrE,KAAK,CAAC,KAAK,GAAG,WAAW,CAAA;gBAEzB,MAAM,KAAK,CAAA;YACZ,CAAC;YAED,MAAM,MAAM,CAAA;YAEZ,SAAS,EAAE,CAAA;QACZ,CAAC;IACF,CAAC;CACD"}
@@ -3,8 +3,8 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- import { CharacterSequenceInput } from "./CharacterSequence.js";
7
- import { ByteRange, TypedArray } from "./shared.js";
6
+ import { type CharacterSequenceInput } from "./CharacterSequence.js";
7
+ import type { ByteRange, TypedArray } from "./shared.js";
8
8
  export interface SlidingWindowInit {
9
9
  /**
10
10
  * The delimiter to use. Defaults to a line feed.
@@ -1 +1 @@
1
- {"version":3,"file":"SlidingWindow.d.ts","sourceRoot":"","sources":["../../lib/SlidingWindow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,gBAAgB,CAAC,SAAS,CAAC;;IACtF,MAAM,EAAE,CAAC,CAAA;IAKT;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;;OAIG;;IAEF;;OAEG;IACH,MAAM,EAAE,CAAC,EACT,IAAI,GAAE,iBAAsB;IAQtB,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC;IA0BjC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC;CAGvD"}
1
+ {"version":3,"file":"SlidingWindow.d.ts","sourceRoot":"","sources":["../../lib/SlidingWindow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,gBAAgB,CAAC,SAAS,CAAC;;IACtF,MAAM,EAAE,CAAC,CAAA;IAKT;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;;OAIG;;IAEF;;OAEG;IACH,MAAM,EAAE,CAAC,EACT,IAAI,GAAE,iBAAsB;IAQtB,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC;IA8BjC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC;CAGvD"}
@@ -34,10 +34,14 @@ export class SlidingWindow {
34
34
  this.#byteLength = Math.min(init.byteLength ?? buffer.byteLength, buffer.byteLength);
35
35
  }
36
36
  next() {
37
- const delimiterIndex = this.#delimiter.search(this.buffer, this.cursor, this.#byteLength);
38
- if (delimiterIndex !== -1) {
39
- const range = [this.cursor, delimiterIndex];
40
- this.cursor = delimiterIndex + this.#delimiter.length;
37
+ for (let end = this.cursor; end < this.#byteLength; end++) {
38
+ // We walk through as many bytes as the delimiter has...
39
+ const match = this.#delimiter.every((byte, i) => byte === this.buffer[end + i]);
40
+ // We didn't find a match, so we continue.
41
+ if (!match)
42
+ continue;
43
+ const range = [this.cursor, end];
44
+ this.cursor = end + this.#delimiter.length;
41
45
  return { value: range, done: false };
42
46
  }
43
47
  if (this.cursor <= this.#byteLength && !this.#done) {
@@ -1 +1 @@
1
- {"version":3,"file":"SlidingWindow.js","sourceRoot":"","sources":["../../lib/SlidingWindow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAA0B,MAAM,wBAAwB,CAAA;AAoBlF;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACzB,MAAM,CAAG;IACT,UAAU,CAAmB;IAC7B,WAAW,CAAQ;IACnB,KAAK,GAAG,KAAK,CAAA;IAEb;;OAEG;IACH,MAAM,CAAQ;IAEd;;;;OAIG;IACH;IACC;;OAEG;IACH,MAAS,EACT,OAA0B,EAAE;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACrF,CAAC;IAEM,IAAI;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAA+B,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QAElH,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAc,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAEtD,IAAI,CAAC,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;YAErD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpD,MAAM,KAAK,GAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAExD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YAEjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACrC,CAAC;QAED,OAAO;YACN,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,IAAI;SACV,CAAA;IACF,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,IAAI,CAAA;IACZ,CAAC;CACD"}
1
+ {"version":3,"file":"SlidingWindow.js","sourceRoot":"","sources":["../../lib/SlidingWindow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAA+B,MAAM,wBAAwB,CAAA;AAoBvF;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACzB,MAAM,CAAG;IACT,UAAU,CAAmB;IAC7B,WAAW,CAAQ;IACnB,KAAK,GAAG,KAAK,CAAA;IAEb;;OAEG;IACH,MAAM,CAAQ;IAEd;;;;OAIG;IACH;IACC;;OAEG;IACH,MAAS,EACT,OAA0B,EAAE;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACrF,CAAC;IAEM,IAAI;QACV,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC;YAC3D,wDAAwD;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YAE/E,0CAA0C;YAC1C,IAAI,CAAC,KAAK;gBAAE,SAAQ;YAEpB,MAAM,KAAK,GAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAE3C,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;YAE1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpD,MAAM,KAAK,GAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAExD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YAEjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACrC,CAAC;QAED,OAAO;YACN,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,IAAI;SACV,CAAA;IACF,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,IAAI,CAAA;IACZ,CAAC;CACD"}