spliterator 1.6.4 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/lib/AsyncSpliterator.d.ts +18 -0
- package/out/lib/AsyncSpliterator.d.ts.map +1 -1
- package/out/lib/AsyncSpliterator.js +283 -14
- package/out/lib/AsyncSpliterator.js.map +1 -1
- package/out/lib/BufferController.d.ts +7 -5
- package/out/lib/BufferController.d.ts.map +1 -1
- package/out/lib/BufferController.js +11 -9
- package/out/lib/BufferController.js.map +1 -1
- package/out/lib/CSVSpliterator.js +6 -6
- package/out/lib/CSVSpliterator.js.map +1 -1
- package/out/lib/CharacterSequence.d.ts +1 -1
- package/out/lib/CharacterSequence.d.ts.map +1 -1
- package/out/lib/CharacterSequence.js +12 -5
- package/out/lib/CharacterSequence.js.map +1 -1
- package/out/lib/IndexQueue.d.ts +13 -0
- package/out/lib/IndexQueue.d.ts.map +1 -1
- package/out/lib/IndexQueue.js +53 -10
- package/out/lib/IndexQueue.js.map +1 -1
- package/out/lib/SlidingWindow.d.ts.map +1 -1
- package/out/lib/SlidingWindow.js +4 -8
- package/out/lib/SlidingWindow.js.map +1 -1
- package/out/lib/Spliterator.d.ts +8 -0
- package/out/lib/Spliterator.d.ts.map +1 -1
- package/out/lib/Spliterator.js +19 -0
- package/out/lib/Spliterator.js.map +1 -1
- package/out/node/cli/index.js +0 -0
- package/out/node/fs/index.d.ts +18 -1
- package/out/node/fs/index.d.ts.map +1 -1
- package/out/node/fs/index.js +28 -1
- package/out/node/fs/index.js.map +1 -1
- package/package.json +7 -6
|
@@ -203,6 +203,24 @@ export declare class AsyncSpliterator<R extends DataView | ArrayBuffer = Uint8Ar
|
|
|
203
203
|
* @returns An array of `AsyncSpliterator` instances, possibly less than the desired concurrency.
|
|
204
204
|
* @internal
|
|
205
205
|
*/
|
|
206
|
+
/**
|
|
207
|
+
* Like {@linkcode asMany}, but each segment runs inside a dedicated `worker_thread`, giving each
|
|
208
|
+
* its own JS engine and event loop.
|
|
209
|
+
*
|
|
210
|
+
* This means `#search()` and any per-record CPU work done inside the worker run in true OS-level
|
|
211
|
+
* parallelism — a synchronous block on the main thread cannot stall the workers.
|
|
212
|
+
*
|
|
213
|
+
* @param source - The file to read from. Must be a path string or URL (workers open the file
|
|
214
|
+
* independently and cannot share a file handle with the main thread).
|
|
215
|
+
* @param delimiter - The character to delimit by. Typically a newline or comma.
|
|
216
|
+
* @param concurrency - The _desired_ number of worker threads to spawn.
|
|
217
|
+
*
|
|
218
|
+
* @returns An array of async iterables, one per worker, yielding `Uint8Array` chunks. The
|
|
219
|
+
* iterables cover non-overlapping, delimiter-aligned byte ranges and can be consumed in
|
|
220
|
+
* parallel.
|
|
221
|
+
* @internal
|
|
222
|
+
*/
|
|
223
|
+
static asManyWorkers(source: AsyncDataResource, delimiter: CharacterSequenceInput, concurrency: number): Promise<AsyncIterable<Uint8Array>[]>;
|
|
206
224
|
static asMany(source: AsyncDataResource, delimiter: CharacterSequenceInput, concurrency: number): Promise<AsyncSpliterator[]>;
|
|
207
225
|
}
|
|
208
226
|
//# sourceMappingURL=AsyncSpliterator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncSpliterator.d.ts","sourceRoot":"","sources":["../../lib/AsyncSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpF,OAAO,EAAqB,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAElF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAkB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"AsyncSpliterator.d.ts","sourceRoot":"","sources":["../../lib/AsyncSpliterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,210 @@ import { BufferController } from "./BufferController.js";
|
|
|
8
8
|
import { CharacterSequence } from "./CharacterSequence.js";
|
|
9
9
|
import { IndexQueue } from "./IndexQueue.js";
|
|
10
10
|
const noop = () => void 0;
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Worker-based parallelism helpers
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* Inline CJS worker script for a reusable pooled segment reader.
|
|
16
|
+
*
|
|
17
|
+
* The worker stays alive between assignments, listening for `postMessage` work
|
|
18
|
+
* packets. Each packet contains `{ sourcePath, byteStart, byteEnd, delimiter }`.
|
|
19
|
+
* The worker scans its byte range, collects all records, transfers them as a
|
|
20
|
+
* single `Uint8Array[]` batch, and posts a `null` sentinel — then returns to
|
|
21
|
+
* idle, ready for the next assignment.
|
|
22
|
+
*
|
|
23
|
+
* Batching keeps post-block drain time constant (4 messages regardless of
|
|
24
|
+
* record count). Keeping workers alive amortises the ~100–300 ms V8 bootstrap
|
|
25
|
+
* cost across repeated `asManyWorkers` calls.
|
|
26
|
+
*/
|
|
27
|
+
const POOL_WORKER_CODE = /* javascript */ `
|
|
28
|
+
const { parentPort } = require('worker_threads')
|
|
29
|
+
const { open } = require('fs/promises')
|
|
30
|
+
|
|
31
|
+
function findDelimiter(buf, start, delimArr, delimLen) {
|
|
32
|
+
if (delimLen === 1) {
|
|
33
|
+
const idx = buf.indexOf(delimArr[0], start)
|
|
34
|
+
return idx === -1 ? -1 : idx
|
|
35
|
+
}
|
|
36
|
+
outer: for (let i = start; i <= buf.length - delimLen; i++) {
|
|
37
|
+
for (let j = 0; j < delimLen; j++) {
|
|
38
|
+
if (buf[i + j] !== delimArr[j]) continue outer
|
|
39
|
+
}
|
|
40
|
+
return i
|
|
41
|
+
}
|
|
42
|
+
return -1
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async function processSegment({ sourcePath, byteStart, byteEnd, delimiter }) {
|
|
46
|
+
const delimArr = Uint8Array.from(delimiter)
|
|
47
|
+
const delimLen = delimArr.length
|
|
48
|
+
const handle = await open(sourcePath, 'r')
|
|
49
|
+
const stream = handle.createReadStream({ start: byteStart, end: byteEnd, highWaterMark: 65536, autoClose: true })
|
|
50
|
+
|
|
51
|
+
const records = []
|
|
52
|
+
let tail = new Uint8Array(0)
|
|
53
|
+
|
|
54
|
+
for await (const rawChunk of stream) {
|
|
55
|
+
const chunk = new Uint8Array(rawChunk.buffer, rawChunk.byteOffset, rawChunk.byteLength)
|
|
56
|
+
const combined = new Uint8Array(tail.length + chunk.length)
|
|
57
|
+
combined.set(tail, 0)
|
|
58
|
+
combined.set(chunk, tail.length)
|
|
59
|
+
|
|
60
|
+
let searchStart = 0
|
|
61
|
+
while (true) {
|
|
62
|
+
const idx = findDelimiter(combined, searchStart, delimArr, delimLen)
|
|
63
|
+
if (idx === -1) break
|
|
64
|
+
const record = combined.slice(searchStart, idx)
|
|
65
|
+
if (record.length > 0) records.push(record)
|
|
66
|
+
searchStart = idx + delimLen
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
tail = combined.slice(searchStart)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (tail.length > 0) records.push(tail)
|
|
73
|
+
return records
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
parentPort.on('message', async (assignment) => {
|
|
77
|
+
try {
|
|
78
|
+
const records = await processSegment(assignment)
|
|
79
|
+
parentPort.postMessage(records, records.map(r => r.buffer))
|
|
80
|
+
parentPort.postMessage(null)
|
|
81
|
+
} catch (err) {
|
|
82
|
+
parentPort.postMessage({ error: err.message || String(err) })
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
`;
|
|
86
|
+
/**
|
|
87
|
+
* A fixed-capacity pool of reusable worker threads.
|
|
88
|
+
*
|
|
89
|
+
* Workers are created on first demand and returned to the available queue when a
|
|
90
|
+
* segment completes naturally. Workers that are terminated early (consumer break /
|
|
91
|
+
* error) are discarded and a fresh worker takes the pool slot on the next acquire.
|
|
92
|
+
*/
|
|
93
|
+
class WorkerPool {
|
|
94
|
+
#available = [];
|
|
95
|
+
#maxSize;
|
|
96
|
+
constructor(maxSize) {
|
|
97
|
+
this.#maxSize = maxSize;
|
|
98
|
+
}
|
|
99
|
+
acquire(WorkerCtor) {
|
|
100
|
+
return this.#available.pop() ?? new WorkerCtor(POOL_WORKER_CODE, { eval: true });
|
|
101
|
+
}
|
|
102
|
+
release(worker, reusable) {
|
|
103
|
+
if (reusable && this.#available.length < this.#maxSize) {
|
|
104
|
+
this.#available.push(worker);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
worker.terminate();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/** Lazily initialised shared worker pool, sized to the logical CPU count. */
|
|
112
|
+
let _workerPool = null;
|
|
113
|
+
/**
|
|
114
|
+
* Compute delimiter-aligned segment boundaries for a file.
|
|
115
|
+
*
|
|
116
|
+
* All boundary probes are issued in parallel — each is an independent random-access
|
|
117
|
+
* read — so the pre-scan phase costs one libuv round-trip regardless of concurrency.
|
|
118
|
+
*
|
|
119
|
+
* @returns A sorted array of byte offsets `[0, b1, b2, …, fileSize]` where each
|
|
120
|
+
* consecutive pair `[boundaries[i], boundaries[i+1])` defines a half-open segment.
|
|
121
|
+
*/
|
|
122
|
+
async function computeBoundaries(source, needle, fileSize, concurrency, readBytes) {
|
|
123
|
+
const segmentSize = Math.ceil(fileSize / concurrency);
|
|
124
|
+
const searchWindowSize = Math.max(needle.length * 64, 4096);
|
|
125
|
+
const idealBoundaries = Array.from({ length: concurrency - 1 }, (_, i) => (i + 1) * segmentSize).filter((b) => b < fileSize);
|
|
126
|
+
const snapped = await Promise.all(idealBoundaries.map(async (idealBoundary) => {
|
|
127
|
+
const window = await readBytes(source, idealBoundary, Math.min(searchWindowSize, fileSize - idealBoundary));
|
|
128
|
+
const idx = needle.search(window);
|
|
129
|
+
return idx === -1 ? idealBoundary : idealBoundary + idx + needle.length;
|
|
130
|
+
}));
|
|
131
|
+
return [0, ...snapped, fileSize];
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Wraps a pooled worker in an `AsyncIterable<Uint8Array>`.
|
|
135
|
+
*
|
|
136
|
+
* - Sends the segment assignment immediately on construction.
|
|
137
|
+
* - Attaches listeners eagerly so no messages are lost during sequential consumption.
|
|
138
|
+
* - Uses a `chunks[]` + `head` pointer (O(1) access) rather than `Array.shift()` (O(n)).
|
|
139
|
+
* - Removes listeners and calls `onRelease` when the iterable is fully consumed or abandoned,
|
|
140
|
+
* so the worker can be returned to the pool for reuse.
|
|
141
|
+
*/
|
|
142
|
+
function workerToIterable(worker, assignment, onRelease) {
|
|
143
|
+
worker.postMessage(assignment);
|
|
144
|
+
const chunks = [];
|
|
145
|
+
let head = 0;
|
|
146
|
+
let done = false;
|
|
147
|
+
let error = null;
|
|
148
|
+
let signal = null;
|
|
149
|
+
let released = false;
|
|
150
|
+
function notify() {
|
|
151
|
+
if (signal) {
|
|
152
|
+
const fn = signal;
|
|
153
|
+
signal = null;
|
|
154
|
+
fn();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
const onMessage = (msg) => {
|
|
158
|
+
if (msg === null) {
|
|
159
|
+
done = true;
|
|
160
|
+
notify();
|
|
161
|
+
}
|
|
162
|
+
else if (Array.isArray(msg)) {
|
|
163
|
+
for (const chunk of msg)
|
|
164
|
+
chunks.push(chunk);
|
|
165
|
+
notify();
|
|
166
|
+
}
|
|
167
|
+
else if (msg && typeof msg === "object" && "error" in msg) {
|
|
168
|
+
error = new Error(msg.error);
|
|
169
|
+
notify();
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
const onError = (err) => {
|
|
173
|
+
error = err;
|
|
174
|
+
notify();
|
|
175
|
+
};
|
|
176
|
+
worker.on("message", onMessage);
|
|
177
|
+
worker.on("error", onError);
|
|
178
|
+
function release(reusable) {
|
|
179
|
+
if (released)
|
|
180
|
+
return;
|
|
181
|
+
released = true;
|
|
182
|
+
worker.off("message", onMessage);
|
|
183
|
+
worker.off("error", onError);
|
|
184
|
+
onRelease(worker, reusable);
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
[Symbol.asyncIterator]() {
|
|
188
|
+
return {
|
|
189
|
+
async next() {
|
|
190
|
+
while (head >= chunks.length && !done && !error) {
|
|
191
|
+
await new Promise((res) => {
|
|
192
|
+
signal = res;
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
if (error) {
|
|
196
|
+
release(false);
|
|
197
|
+
throw error;
|
|
198
|
+
}
|
|
199
|
+
if (head < chunks.length)
|
|
200
|
+
return { done: false, value: chunks[head++] };
|
|
201
|
+
release(true); // natural completion — worker is idle and reusable
|
|
202
|
+
return { done: true, value: undefined };
|
|
203
|
+
},
|
|
204
|
+
async return() {
|
|
205
|
+
release(done); // reusable only if already naturally done
|
|
206
|
+
return { done: true, value: undefined };
|
|
207
|
+
},
|
|
208
|
+
[Symbol.asyncIterator]() {
|
|
209
|
+
return this;
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
}
|
|
11
215
|
/**
|
|
12
216
|
* An asynchronous spliterator for reading delimited byte streams.
|
|
13
217
|
*
|
|
@@ -230,11 +434,14 @@ export class AsyncSpliterator {
|
|
|
230
434
|
this.#done = true;
|
|
231
435
|
return;
|
|
232
436
|
}
|
|
233
|
-
//
|
|
234
|
-
//
|
|
437
|
+
// Discard bytes that have already been yielded to free space for incoming chunks.
|
|
438
|
+
// Skip when nextBufferStart is 0 — nothing has been consumed yet and compress would
|
|
439
|
+
// be a no-op copyWithin(0, 0, bytesWritten) that copies bytes onto themselves.
|
|
235
440
|
const nextBufferStart = this.#lastByteRangeSeen ? this.#lastByteRangeSeen[1] + this.#needle.length : 0;
|
|
236
|
-
|
|
237
|
-
|
|
441
|
+
if (nextBufferStart > 0) {
|
|
442
|
+
this.#log("Compressing buffer", { nextBufferStart });
|
|
443
|
+
this.#controller.compress(nextBufferStart);
|
|
444
|
+
}
|
|
238
445
|
while ((!this.#lastReadResult || !this.#lastReadResult.done) && this.#indices.byteLength < this.#highWaterMark) {
|
|
239
446
|
await this.#read();
|
|
240
447
|
this.#search();
|
|
@@ -392,20 +599,82 @@ export class AsyncSpliterator {
|
|
|
392
599
|
* @returns An array of `AsyncSpliterator` instances, possibly less than the desired concurrency.
|
|
393
600
|
* @internal
|
|
394
601
|
*/
|
|
395
|
-
|
|
396
|
-
|
|
602
|
+
/**
|
|
603
|
+
* Like {@linkcode asMany}, but each segment runs inside a dedicated `worker_thread`, giving each
|
|
604
|
+
* its own JS engine and event loop.
|
|
605
|
+
*
|
|
606
|
+
* This means `#search()` and any per-record CPU work done inside the worker run in true OS-level
|
|
607
|
+
* parallelism — a synchronous block on the main thread cannot stall the workers.
|
|
608
|
+
*
|
|
609
|
+
* @param source - The file to read from. Must be a path string or URL (workers open the file
|
|
610
|
+
* independently and cannot share a file handle with the main thread).
|
|
611
|
+
* @param delimiter - The character to delimit by. Typically a newline or comma.
|
|
612
|
+
* @param concurrency - The _desired_ number of worker threads to spawn.
|
|
613
|
+
*
|
|
614
|
+
* @returns An array of async iterables, one per worker, yielding `Uint8Array` chunks. The
|
|
615
|
+
* iterables cover non-overlapping, delimiter-aligned byte ranges and can be consumed in
|
|
616
|
+
* parallel.
|
|
617
|
+
* @internal
|
|
618
|
+
*/
|
|
619
|
+
static async asManyWorkers(source, delimiter, concurrency) {
|
|
397
620
|
concurrency = Math.max(1, concurrency);
|
|
398
621
|
const needle = new CharacterSequence(delimiter);
|
|
399
|
-
|
|
400
|
-
|
|
622
|
+
// Resolve to an absolute path before spawning — workers open the file independently.
|
|
623
|
+
let sourcePath;
|
|
624
|
+
if (source instanceof URL) {
|
|
625
|
+
const { fileURLToPath } = await import("node:url");
|
|
626
|
+
sourcePath = fileURLToPath(source);
|
|
627
|
+
}
|
|
628
|
+
else if (typeof source === "string") {
|
|
629
|
+
const { resolve } = await import("node:path");
|
|
630
|
+
sourcePath = resolve(source);
|
|
631
|
+
}
|
|
632
|
+
else {
|
|
633
|
+
throw new TypeError("asManyWorkers requires a path string or URL, not a file handle.");
|
|
634
|
+
}
|
|
635
|
+
const { readFileSize, readBytes } = await import("spliterator/node/fs");
|
|
401
636
|
const fileSize = await readFileSize(source);
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
//
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
637
|
+
if (fileSize === 0)
|
|
638
|
+
return [];
|
|
639
|
+
// All boundary probes fire in parallel — one libuv round-trip total.
|
|
640
|
+
const boundaries = await computeBoundaries(source, needle, fileSize, concurrency, readBytes);
|
|
641
|
+
const { Worker } = await import("node:worker_threads");
|
|
642
|
+
const { cpus } = await import("node:os");
|
|
643
|
+
if (!_workerPool)
|
|
644
|
+
_workerPool = new WorkerPool(cpus().length);
|
|
645
|
+
const delimiterBytes = Array.from(needle);
|
|
646
|
+
const iterables = [];
|
|
647
|
+
for (let i = 0; i < boundaries.length - 1; i++) {
|
|
648
|
+
const byteStart = boundaries[i];
|
|
649
|
+
const byteEnd = boundaries[i + 1] - 1; // inclusive end for createReadStream
|
|
650
|
+
if (byteStart > byteEnd)
|
|
651
|
+
continue;
|
|
652
|
+
const worker = _workerPool.acquire(Worker);
|
|
653
|
+
iterables.push(workerToIterable(worker, { sourcePath, byteStart, byteEnd, delimiter: delimiterBytes }, (w, reusable) => _workerPool.release(w, reusable)));
|
|
408
654
|
}
|
|
655
|
+
return iterables;
|
|
656
|
+
}
|
|
657
|
+
static async asMany(source, delimiter, concurrency) {
|
|
658
|
+
concurrency = Math.max(1, concurrency);
|
|
659
|
+
const needle = new CharacterSequence(delimiter);
|
|
660
|
+
const { createChunkIterator, readFileSize, readBytes } = await import("spliterator/node/fs");
|
|
661
|
+
const fileSize = await readFileSize(source);
|
|
662
|
+
if (fileSize === 0)
|
|
663
|
+
return [];
|
|
664
|
+
// All boundary probes fire in parallel — one libuv round-trip total.
|
|
665
|
+
const boundaries = await computeBoundaries(source, needle, fileSize, concurrency, readBytes);
|
|
666
|
+
// Open all chunk iterators in parallel — each is an independent file handle.
|
|
667
|
+
const spliterators = (await Promise.all(Array.from({ length: boundaries.length - 1 }, async (_, i) => {
|
|
668
|
+
const start = boundaries[i];
|
|
669
|
+
const end = boundaries[i + 1];
|
|
670
|
+
if (start >= end)
|
|
671
|
+
return null;
|
|
672
|
+
const chunkIterator = await createChunkIterator(source, {
|
|
673
|
+
start,
|
|
674
|
+
end: end - 1, // Node.js createReadStream end is inclusive
|
|
675
|
+
});
|
|
676
|
+
return new AsyncSpliterator(chunkIterator, { delimiter });
|
|
677
|
+
}))).filter((s) => s !== null);
|
|
409
678
|
return spliterators;
|
|
410
679
|
}
|
|
411
680
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncSpliterator.js","sourceRoot":"","sources":["../../lib/AsyncSpliterator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AsyncSpliterator.js","sourceRoot":"","sources":["../../lib/AsyncSpliterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,13 +32,15 @@ export declare class BufferController {
|
|
|
32
32
|
*/
|
|
33
33
|
grow(desiredByteLength?: number): void;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Discard bytes before `start` (and optionally after `end`) by shifting the retained region to
|
|
36
|
+
* the front of the buffer in-place.
|
|
36
37
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
38
|
+
* Unlike a `subarray` view, `copyWithin` operates within the same `ArrayBuffer`, so the buffer's
|
|
39
|
+
* capacity is preserved and the old bytes are overwritten rather than merely hidden behind a
|
|
40
|
+
* pointer offset.
|
|
39
41
|
*
|
|
40
|
-
* @param start - The
|
|
41
|
-
* @param end - The
|
|
42
|
+
* @param start - The first byte index to keep. Everything before this is discarded.
|
|
43
|
+
* @param end - The last byte index to keep (exclusive). Defaults to `bytesWritten`.
|
|
42
44
|
*/
|
|
43
45
|
compress(start?: number, end?: number): void;
|
|
44
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BufferController.d.ts","sourceRoot":"","sources":["../../lib/BufferController.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,qBAAa,gBAAgB;;IAM5B;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAA;IAEjB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;gBAEW,IAAI,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE;IAM/C;;OAEG;IACI,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI;IAa7C
|
|
1
|
+
{"version":3,"file":"BufferController.d.ts","sourceRoot":"","sources":["../../lib/BufferController.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,qBAAa,gBAAgB;;IAM5B;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAA;IAEjB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;gBAEW,IAAI,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE;IAM/C;;OAEG;IACI,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI;IAa7C;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,KAAK,GAAE,MAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAStD;;;;;OAKG;IACI,KAAK,CAAC,KAAK,GAAE,MAAU,EAAE,GAAG,GAAE,MAA0B,GAAG,IAAI;IAKtE;;;;;;;;OAQG;IACI,QAAQ,CAAC,KAAK,GAAE,MAAU,EAAE,GAAG,GAAE,MAA0B,GAAG,UAAU;IAY/E;;;;;;;;;;OAUG;IACI,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM;CAehE"}
|
|
@@ -47,19 +47,21 @@ export class BufferController {
|
|
|
47
47
|
this.bytes = newBytes;
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* Discard bytes before `start` (and optionally after `end`) by shifting the retained region to
|
|
51
|
+
* the front of the buffer in-place.
|
|
51
52
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
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.
|
|
54
56
|
*
|
|
55
|
-
* @param start - The
|
|
56
|
-
* @param end - The
|
|
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`.
|
|
57
59
|
*/
|
|
58
60
|
compress(start = 0, end) {
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
this.bytes
|
|
62
|
-
this.bytesWritten =
|
|
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
65
|
}
|
|
64
66
|
/**
|
|
65
67
|
* Clear the buffer, zeroing out all bytes.
|
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"BufferController.js","sourceRoot":"","sources":["../../lib/BufferController.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,13 +46,13 @@ export class CSVSpliterator {
|
|
|
46
46
|
const yieldLimit = take + drop;
|
|
47
47
|
const decoder = new TextDecoder();
|
|
48
48
|
const columnDelimiter = new CharacterSequence(columnDelimiterInput ?? Delimiters.Comma);
|
|
49
|
-
const
|
|
49
|
+
const columnSpliterator = new Spliterator(new Uint8Array(0), { delimiter: columnDelimiter });
|
|
50
50
|
const rows = Spliterator.fromSync(source, rowInit);
|
|
51
51
|
if (header) {
|
|
52
52
|
const result = rows.next();
|
|
53
53
|
if (result.done)
|
|
54
54
|
return;
|
|
55
|
-
const columns =
|
|
55
|
+
const columns = columnSpliterator.reset(result.value).toDecodedArray(decoder);
|
|
56
56
|
const headers = normalizeKeys ? normalizeColumnNames(columns) : columns;
|
|
57
57
|
if (Array.isArray(transformersInput)) {
|
|
58
58
|
transformers = Array.from(zipSync(headers, transformersInput), ([columnName, transformer]) => [
|
|
@@ -74,7 +74,7 @@ export class CSVSpliterator {
|
|
|
74
74
|
}
|
|
75
75
|
if (yieldCount >= yieldLimit)
|
|
76
76
|
break;
|
|
77
|
-
const columns =
|
|
77
|
+
const columns = columnSpliterator.reset(row).toDecodedArray(decoder);
|
|
78
78
|
yield emitter ? emitter(columns, transformers) : columns;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -95,14 +95,14 @@ export class CSVSpliterator {
|
|
|
95
95
|
let yieldCount = 0;
|
|
96
96
|
const yieldLimit = take + drop;
|
|
97
97
|
const columnDelimiter = new CharacterSequence(columnDelimiterInput ?? Delimiters.Comma);
|
|
98
|
-
const
|
|
98
|
+
const columnSpliterator = new Spliterator(new Uint8Array(0), { delimiter: columnDelimiter });
|
|
99
99
|
const decoder = new TextDecoder();
|
|
100
100
|
const rows = await Spliterator.from(source, rowInit);
|
|
101
101
|
if (header) {
|
|
102
102
|
const result = await rows.next();
|
|
103
103
|
if (result.done)
|
|
104
104
|
return;
|
|
105
|
-
const columns =
|
|
105
|
+
const columns = columnSpliterator.reset(result.value).toDecodedArray(decoder);
|
|
106
106
|
const headers = normalizeKeys ? normalizeColumnNames(columns) : columns;
|
|
107
107
|
if (Array.isArray(transformersInput)) {
|
|
108
108
|
transformers = Array.from(zipSync(headers, transformersInput), ([columnName, transformer]) => [
|
|
@@ -124,7 +124,7 @@ export class CSVSpliterator {
|
|
|
124
124
|
}
|
|
125
125
|
if (yieldCount >= yieldLimit)
|
|
126
126
|
break;
|
|
127
|
-
const columns =
|
|
127
|
+
const columns = columnSpliterator.reset(row).toDecodedArray(decoder);
|
|
128
128
|
yield emitter ? emitter(columns, transformers) : columns;
|
|
129
129
|
yieldCount++;
|
|
130
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CSVSpliterator.js","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAA0B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAyC,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAwB,WAAW,EAAmB,MAAM,kBAAkB,CAAA;AAarF,MAAM,QAAQ,GAA2B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAA;AAezD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,KAAK,EAAE,IAAI;IAEX,OAAO,CAAC,OAAyB,EAAE,gBAA+C,EAAE;QACnF,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE;YAChF,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA;YAC9C,OAAO,CAAC,GAAG,IAAI,UAAU,GAAG,EAAE,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;IACH,CAAC;IACD,MAAM,CACL,OAAyB,EACzB,gBAA+C,EAAE;QAEjD,MAAM,MAAM,GAAyC,EAAE,CAAA;QAEvD,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC;YACzE,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,EAAE,CAAA;YAC/C,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA;YAE9C,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACrC,CAAC;QAED,OAAO,MAAM,CAAA;IACd,CAAC;CAC2D,CAAA;AAqC7D,MAAM,OAAgB,cAAc;IACnC;QACC,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAA;IAChG,CAAC;IAuBD;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,CAAC,MAA8B,EAAE,OAA2B,EAAE;QACzE,MAAM;QACL,MAAM;QACN,MAAM,GAAG,IAAI,EACb,YAAY,EAAE,iBAAiB,GAAG,EAAE,EACpC,aAAa,EACb,IAAI,GAAG,OAAO,EACd,eAAe,EAAE,oBAAoB,GAAG,UAAU,CAAC,KAAK,EACxD,IAAI,GAAG,QAAQ,EACf,IAAI,GAAG,CAAC,EACR,GAAG,OAAO,EACV,GAAG,IAAI,CAAA;QAER,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,YAAY,GAA0B,EAAE,CAAA;QAC5C,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAA;QAE9B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,MAAM,eAAe,GAAG,IAAI,iBAAiB,CAAC,oBAAoB,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;QACvF,MAAM,
|
|
1
|
+
{"version":3,"file":"CSVSpliterator.js","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -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,13 +57,15 @@ 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();
|
|
67
69
|
export function debugAsVisibleCharacters(delimiter) {
|
|
68
70
|
return Array.from(delimiter)
|
|
69
71
|
.map((charCode) => {
|
|
@@ -80,7 +82,7 @@ export function normalizeCharacterInput(input) {
|
|
|
80
82
|
}
|
|
81
83
|
return Uint8Array.from([input]);
|
|
82
84
|
case "string":
|
|
83
|
-
return
|
|
85
|
+
return sharedEncoder.encode(input);
|
|
84
86
|
case "object":
|
|
85
87
|
if (isArrayLike(input)) {
|
|
86
88
|
return input;
|
|
@@ -116,6 +118,10 @@ export class CharacterSequence extends Uint8Array {
|
|
|
116
118
|
*/
|
|
117
119
|
search(haystack, start = 0, end = haystack.length) {
|
|
118
120
|
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
|
+
}
|
|
119
125
|
let startIndex = start;
|
|
120
126
|
while (startIndex <= end - sequenceLength) {
|
|
121
127
|
let lastIndex = sequenceLength - 1;
|
|
@@ -131,8 +137,9 @@ export class CharacterSequence extends Uint8Array {
|
|
|
131
137
|
}
|
|
132
138
|
return -1;
|
|
133
139
|
}
|
|
134
|
-
decode(encoding
|
|
135
|
-
|
|
140
|
+
decode(encoding) {
|
|
141
|
+
const decoder = encoding ? new TextDecoder(encoding) : sharedDecoder;
|
|
142
|
+
return decoder.decode(this);
|
|
136
143
|
}
|
|
137
144
|
/**
|
|
138
145
|
* Create a new character sequence from a delimiter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharacterSequence.js","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,KAAc;IAC5C,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,CAAC,CAAA;AACxE,CAAC;AAaD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB;;OAEG;IACH,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,QAAQ,EAAE,EAAE;IAEZ;;OAEG;IACH,cAAc,EAAE,EAAE;IAElB;;OAEG;IACH,KAAK,EAAE,EAAE;IAET;;OAEG;IACH,GAAG,EAAE,CAAC;IAEN;;OAEG;IACH,KAAK,EAAE,EAAE;IAET;;OAEG;IACH,GAAG,EAAE,EAAE;IAEP;;OAEG;IACH,IAAI,EAAE,EAAE;IAER;;OAEG;IACH,WAAW,EAAE,EAAE;IAEf;;OAEG;IACH,eAAe,EAAE,EAAE;CACuB,CAAA;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAiB;IAC1D,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC1B,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;IAChC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC;IACvB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;IACrB,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC;IACvB,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC7B,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC;IACjC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;CACtB,CAAC,CAAA;AAEF,MAAM,UAAU,wBAAwB,CAAC,SAAqB;IAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SAC1B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEjD,OAAO,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;AACX,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAA6B;IACpE,QAAQ,OAAO,KAAK,EAAE,CAAC;QACtB,KAAK,QAAQ;YACZ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,SAAS,CAAC,kDAAkD,KAAK,EAAE,CAAC,CAAA;YAC/E,CAAC;YAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAChC,KAAK,QAAQ;YACZ,OAAO,
|
|
1
|
+
{"version":3,"file":"CharacterSequence.js","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"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"}
|
package/out/lib/IndexQueue.d.ts
CHANGED
|
@@ -6,6 +6,14 @@
|
|
|
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.
|
|
9
17
|
*/
|
|
10
18
|
export declare class IndexQueue implements IterableIterator<ByteRange> {
|
|
11
19
|
#private;
|
|
@@ -25,6 +33,11 @@ export declare class IndexQueue implements IterableIterator<ByteRange> {
|
|
|
25
33
|
enqueue(tuple: ByteRange): void;
|
|
26
34
|
/**
|
|
27
35
|
* 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.
|
|
28
41
|
*/
|
|
29
42
|
dequeue(): ByteRange | undefined;
|
|
30
43
|
/**
|
|
@@ -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;
|
|
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"}
|
package/out/lib/IndexQueue.js
CHANGED
|
@@ -3,16 +3,47 @@
|
|
|
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;
|
|
6
18
|
/**
|
|
7
19
|
* 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.
|
|
8
28
|
*/
|
|
9
29
|
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
|
+
*/
|
|
10
35
|
#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;
|
|
11
42
|
/**
|
|
12
43
|
* The number of tuples in the queue.
|
|
13
44
|
*/
|
|
14
45
|
get size() {
|
|
15
|
-
return this.#tuples.length / 2;
|
|
46
|
+
return (this.#tuples.length - this.#head) / 2;
|
|
16
47
|
}
|
|
17
48
|
#byteLength = 0;
|
|
18
49
|
/**
|
|
@@ -27,40 +58,52 @@ export class IndexQueue {
|
|
|
27
58
|
* Append a new tuple to the queue.
|
|
28
59
|
*/
|
|
29
60
|
enqueue(tuple) {
|
|
30
|
-
this.#tuples.push(
|
|
61
|
+
this.#tuples.push(tuple[0], tuple[1]);
|
|
31
62
|
this.#byteLength += tuple[1] - tuple[0];
|
|
32
63
|
}
|
|
33
64
|
/**
|
|
34
65
|
* 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.
|
|
35
71
|
*/
|
|
36
72
|
dequeue() {
|
|
37
|
-
if (this.#tuples.length
|
|
73
|
+
if (this.#head >= this.#tuples.length)
|
|
38
74
|
return;
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
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];
|
|
42
83
|
}
|
|
43
84
|
/**
|
|
44
85
|
* Peek at the next tuple in the queue without removing it.
|
|
45
86
|
*/
|
|
46
87
|
peek() {
|
|
47
|
-
if (this.#tuples.length
|
|
88
|
+
if (this.#head >= this.#tuples.length)
|
|
48
89
|
return;
|
|
49
|
-
return this.#tuples
|
|
90
|
+
return [this.#tuples[this.#head], this.#tuples[this.#head + 1]];
|
|
50
91
|
}
|
|
51
92
|
/**
|
|
52
93
|
* Peek at the last tuple in the queue without removing it.
|
|
53
94
|
*/
|
|
54
95
|
peekLast() {
|
|
55
|
-
if (this.#tuples.length
|
|
96
|
+
if (this.#head >= this.#tuples.length)
|
|
56
97
|
return;
|
|
57
|
-
|
|
98
|
+
const last = this.#tuples.length - 2;
|
|
99
|
+
return [this.#tuples[last], this.#tuples[last + 1]];
|
|
58
100
|
}
|
|
59
101
|
/**
|
|
60
102
|
* Clear the queue.
|
|
61
103
|
*/
|
|
62
104
|
clear() {
|
|
63
105
|
this.#tuples.length = 0;
|
|
106
|
+
this.#head = 0;
|
|
64
107
|
this.#byteLength = 0;
|
|
65
108
|
}
|
|
66
109
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexQueue.js","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH
|
|
1
|
+
{"version":3,"file":"IndexQueue.js","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/out/lib/SlidingWindow.js
CHANGED
|
@@ -34,14 +34,10 @@ export class SlidingWindow {
|
|
|
34
34
|
this.#byteLength = Math.min(init.byteLength ?? buffer.byteLength, buffer.byteLength);
|
|
35
35
|
}
|
|
36
36
|
next() {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
if (!match)
|
|
42
|
-
continue;
|
|
43
|
-
const range = [this.cursor, end];
|
|
44
|
-
this.cursor = end + this.#delimiter.length;
|
|
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;
|
|
45
41
|
return { value: range, done: false };
|
|
46
42
|
}
|
|
47
43
|
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,
|
|
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"}
|
package/out/lib/Spliterator.d.ts
CHANGED
|
@@ -76,6 +76,14 @@ export declare class Spliterator<R extends DataView | ArrayBuffer = Uint8Array>
|
|
|
76
76
|
* Dispose of the spliterator, closing the file handle if necessary.
|
|
77
77
|
*/
|
|
78
78
|
[Symbol.dispose](): void;
|
|
79
|
+
/**
|
|
80
|
+
* Reset the spliterator to read a new source buffer from the beginning, reusing all pre-allocated
|
|
81
|
+
* state (needle, queue, etc.).
|
|
82
|
+
*
|
|
83
|
+
* This is intended for high-throughput loops such as CSV column parsing where a fresh
|
|
84
|
+
* `Spliterator` would otherwise be constructed for every row.
|
|
85
|
+
*/
|
|
86
|
+
reset(source: Uint8Array): this;
|
|
79
87
|
constructor(source: Uint8Array, init?: SpliteratorInit);
|
|
80
88
|
/**
|
|
81
89
|
* Read the next byte range from the source.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spliterator.d.ts","sourceRoot":"","sources":["../../lib/Spliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAEN,sBAAsB,EAGtB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAoC,MAAM,aAAa,CAAA;AAErG,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAA;AAErD;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAE,YAAW,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU;;IAGjH;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,+BAAwB;IAExC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,sBAAsB,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,GAAE,eAAoB,GAAG,WAAW;IAIrG;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW;IAC5G;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,gBAAgB;IACtF;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC9F;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CACV,MAAM,EAAE,sBAAsB,GAAG,iBAAiB,GAAG,kBAAkB,EACvE,IAAI,CAAC,EAAE,eAAe,GAAG,oBAAoB,GAC3C,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsC7D;;OAEG;WACW,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;IAUjG;;OAEG;IACI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"Spliterator.d.ts","sourceRoot":"","sources":["../../lib/Spliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAEN,sBAAsB,EAGtB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAoC,MAAM,aAAa,CAAA;AAErG,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAA;AAErD;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAE,YAAW,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU;;IAGjH;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,+BAAwB;IAExC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,sBAAsB,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,GAAE,eAAoB,GAAG,WAAW;IAIrG;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW;IAC5G;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,gBAAgB;IACtF;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC9F;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CACV,MAAM,EAAE,sBAAsB,GAAG,iBAAiB,GAAG,kBAAkB,EACvE,IAAI,CAAC,EAAE,eAAe,GAAG,oBAAoB,GAC3C,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsC7D;;OAEG;WACW,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;IAUjG;;OAEG;IACI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAI/B;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;gBAa1B,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,eAAoB;IA+R1D;;OAEG;IACI,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC;IAuChC;;;;;OAKG;IACI,OAAO,IAAI,CAAC,EAAE;IAIrB;;OAEG;IACI,cAAc,CAAC,OAAO,6BAAoB,GAAG,MAAM,EAAE;IAIrD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;CAG/C"}
|
package/out/lib/Spliterator.js
CHANGED
|
@@ -74,6 +74,25 @@ export class Spliterator {
|
|
|
74
74
|
[Symbol.dispose]() {
|
|
75
75
|
this.#indices.clear();
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Reset the spliterator to read a new source buffer from the beginning, reusing all pre-allocated
|
|
79
|
+
* state (needle, queue, etc.).
|
|
80
|
+
*
|
|
81
|
+
* This is intended for high-throughput loops such as CSV column parsing where a fresh
|
|
82
|
+
* `Spliterator` would otherwise be constructed for every row.
|
|
83
|
+
*/
|
|
84
|
+
reset(source) {
|
|
85
|
+
this.#source = source;
|
|
86
|
+
this.#readPosition = 0;
|
|
87
|
+
this.#yieldByteEstimate = source.byteLength;
|
|
88
|
+
this.#yieldedByteLength = 0;
|
|
89
|
+
this.#yieldCount = 0;
|
|
90
|
+
this.#doubleQuoteStartIndex = -1;
|
|
91
|
+
this.#previousByteRange = undefined;
|
|
92
|
+
this.#done = false;
|
|
93
|
+
this.#indices.clear();
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
77
96
|
constructor(source, init = {}) {
|
|
78
97
|
this.#source = source;
|
|
79
98
|
this.#needle = new CharacterSequence(init.delimiter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spliterator.js","sourceRoot":"","sources":["../../lib/Spliterator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Spliterator.js","sourceRoot":"","sources":["../../lib/Spliterator.ts"],"names":[],"mappings":"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"}
|
package/out/node/cli/index.js
CHANGED
|
File without changes
|
package/out/node/fs/index.d.ts
CHANGED
|
@@ -37,7 +37,24 @@ export interface CreateChunkIteratorOptions {
|
|
|
37
37
|
* The byte position to start reading from.
|
|
38
38
|
*/
|
|
39
39
|
start?: number;
|
|
40
|
+
/**
|
|
41
|
+
* The byte position to stop reading at, inclusive.
|
|
42
|
+
*
|
|
43
|
+
* Matches the semantics of Node.js `fs.createReadStream({ end })`.
|
|
44
|
+
*/
|
|
45
|
+
end?: number;
|
|
40
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Read a fixed-size slice of bytes from an async data resource at a given position.
|
|
49
|
+
*
|
|
50
|
+
* @param source The source to read from.
|
|
51
|
+
* @param position The byte offset to start reading at.
|
|
52
|
+
* @param length The number of bytes to read.
|
|
53
|
+
*
|
|
54
|
+
* @returns The bytes read, which may be shorter than `length` at end-of-file.
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export declare function readBytes(source: AsyncDataResource, position: number, length: number): Promise<Uint8Array>;
|
|
41
58
|
/**
|
|
42
59
|
* Read the size of a file from a source.
|
|
43
60
|
*
|
|
@@ -53,6 +70,6 @@ export declare function readFileSize(source: AsyncDataResource): Promise<number>
|
|
|
53
70
|
* @param source The source to create the chunk iterator from.
|
|
54
71
|
* @internal
|
|
55
72
|
*/
|
|
56
|
-
export declare function createChunkIterator(source: AsyncDataResource | AsyncChunkIterator, { highWaterMark, start }?: CreateChunkIteratorOptions): Promise<AsyncChunkIterator>;
|
|
73
|
+
export declare function createChunkIterator(source: AsyncDataResource | AsyncChunkIterator, { highWaterMark, start, end }?: CreateChunkIteratorOptions): Promise<AsyncChunkIterator>;
|
|
57
74
|
export default createChunkIterator;
|
|
58
75
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAc,MAAM,kBAAkB,CAAA;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAoB,MAAM,qBAAqB,CAAA;AAE7F;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgB1G;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC7C,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,wBAA6B,GACpC,OAAO,CAAC,cAAc,CAAC,CAiDzB;AAED,MAAM,WAAW,0BAA0B;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAc,MAAM,kBAAkB,CAAA;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAoB,MAAM,qBAAqB,CAAA;AAE7F;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgB1G;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC7C,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,wBAA6B,GACpC,OAAO,CAAC,cAAc,CAAC,CAiDzB;AAED,MAAM,WAAW,0BAA0B;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBhH;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,EAC9C,EAAE,aAAyB,EAAE,KAAS,EAAE,GAAG,EAAE,GAAE,0BAA+B,GAC5E,OAAO,CAAC,kBAAkB,CAAC,CAqD7B;AAED,eAAe,mBAAmB,CAAA"}
|
package/out/node/fs/index.js
CHANGED
|
@@ -83,6 +83,31 @@ export async function createFileWritableStream(destination, options = {}) {
|
|
|
83
83
|
},
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Read a fixed-size slice of bytes from an async data resource at a given position.
|
|
88
|
+
*
|
|
89
|
+
* @param source The source to read from.
|
|
90
|
+
* @param position The byte offset to start reading at.
|
|
91
|
+
* @param length The number of bytes to read.
|
|
92
|
+
*
|
|
93
|
+
* @returns The bytes read, which may be shorter than `length` at end-of-file.
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
export async function readBytes(source, position, length) {
|
|
97
|
+
const buffer = Buffer.allocUnsafe(length);
|
|
98
|
+
if (isFileHandleLike(source)) {
|
|
99
|
+
const { bytesRead } = await source.read(buffer, 0, length, position);
|
|
100
|
+
return new Uint8Array(buffer.buffer, buffer.byteOffset, bytesRead);
|
|
101
|
+
}
|
|
102
|
+
const handle = await open(source, "r");
|
|
103
|
+
try {
|
|
104
|
+
const { bytesRead } = await handle.read(buffer, 0, length, position);
|
|
105
|
+
return new Uint8Array(buffer.buffer, buffer.byteOffset, bytesRead);
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
await handle.close();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
86
111
|
/**
|
|
87
112
|
* Read the size of a file from a source.
|
|
88
113
|
*
|
|
@@ -106,7 +131,7 @@ export async function readFileSize(source) {
|
|
|
106
131
|
* @param source The source to create the chunk iterator from.
|
|
107
132
|
* @internal
|
|
108
133
|
*/
|
|
109
|
-
export async function createChunkIterator(source, { highWaterMark = 4096 * 16, start = 0 } = {}) {
|
|
134
|
+
export async function createChunkIterator(source, { highWaterMark = 4096 * 16, start = 0, end } = {}) {
|
|
110
135
|
if (!source) {
|
|
111
136
|
throw new TypeError("Cannot create a chunk iterator from an undefined or null source.");
|
|
112
137
|
}
|
|
@@ -122,6 +147,7 @@ export async function createChunkIterator(source, { highWaterMark = 4096 * 16, s
|
|
|
122
147
|
const handle = await open(source, "r");
|
|
123
148
|
const readStream = handle.createReadStream({
|
|
124
149
|
start,
|
|
150
|
+
end,
|
|
125
151
|
highWaterMark,
|
|
126
152
|
autoClose: true,
|
|
127
153
|
});
|
|
@@ -134,6 +160,7 @@ export async function createChunkIterator(source, { highWaterMark = 4096 * 16, s
|
|
|
134
160
|
if (source.createReadStream) {
|
|
135
161
|
return source.createReadStream({
|
|
136
162
|
start,
|
|
163
|
+
end,
|
|
137
164
|
highWaterMark,
|
|
138
165
|
});
|
|
139
166
|
}
|
package/out/node/fs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spliterator",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Line-delimited iterator library for CSV, NDJSON, and other delimited formats.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"csv",
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
"scripts": {
|
|
46
46
|
"demo": "node out/examples/simple-iteration.js",
|
|
47
47
|
"compile": "NODE_OPTIONS=\"--max-old-space-size=3000\" tsc -b",
|
|
48
|
-
"test": "vitest",
|
|
48
|
+
"test": "vitest run",
|
|
49
|
+
"test:watch": "vitest watch",
|
|
49
50
|
"lint": "run-s lint:prettier:check lint:eslint:check",
|
|
50
51
|
"lint:fix": "run-s lint:prettier:fix lint:eslint:fix",
|
|
51
52
|
"lint:prettier:check": "prettier --cache --check -u .",
|
|
@@ -76,22 +77,22 @@
|
|
|
76
77
|
"prettier-plugin-organize-imports": "^4.1.0",
|
|
77
78
|
"prettier-plugin-packagejson": "^2.5.3",
|
|
78
79
|
"release-it": "^17.10.0",
|
|
79
|
-
"type-fest": "^
|
|
80
|
+
"type-fest": "^5.5.0",
|
|
80
81
|
"typescript": "^5.6.3",
|
|
81
82
|
"typescript-eslint": "^8.11.0",
|
|
82
83
|
"vitest": "2.1.8"
|
|
83
84
|
},
|
|
84
85
|
"peerDependencies": {
|
|
85
|
-
"type-fest": "
|
|
86
|
+
"type-fest": ">=5.5.0"
|
|
86
87
|
},
|
|
87
88
|
"peerDependenciesMeta": {
|
|
88
89
|
"type-fest": {
|
|
89
90
|
"optional": true
|
|
90
91
|
}
|
|
91
92
|
},
|
|
92
|
-
"packageManager": "yarn@4.
|
|
93
|
+
"packageManager": "yarn@4.13.0",
|
|
93
94
|
"engines": {
|
|
94
|
-
"node": ">=
|
|
95
|
+
"node": ">=24.0"
|
|
95
96
|
},
|
|
96
97
|
"publishConfig": {
|
|
97
98
|
"access": "public",
|