spliterator 6.3.1 → 6.4.1

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/README.md CHANGED
@@ -262,7 +262,7 @@ const cakes = await JSONSpliterator.fromAsync<Row>("menu.jsonl", { delimiter: "\
262
262
  .toArray()
263
263
  ```
264
264
 
265
- Filtering happens while streaming, and `take(10)` closes the file handle instead of reading the rest. The operators fuse into a single pass rather than nesting one async generator per step, so chain depth is nearly free — doubling the operator count costs about 10%, where nesting would roughly double it. `flatMap`, `chunks`, and `parallelMap` are the exceptions, since they need inner-iterator state.
265
+ Filtering happens while streaming, and `take(10)` closes the file handle instead of reading the rest. The operators fuse into a single pass rather than nesting one async generator per step, so chain depth is nearly free — doubling the operator count costs about 10%, where nesting would roughly double it. `flatMap`, `chunks`, `parallelMap`, and `parallelFilter` are the exceptions, since they need inner-iterator state.
266
266
 
267
267
  The synchronous `from` returns a plain generator, which already has the same helpers natively on Node 24+.
268
268
 
@@ -4,29 +4,6 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  import { ReadableStream, type ReadableWritablePair, type StreamPipeOptions } from "node:stream/web";
7
- /**
8
- * A chainable operation in a fused pipeline.
9
- *
10
- * Ops are **descriptors**, not closures over iteration state — `take`/`drop` counters live in the iterator, not here,
11
- * so a sequence can describe its chain before anyone pulls from it.
12
- */
13
- type Op = {
14
- kind: typeof OP_MAP;
15
- fn: (value: any, counter: number) => unknown;
16
- } | {
17
- kind: typeof OP_FILTER;
18
- fn: (value: any, counter: number) => unknown;
19
- } | {
20
- kind: typeof OP_TAKE;
21
- limit: number;
22
- } | {
23
- kind: typeof OP_DROP;
24
- limit: number;
25
- };
26
- declare const OP_MAP = 0;
27
- declare const OP_FILTER = 1;
28
- declare const OP_TAKE = 2;
29
- declare const OP_DROP = 3;
30
7
  /**
31
8
  * What a sequence can be built over.
32
9
  *
@@ -36,16 +13,18 @@ declare const OP_DROP = 3;
36
13
  */
37
14
  export type SequenceSource<T> = AsyncIterable<T> | Iterable<T> | (() => AsyncIterable<T> | Iterable<T> | PromiseLike<AsyncIterable<T> | Iterable<T>>);
38
15
  /**
39
- * Options for {@linkcode AsyncSequence.parallelMap}.
16
+ * Options for {@linkcode AsyncSequence.parallelMap} and {@linkcode AsyncSequence.parallelFilter}.
40
17
  */
41
18
  export interface ParallelMapSequenceOptions {
42
19
  /**
43
- * Maximum callbacks in flight at once.
20
+ * Maximum callbacks in flight at once. Defaults to the filesystem fan-out the runtime can actually service: libuv's
21
+ * threadpool size in Node ({@linkcode fsConcurrency} from `spliterator/node/fs`, 4 unless `UV_THREADPOOL_SIZE` says
22
+ * otherwise), and 4 elsewhere.
44
23
  *
45
24
  * For I/O-bound work this peaks **low** — often ~2–3 — and then _degrades_ as callers contend for the same disk or
46
- * socket. Sweep it rather than reaching for `availableParallelism()`.
25
+ * socket. Sweep it rather than reaching for `availableParallelism()`, which counts CPUs and says nothing about I/O.
47
26
  */
48
- concurrency: number;
27
+ concurrency?: number;
49
28
  /**
50
29
  * Abort signal. When aborted, iteration stops after the currently-yielded value; in-flight callbacks are allowed to
51
30
  * settle so none reject unobserved.
@@ -66,8 +45,8 @@ export interface ParallelMapSequenceOptions {
66
45
  * paid per item no matter how many operators you stack; only the op loop grows. Measured on Node 26 over 2M items:
67
46
  * ~5.4M items/s at three operators and ~4.9M/s at six, against ~2.3M/s for the equivalent nested-generator
68
47
  * implementation, where each operator adds a microtask hop. Doubling the operator count costs ~10% here and would cost
69
- * ~2× there. Only {@linkcode flatMap}, {@linkcode chunks}, and {@linkcode parallelMap} break fusion, because they need
70
- * inner-iterator state.
48
+ * ~2× there. Only {@linkcode flatMap}, {@linkcode chunks}, {@linkcode parallelMap}, and {@linkcode parallelFilter}
49
+ * break fusion, because they need inner-iterator state.
71
50
  *
72
51
  * Callback results are awaited **only when thenable**, so synchronous callbacks — the common case — cost no microtask
73
52
  * hop at all.
@@ -80,7 +59,11 @@ export interface ParallelMapSequenceOptions {
80
59
  */
81
60
  export declare class AsyncSequence<T> implements AsyncIterableIterator<T> {
82
61
  #private;
83
- constructor(source: SequenceSource<unknown>, ops?: readonly Op[]);
62
+ /**
63
+ * Wrap a source as a sequence of its element type. Prefer {@link AsyncSequence.from}, which also passes an existing
64
+ * sequence through unchanged.
65
+ */
66
+ constructor(source: SequenceSource<T>);
84
67
  /**
85
68
  * Wrap any iterable or async iterable as a chainable sequence.
86
69
  */
@@ -152,7 +135,7 @@ export declare class AsyncSequence<T> implements AsyncIterableIterator<T> {
152
135
  chunks(size: number): AsyncSequence<T[]>;
153
136
  /**
154
137
  * Map values through a callback with up to `concurrency` calls in flight, yielding in **completion order** — not
155
- * input order.
138
+ * input order. When only membership changes and order must survive, use {@linkcode parallelFilter}.
156
139
  *
157
140
  * The callback is a closure, so it runs on the caller's thread. This overlaps _latency_ (file reads, network) and
158
141
  * does nothing for CPU-bound work; for that, cross a thread boundary with `parallelMapWorkers` or
@@ -160,7 +143,22 @@ export declare class AsyncSequence<T> implements AsyncIterableIterator<T> {
160
143
  *
161
144
  * **Fusion barrier**, like {@linkcode flatMap}.
162
145
  */
163
- parallelMap<U>(fn: (value: T, counter: number) => U | PromiseLike<U>, { concurrency, signal }: ParallelMapSequenceOptions): AsyncSequence<U>;
146
+ parallelMap<U>(fn: (value: T, counter: number) => U | PromiseLike<U>, { concurrency, signal }?: ParallelMapSequenceOptions): AsyncSequence<U>;
147
+ /**
148
+ * Keep values the predicate accepts, with up to `concurrency` predicate calls in flight. The predicate's result is
149
+ * truthiness-tested, like {@linkcode filter}.
150
+ *
151
+ * Unlike {@linkcode parallelMap}, this yields in **input order**: a filter emits the input itself, so nothing is
152
+ * gained by emitting early, and a stable order keeps results reproducible (a list of existing paths, for one). The
153
+ * price is head-of-line blocking: dispatch runs at most `concurrency` predicates ahead of the oldest unsettled one,
154
+ * so a slow predicate stalls the window behind it. That keeps memory bounded, which is the trade this module makes;
155
+ * use `parallelMap` when throughput under uneven latency matters more than order.
156
+ *
157
+ * Same caveats as {@linkcode parallelMap}: the predicate is a closure on the caller's thread, so this overlaps I/O
158
+ * latency, not CPU work — cross a thread boundary with `parallelMapWorkers` for CPU work. **Fusion barrier**, like
159
+ * {@linkcode flatMap}.
160
+ */
161
+ parallelFilter(fn: (value: T, counter: number) => unknown, { concurrency, signal }?: ParallelMapSequenceOptions): AsyncSequence<T>;
164
162
  /**
165
163
  * Expose the sequence as a web stream, for interop with `pipeThrough`/`pipeTo` consumers.
166
164
  */
@@ -176,5 +174,4 @@ export declare class AsyncSequence<T> implements AsyncIterableIterator<T> {
176
174
  return(): Promise<IteratorResult<T>>;
177
175
  [Symbol.asyncIterator](): AsyncIterableIterator<T>;
178
176
  }
179
- export {};
180
177
  //# sourceMappingURL=AsyncSequence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncSequence.d.ts","sourceRoot":"","sources":["../../../lib/iterators/AsyncSequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsyncSequence.d.ts","sourceRoot":"","sources":["../../../lib/iterators/AsyncSequence.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,24 @@ function toAsyncIterator(source) {
20
20
  return: async (value) => iterator.return?.(value) ?? { value: undefined, done: true },
21
21
  };
22
22
  }
23
+ /**
24
+ * Wrap a fusion-barrier generator so closing it also closes the sequence it reads from. `return()` on a generator that
25
+ * was never started skips its body — and its `finally` — so without this, `barrier.take(0)` would leave an eager
26
+ * upstream (an already-open file handle) unreleased. Once started, the generator's own `finally` closes `inner`;
27
+ * closing it again is a no-op.
28
+ */
29
+ function closingWith(generator, inner) {
30
+ return {
31
+ [Symbol.asyncIterator]: () => ({
32
+ next: () => generator.next(),
33
+ return: async () => {
34
+ await generator.return(undefined);
35
+ await inner.return();
36
+ return { value: undefined, done: true };
37
+ },
38
+ }),
39
+ };
40
+ }
23
41
  async function* flattenValues(source, fn) {
24
42
  let counter = 0;
25
43
  for await (const value of source) {
@@ -44,7 +62,37 @@ async function* batchValues(source, size) {
44
62
  yield batch;
45
63
  }
46
64
  }
47
- async function* mapValuesConcurrently(source, fn, limit, signal) {
65
+ /**
66
+ * The fan-out used when {@linkcode ParallelMapSequenceOptions.concurrency} is omitted. Parallel callbacks on the
67
+ * caller's thread only pay off for I/O, so the default presumes I/O: in Node it is {@linkcode fsConcurrency} from
68
+ * `spliterator/node/fs` — libuv's threadpool size, the real ceiling on concurrent filesystem calls — resolved lazily
69
+ * through the same dynamic import core uses for file sources, and once per module. Where that import fails or the
70
+ * module is stubbed (browsers, web workers, bundler shims) libuv's own default of 4 stands in.
71
+ */
72
+ function defaultConcurrency() {
73
+ // Optimistic, like `importVendor` in `XLSXSpliterator`: outside Node the module fails to load. `.catch` rather than
74
+ // a rejection handler so a stub module whose `fsConcurrency` is missing or throws is also covered.
75
+ defaultConcurrencyPromise ??= import("spliterator/node/fs")
76
+ .then(({ fsConcurrency }) => fsConcurrency())
77
+ .catch(() => 4);
78
+ return defaultConcurrencyPromise;
79
+ }
80
+ let defaultConcurrencyPromise;
81
+ /**
82
+ * Validate a caller-supplied `concurrency` at construction, like {@linkcode AsyncSequence.take} and
83
+ * {@linkcode AsyncSequence.chunks} do: `NaN` would otherwise dispatch nothing and yield an empty sequence. Values below
84
+ * 1 clamp to 1; `Infinity` is unbounded.
85
+ */
86
+ function normalizeConcurrency(concurrency) {
87
+ if (concurrency === undefined)
88
+ return undefined;
89
+ if (Number.isNaN(concurrency)) {
90
+ throw new RangeError(`concurrency must be a number, got ${concurrency}`);
91
+ }
92
+ return Math.max(1, Math.trunc(concurrency));
93
+ }
94
+ async function* mapValuesConcurrently(source, fn, concurrency, signal) {
95
+ const limit = concurrency ?? (await defaultConcurrency());
48
96
  const upstream = source[Symbol.asyncIterator]();
49
97
  // Slots key this map, not items: a source may repeat a value (a list of file paths routinely does), and two `===`
50
98
  // equal keys would collapse into one entry, losing a result and deleting the wrong dispatch.
@@ -63,7 +111,11 @@ async function* mapValuesConcurrently(source, fn, limit, signal) {
63
111
  }
64
112
  const current = slot++;
65
113
  const produced = fn(result.value, current);
66
- inflight.set(current, Promise.resolve(produced).then((value) => ({ slot: current, value })));
114
+ const pending = Promise.resolve(produced).then((value) => ({ slot: current, value }));
115
+ // A callback that rejects while this loop is parked on a slow `upstream.next()` would otherwise be an
116
+ // unhandled rejection; the race below still rethrows it.
117
+ pending.then(undefined, noop);
118
+ inflight.set(current, pending);
67
119
  }
68
120
  if (!inflight.size)
69
121
  break;
@@ -78,6 +130,52 @@ async function* mapValuesConcurrently(source, fn, limit, signal) {
78
130
  await Promise.allSettled(inflight.values());
79
131
  }
80
132
  }
133
+ async function* filterValuesConcurrently(source, fn, concurrency, signal) {
134
+ const limit = concurrency ?? (await defaultConcurrency());
135
+ const upstream = source[Symbol.asyncIterator]();
136
+ // A window of dispatched predicates in input order. `head` advances instead of `shift()`, and consumed entries are
137
+ // spliced off once `head` reaches `limit` — amortized O(1) per item, and the array never holds more than
138
+ // `2 * limit` entries, so a long stream does not retain every value it has passed.
139
+ const window = [];
140
+ let head = 0;
141
+ let counter = 0;
142
+ let exhausted = false;
143
+ try {
144
+ for (;;) {
145
+ if (signal?.aborted)
146
+ break;
147
+ while (!exhausted && window.length - head < limit) {
148
+ const result = await upstream.next();
149
+ if (result.done) {
150
+ exhausted = true;
151
+ break;
152
+ }
153
+ const verdict = fn(result.value, counter++);
154
+ // A predicate that rejects before its turn would otherwise be an unhandled rejection; it is still
155
+ // rethrown below when the window reaches it.
156
+ if (isThenable(verdict)) {
157
+ Promise.resolve(verdict).then(undefined, noop);
158
+ }
159
+ window.push({ value: result.value, verdict });
160
+ }
161
+ if (head === window.length)
162
+ break;
163
+ const { value, verdict } = window[head++];
164
+ if (head >= limit) {
165
+ window.splice(0, head);
166
+ head = 0;
167
+ }
168
+ if (isThenable(verdict) ? await verdict : verdict) {
169
+ yield value;
170
+ }
171
+ }
172
+ }
173
+ finally {
174
+ await upstream.return?.();
175
+ await Promise.allSettled(window.slice(head).map((entry) => entry.verdict));
176
+ }
177
+ }
178
+ function noop() { }
81
179
  /**
82
180
  * A lazy, chainable async iterator.
83
181
  *
@@ -92,8 +190,8 @@ async function* mapValuesConcurrently(source, fn, limit, signal) {
92
190
  * paid per item no matter how many operators you stack; only the op loop grows. Measured on Node 26 over 2M items:
93
191
  * ~5.4M items/s at three operators and ~4.9M/s at six, against ~2.3M/s for the equivalent nested-generator
94
192
  * implementation, where each operator adds a microtask hop. Doubling the operator count costs ~10% here and would cost
95
- * ~2× there. Only {@linkcode flatMap}, {@linkcode chunks}, and {@linkcode parallelMap} break fusion, because they need
96
- * inner-iterator state.
193
+ * ~2× there. Only {@linkcode flatMap}, {@linkcode chunks}, {@linkcode parallelMap}, and {@linkcode parallelFilter}
194
+ * break fusion, because they need inner-iterator state.
97
195
  *
98
196
  * Callback results are awaited **only when thenable**, so synchronous callbacks — the common case — cost no microtask
99
197
  * hop at all.
@@ -201,7 +299,7 @@ export class AsyncSequence {
201
299
  * `map`/`filter`/`take`/`drop` costs nothing.
202
300
  */
203
301
  flatMap(fn) {
204
- return new AsyncSequence(flattenValues(this, fn));
302
+ return new AsyncSequence(closingWith(flattenValues(this, fn), this));
205
303
  }
206
304
  //#endregion
207
305
  //#region Spec-compatible core — terminal
@@ -299,11 +397,11 @@ export class AsyncSequence {
299
397
  if (!Number.isFinite(normalized) || normalized < 1) {
300
398
  throw new RangeError(`chunks(${size}): size must be a positive finite number`);
301
399
  }
302
- return new AsyncSequence(batchValues(this, normalized));
400
+ return new AsyncSequence(closingWith(batchValues(this, normalized), this));
303
401
  }
304
402
  /**
305
403
  * Map values through a callback with up to `concurrency` calls in flight, yielding in **completion order** — not
306
- * input order.
404
+ * input order. When only membership changes and order must survive, use {@linkcode parallelFilter}.
307
405
  *
308
406
  * The callback is a closure, so it runs on the caller's thread. This overlaps _latency_ (file reads, network) and
309
407
  * does nothing for CPU-bound work; for that, cross a thread boundary with `parallelMapWorkers` or
@@ -311,8 +409,25 @@ export class AsyncSequence {
311
409
  *
312
410
  * **Fusion barrier**, like {@linkcode flatMap}.
313
411
  */
314
- parallelMap(fn, { concurrency, signal }) {
315
- return new AsyncSequence(mapValuesConcurrently(this, fn, Math.max(1, Math.trunc(concurrency)), signal));
412
+ parallelMap(fn, { concurrency, signal } = {}) {
413
+ return new AsyncSequence(closingWith(mapValuesConcurrently(this, fn, normalizeConcurrency(concurrency), signal), this));
414
+ }
415
+ /**
416
+ * Keep values the predicate accepts, with up to `concurrency` predicate calls in flight. The predicate's result is
417
+ * truthiness-tested, like {@linkcode filter}.
418
+ *
419
+ * Unlike {@linkcode parallelMap}, this yields in **input order**: a filter emits the input itself, so nothing is
420
+ * gained by emitting early, and a stable order keeps results reproducible (a list of existing paths, for one). The
421
+ * price is head-of-line blocking: dispatch runs at most `concurrency` predicates ahead of the oldest unsettled one,
422
+ * so a slow predicate stalls the window behind it. That keeps memory bounded, which is the trade this module makes;
423
+ * use `parallelMap` when throughput under uneven latency matters more than order.
424
+ *
425
+ * Same caveats as {@linkcode parallelMap}: the predicate is a closure on the caller's thread, so this overlaps I/O
426
+ * latency, not CPU work — cross a thread boundary with `parallelMapWorkers` for CPU work. **Fusion barrier**, like
427
+ * {@linkcode flatMap}.
428
+ */
429
+ parallelFilter(fn, { concurrency, signal } = {}) {
430
+ return new AsyncSequence(closingWith(filterValuesConcurrently(this, fn, normalizeConcurrency(concurrency), signal), this));
316
431
  }
317
432
  /**
318
433
  * Expose the sequence as a web stream, for interop with `pipeThrough`/`pipeTo` consumers.
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncSequence.js","sourceRoot":"","sources":["../../../lib/iterators/AsyncSequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsyncSequence.js","sourceRoot":"","sources":["../../../lib/iterators/AsyncSequence.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,29 @@ import { AsyncSequence, type ParallelMapSequenceOptions } from "../iterators/Asy
17
17
  *
18
18
  * @param source The collection to map.
19
19
  * @param fn The callback, receiving `(value, counter)`.
20
- * @param options Concurrency ceiling and optional abort signal.
20
+ * @param options Concurrency ceiling (defaults to the runtime's filesystem fan-out — see
21
+ * {@linkcode ParallelMapSequenceOptions.concurrency}) and optional abort signal.
21
22
  *
22
23
  * @yields Each result, in completion order.
23
24
  * @see {@linkcode parallelMapWorkers} to run the handler on worker threads instead — it takes a module path rather than
24
25
  * a closure, because a closure cannot cross a thread boundary.
25
26
  * @see The "Choosing a primitive" table in the README, which keys the decision off per-row work.
26
27
  */
27
- export declare function parallelMap<T, U>(source: AsyncIterable<T> | Iterable<T>, fn: (value: T, counter: number) => U | PromiseLike<U>, options: ParallelMapSequenceOptions): AsyncSequence<U>;
28
+ export declare function parallelMap<T, U>(source: AsyncIterable<T> | Iterable<T>, fn: (value: T, counter: number) => U | PromiseLike<U>, options?: ParallelMapSequenceOptions): AsyncSequence<U>;
29
+ /**
30
+ * Keep the values of a collection that an async predicate accepts, with up to `concurrency` predicate calls in flight,
31
+ * yielding in **input order**.
32
+ *
33
+ * The free-function form of {@linkcode AsyncSequence.parallelFilter}; see there for the ordering guarantee and the
34
+ * default concurrency.
35
+ *
36
+ * @param source The collection to filter.
37
+ * @param fn The predicate, receiving `(value, counter)`; its result is truthiness-tested.
38
+ * @param options Concurrency ceiling (defaults to the runtime's filesystem fan-out — see
39
+ * {@linkcode ParallelMapSequenceOptions.concurrency}) and optional abort signal.
40
+ *
41
+ * @yields Each accepted value, in input order.
42
+ * @see {@linkcode parallelMap} for the mapping counterpart, which yields in completion order.
43
+ */
44
+ export declare function parallelFilter<T>(source: AsyncIterable<T> | Iterable<T>, fn: (value: T, counter: number) => unknown, options?: ParallelMapSequenceOptions): AsyncSequence<T>;
28
45
  //# sourceMappingURL=parallel-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-map.d.ts","sourceRoot":"","sources":["../../../lib/parallel/parallel-map.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,KAAK,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAE9F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC/B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EACtC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACrD,OAAO,EAAE,0BAA0B,GACjC,aAAa,CAAC,CAAC,CAAC,CAElB"}
1
+ {"version":3,"file":"parallel-map.d.ts","sourceRoot":"","sources":["../../../lib/parallel/parallel-map.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,KAAK,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAE9F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC/B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EACtC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACrD,OAAO,CAAC,EAAE,0BAA0B,GAClC,aAAa,CAAC,CAAC,CAAC,CAElB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC/B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EACtC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,EAC1C,OAAO,CAAC,EAAE,0BAA0B,GAClC,aAAa,CAAC,CAAC,CAAC,CAElB"}
@@ -17,7 +17,8 @@ import { AsyncSequence } from "../iterators/AsyncSequence.js";
17
17
  *
18
18
  * @param source The collection to map.
19
19
  * @param fn The callback, receiving `(value, counter)`.
20
- * @param options Concurrency ceiling and optional abort signal.
20
+ * @param options Concurrency ceiling (defaults to the runtime's filesystem fan-out — see
21
+ * {@linkcode ParallelMapSequenceOptions.concurrency}) and optional abort signal.
21
22
  *
22
23
  * @yields Each result, in completion order.
23
24
  * @see {@linkcode parallelMapWorkers} to run the handler on worker threads instead — it takes a module path rather than
@@ -27,4 +28,22 @@ import { AsyncSequence } from "../iterators/AsyncSequence.js";
27
28
  export function parallelMap(source, fn, options) {
28
29
  return AsyncSequence.from(source).parallelMap(fn, options);
29
30
  }
31
+ /**
32
+ * Keep the values of a collection that an async predicate accepts, with up to `concurrency` predicate calls in flight,
33
+ * yielding in **input order**.
34
+ *
35
+ * The free-function form of {@linkcode AsyncSequence.parallelFilter}; see there for the ordering guarantee and the
36
+ * default concurrency.
37
+ *
38
+ * @param source The collection to filter.
39
+ * @param fn The predicate, receiving `(value, counter)`; its result is truthiness-tested.
40
+ * @param options Concurrency ceiling (defaults to the runtime's filesystem fan-out — see
41
+ * {@linkcode ParallelMapSequenceOptions.concurrency}) and optional abort signal.
42
+ *
43
+ * @yields Each accepted value, in input order.
44
+ * @see {@linkcode parallelMap} for the mapping counterpart, which yields in completion order.
45
+ */
46
+ export function parallelFilter(source, fn, options) {
47
+ return AsyncSequence.from(source).parallelFilter(fn, options);
48
+ }
30
49
  //# sourceMappingURL=parallel-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-map.js","sourceRoot":"","sources":["../../../lib/parallel/parallel-map.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAmC,MAAM,+BAA+B,CAAA;AAE9F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,WAAW,CAC1B,MAAsC,EACtC,EAAqD,EACrD,OAAmC;IAEnC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;AAC3D,CAAC"}
1
+ {"version":3,"file":"parallel-map.js","sourceRoot":"","sources":["../../../lib/parallel/parallel-map.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAmC,MAAM,+BAA+B,CAAA;AAE9F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,WAAW,CAC1B,MAAsC,EACtC,EAAqD,EACrD,OAAoC;IAEpC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC7B,MAAsC,EACtC,EAA0C,EAC1C,OAAoC;IAEpC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;AAC9D,CAAC"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { type CreateWriteStreamOptions } from "node:fs/promises";
7
7
  import { WritableStream } from "node:stream/web";
8
- import { type AsyncChunkIterator, type AsyncDataResource } from "../../lib/internal/shared.js";
8
+ import { type AsyncChunkIterator } from "../../lib/internal/shared.js";
9
9
  /**
10
10
  * Create a readable stream from a file system source.
11
11
  *
@@ -44,27 +44,19 @@ export interface CreateChunkIteratorOptions {
44
44
  end?: number;
45
45
  }
46
46
  /**
47
- * Read the size of a file from a source.
47
+ * Libuv's threadpool size: the real ceiling on concurrent filesystem calls in Node.
48
48
  *
49
- * @param source The source to read the file size from.
49
+ * Every `fs` operation (and DNS, zlib, and much of crypto) is dispatched to this pool, so issuing more calls than it
50
+ * has threads only queues them inside libuv. The pool defaults to **4** threads and is sized by `UV_THREADPOOL_SIZE`,
51
+ * read once before the first pool use — so this reflects the env, parsed the way libuv parses it, not a live count.
52
+ * Sockets bypass the pool; their limit is the peer.
50
53
  *
51
- * @returns The file size in bytes.
52
- * @internal
53
- */
54
- export declare function readFileSize(source: AsyncDataResource): Promise<number>;
55
- /**
56
- * Read a fixed-length window of bytes from `start`. The result is EOF-clamped, so it may be shorter than `length`. Used
57
- * for delimiter-boundary probing.
58
- *
59
- * @internal
60
- */
61
- export declare function readBytes(source: AsyncDataResource, start: number, length: number): Promise<Uint8Array>;
62
- /**
63
- * Create an async chunk iterator from a source.
54
+ * {@linkcode AsyncSequence.parallelMap} / {@linkcode AsyncSequence.parallelFilter} use this as their default
55
+ * `concurrency` in Node. Reach for it directly when sizing some other fan-out, in place of `os.availableParallelism()`,
56
+ * which counts CPUs and says nothing about I/O.
64
57
  *
65
- * @param source The source to create the chunk iterator from.
66
- * @internal
58
+ * @see https://docs.libuv.org/en/v1.x/threadpool.html
67
59
  */
68
- export declare function createChunkIterator(source: AsyncDataResource | AsyncChunkIterator, { highWaterMark, start, end }?: CreateChunkIteratorOptions): Promise<AsyncChunkIterator>;
60
+ export declare function fsConcurrency(): number;
69
61
  export default createChunkIterator;
70
62
  //# 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,KAAK,wBAAwB,EAAc,MAAM,kBAAkB,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAoB,MAAM,8BAA8B,CAAA;AAEhH;;;;;;;;;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,CAkDzB;AAED,MAAM,WAAW,0BAA0B;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7E;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAkB7G;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,CAuD7B;eAEc,mBAAmB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../node/fs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,wBAAwB,EAAc,MAAM,kBAAkB,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD,OAAO,EAAE,KAAK,kBAAkB,EAA4C,MAAM,8BAA8B,CAAA;AAIhH;;;;;;;;;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,CAkDzB;AAED,MAAM,WAAW,0BAA0B;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAkHD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAatC;eAKc,mBAAmB"}
@@ -173,5 +173,33 @@ export async function createChunkIterator(source, { highWaterMark = 4096 * 16, s
173
173
  }
174
174
  throw new TypeError("The provided source does not support async iteration.");
175
175
  }
176
+ /**
177
+ * Libuv's threadpool size: the real ceiling on concurrent filesystem calls in Node.
178
+ *
179
+ * Every `fs` operation (and DNS, zlib, and much of crypto) is dispatched to this pool, so issuing more calls than it
180
+ * has threads only queues them inside libuv. The pool defaults to **4** threads and is sized by `UV_THREADPOOL_SIZE`,
181
+ * read once before the first pool use — so this reflects the env, parsed the way libuv parses it, not a live count.
182
+ * Sockets bypass the pool; their limit is the peer.
183
+ *
184
+ * {@linkcode AsyncSequence.parallelMap} / {@linkcode AsyncSequence.parallelFilter} use this as their default
185
+ * `concurrency` in Node. Reach for it directly when sizing some other fan-out, in place of `os.availableParallelism()`,
186
+ * which counts CPUs and says nothing about I/O.
187
+ *
188
+ * @see https://docs.libuv.org/en/v1.x/threadpool.html
189
+ */
190
+ export function fsConcurrency() {
191
+ const raw = process.env.UV_THREADPOOL_SIZE;
192
+ if (raw === undefined)
193
+ return UV_THREADPOOL_DEFAULT;
194
+ // Mirror libuv's own parse (src/threadpool.c): `atoi`, so leading whitespace, a sign, and trailing junk are
195
+ // tolerated and a fraction truncates; 0 or unparsable becomes 1; the result is an unsigned int clamped to 1024, so
196
+ // a negative value wraps and clamps to the maximum.
197
+ const parsed = Number.parseInt(raw, 10);
198
+ if (Number.isNaN(parsed) || parsed === 0)
199
+ return 1;
200
+ return parsed < 0 || parsed > UV_THREADPOOL_MAX ? UV_THREADPOOL_MAX : parsed;
201
+ }
202
+ const UV_THREADPOOL_DEFAULT = 4;
203
+ const UV_THREADPOOL_MAX = 1024;
176
204
  export default createChunkIterator;
177
205
  //# sourceMappingURL=index.js.map
@@ -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": "6.3.1",
3
+ "version": "6.4.1",
4
4
  "description": "Line-delimited iterator library for CSV, NDJSON, and other delimited formats.",
5
5
  "keywords": [
6
6
  "csv",