@johnhenry/iteration 0.0.0 → 0.0.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/dist/async-channel.d.ts +24 -4
- package/dist/async-channel.d.ts.map +1 -1
- package/dist/async-channel.js +41 -38
- package/dist/async-channel.js.map +1 -1
- package/dist/combine.d.ts +146 -0
- package/dist/combine.d.ts.map +1 -0
- package/dist/combine.js +353 -0
- package/dist/combine.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +66 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +134 -0
- package/dist/internal.js.map +1 -0
- package/dist/iterator-tools.d.ts.map +1 -1
- package/dist/iterator-tools.js +38 -18
- package/dist/iterator-tools.js.map +1 -1
- package/dist/itertools.d.ts.map +1 -1
- package/dist/itertools.js +42 -24
- package/dist/itertools.js.map +1 -1
- package/dist/tee.d.ts +24 -2
- package/dist/tee.d.ts.map +1 -1
- package/dist/tee.js +175 -2
- package/dist/tee.js.map +1 -1
- package/dist/time.d.ts +69 -0
- package/dist/time.d.ts.map +1 -0
- package/dist/time.js +234 -0
- package/dist/time.js.map +1 -0
- package/dist/transduce.d.ts +49 -0
- package/dist/transduce.d.ts.map +1 -1
- package/dist/transduce.js +27 -1
- package/dist/transduce.js.map +1 -1
- package/dist/transducers.d.ts.map +1 -1
- package/dist/transducers.js +32 -14
- package/dist/transducers.js.map +1 -1
- package/package.json +10 -2
- package/readme.md +304 -14
- package/src/async-channel.ts +63 -47
- package/src/combine.ts +441 -0
- package/src/index.ts +2 -0
- package/src/internal.ts +164 -0
- package/src/iterator-tools.ts +35 -20
- package/src/itertools.ts +36 -23
- package/src/tee.ts +202 -2
- package/src/time.ts +262 -0
- package/src/transduce.ts +91 -1
- package/src/transducers.ts +34 -19
package/dist/combine.js
ADDED
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Combinators for live values and events: merge several async sources,
|
|
3
|
+
* combine their latest values, sample one by another, and conflate a fast
|
|
4
|
+
* source down to its newest value.
|
|
5
|
+
*
|
|
6
|
+
* Every combinator here:
|
|
7
|
+
* - accepts async or sync iterables as inputs;
|
|
8
|
+
* - takes an optional `{ signal }`; on abort it rejects with the signal's
|
|
9
|
+
* reason (an "AbortError" DOMException by default);
|
|
10
|
+
* - closes (`return()`) every input that has not ended when it finishes,
|
|
11
|
+
* when an input errors, when the signal aborts, and when the consumer
|
|
12
|
+
* exits early (`break`, or calling `return()` on it). An input with a
|
|
13
|
+
* `next()` still pending is closed without waiting for that `next()`.
|
|
14
|
+
*
|
|
15
|
+
* The "latest value" combinators (combineLatestAsync, withLatestFromAsync,
|
|
16
|
+
* latestAsync, sampleAsync) drain some inputs eagerly: they keep pulling
|
|
17
|
+
* from them whether or not the consumer is reading, and keep only the
|
|
18
|
+
* newest value. Like every generator in this library they start when the
|
|
19
|
+
* consumer first calls `next()`.
|
|
20
|
+
*/
|
|
21
|
+
import { throwIfAborted } from "./abort.js";
|
|
22
|
+
import { closeAll, createFailure, entryOf, listenAbort, pull, Wakeup, } from "./internal.js";
|
|
23
|
+
const isOptions = (value) => typeof value === "object" &&
|
|
24
|
+
value !== null &&
|
|
25
|
+
!(Symbol.iterator in value) &&
|
|
26
|
+
!(Symbol.asyncIterator in value);
|
|
27
|
+
/**
|
|
28
|
+
* Pull from an entry eagerly until it ends, errors, or `isStopped()`:
|
|
29
|
+
* `onValue` gets each value, `onEnd` runs once it ends, and an error fails
|
|
30
|
+
* the whole combinator.
|
|
31
|
+
*/
|
|
32
|
+
const pump = async (entry, isStopped, onValue, onEnd, failure) => {
|
|
33
|
+
try {
|
|
34
|
+
while (!isStopped()) {
|
|
35
|
+
const result = await pull(entry);
|
|
36
|
+
if (isStopped())
|
|
37
|
+
return;
|
|
38
|
+
if (result.done) {
|
|
39
|
+
onEnd();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
onValue(result.value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
failure.fail(error);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
/** Split an array-or-record of inputs into keys and iterables. */
|
|
50
|
+
const shapeOf = (inputs) => {
|
|
51
|
+
if (Array.isArray(inputs)) {
|
|
52
|
+
return { isArray: true, keys: inputs.map((_, i) => String(i)), iterables: [...inputs] };
|
|
53
|
+
}
|
|
54
|
+
const keys = Object.keys(inputs);
|
|
55
|
+
return {
|
|
56
|
+
isArray: false,
|
|
57
|
+
keys,
|
|
58
|
+
iterables: keys.map((key) => inputs[key]),
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
const snapshotOf = (isArray, keys, values) => {
|
|
62
|
+
if (isArray)
|
|
63
|
+
return values.slice();
|
|
64
|
+
const out = {};
|
|
65
|
+
keys.forEach((key, i) => {
|
|
66
|
+
out[key] = values[i];
|
|
67
|
+
});
|
|
68
|
+
return out;
|
|
69
|
+
};
|
|
70
|
+
export function mergeAsync(...args) {
|
|
71
|
+
const last = args[args.length - 1];
|
|
72
|
+
const options = isOptions(last) ? args.pop() : {};
|
|
73
|
+
return mergeImpl(args, options);
|
|
74
|
+
}
|
|
75
|
+
const mergeImpl = async function* (inputs, { signal }) {
|
|
76
|
+
throwIfAborted(signal);
|
|
77
|
+
const entries = inputs.map((input) => entryOf(input));
|
|
78
|
+
const failure = createFailure();
|
|
79
|
+
const unlisten = listenAbort(signal, (reason) => failure.fail(reason));
|
|
80
|
+
// The outstanding next() of each input, tagged with its index.
|
|
81
|
+
const pending = new Map();
|
|
82
|
+
const request = (i) => {
|
|
83
|
+
const tagged = pull(entries[i]).then((result) => [i, result]);
|
|
84
|
+
tagged.catch(() => { }); // rejections are observed through the race below
|
|
85
|
+
pending.set(i, tagged);
|
|
86
|
+
};
|
|
87
|
+
try {
|
|
88
|
+
entries.forEach((_, i) => {
|
|
89
|
+
request(i);
|
|
90
|
+
});
|
|
91
|
+
let lastWinner = -1;
|
|
92
|
+
while (pending.size > 0) {
|
|
93
|
+
if (failure.failed)
|
|
94
|
+
throw failure.error;
|
|
95
|
+
// Rotate the race so the input after the last winner goes first:
|
|
96
|
+
// Promise.race favours the earliest already-settled promise.
|
|
97
|
+
const rank = (k) => (k - lastWinner - 1 + entries.length) % entries.length;
|
|
98
|
+
const order = [...pending.keys()].sort((a, b) => rank(a) - rank(b));
|
|
99
|
+
const [i, result] = await Promise.race([...order.map((k) => pending.get(k)), failure.promise]);
|
|
100
|
+
pending.delete(i);
|
|
101
|
+
lastWinner = i;
|
|
102
|
+
if (result.done)
|
|
103
|
+
continue;
|
|
104
|
+
yield result.value;
|
|
105
|
+
request(i);
|
|
106
|
+
}
|
|
107
|
+
if (failure.failed)
|
|
108
|
+
throw failure.error;
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
unlisten();
|
|
112
|
+
await closeAll(entries);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Combine the latest values of several inputs. `inputs` is an array or a
|
|
117
|
+
* record of (async or sync) iterables; each output is a snapshot of the
|
|
118
|
+
* same shape holding every input's latest value. A snapshot is emitted
|
|
119
|
+
* whenever an input yields, once every input has a value (from the input
|
|
120
|
+
* itself or from `initial`).
|
|
121
|
+
*
|
|
122
|
+
* Latest-wins: inputs are drained eagerly, and while the consumer is busy
|
|
123
|
+
* the snapshots that would have been emitted coalesce into one, holding
|
|
124
|
+
* the newest values. Every snapshot is a fresh object.
|
|
125
|
+
*
|
|
126
|
+
* An input error closes the others and is rethrown (a pending snapshot is
|
|
127
|
+
* dropped). Consumer exit or abort closes every input.
|
|
128
|
+
* @kind function
|
|
129
|
+
* @name combineLatestAsync
|
|
130
|
+
* @example
|
|
131
|
+
* ```javascript
|
|
132
|
+
* for await (const { x, y } of combineLatestAsync({ x: xs, y: ys })) { ... }
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
export const combineLatestAsync = async function* (inputs, { signal, initial, endOn = "all" } = {}) {
|
|
136
|
+
throwIfAborted(signal);
|
|
137
|
+
const { isArray, keys, iterables } = shapeOf(inputs);
|
|
138
|
+
const n = keys.length;
|
|
139
|
+
const values = new Array(n);
|
|
140
|
+
const has = new Array(n).fill(false);
|
|
141
|
+
if (initial) {
|
|
142
|
+
keys.forEach((key, i) => {
|
|
143
|
+
if (Object.hasOwn(initial, key)) {
|
|
144
|
+
values[i] = initial[key];
|
|
145
|
+
has[i] = true;
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
const entries = iterables.map((iterable) => entryOf(iterable));
|
|
150
|
+
const failure = createFailure();
|
|
151
|
+
const wakeup = new Wakeup();
|
|
152
|
+
const unlisten = listenAbort(signal, (reason) => {
|
|
153
|
+
failure.fail(reason);
|
|
154
|
+
wakeup.wake();
|
|
155
|
+
});
|
|
156
|
+
let stopped = false;
|
|
157
|
+
let dirty = false;
|
|
158
|
+
let ended = n === 0;
|
|
159
|
+
try {
|
|
160
|
+
entries.forEach((entry, i) => {
|
|
161
|
+
void pump(entry, () => stopped, (value) => {
|
|
162
|
+
values[i] = value;
|
|
163
|
+
has[i] = true;
|
|
164
|
+
dirty = true;
|
|
165
|
+
wakeup.wake();
|
|
166
|
+
}, () => {
|
|
167
|
+
if (endOn === "any" || !has[i] || entries.every((e) => e.done))
|
|
168
|
+
ended = true;
|
|
169
|
+
wakeup.wake();
|
|
170
|
+
}, failure);
|
|
171
|
+
});
|
|
172
|
+
while (true) {
|
|
173
|
+
if (failure.failed)
|
|
174
|
+
throw failure.error;
|
|
175
|
+
if (dirty && has.every(Boolean)) {
|
|
176
|
+
dirty = false;
|
|
177
|
+
yield snapshotOf(isArray, keys, values);
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
if (ended)
|
|
181
|
+
return;
|
|
182
|
+
await Promise.race([wakeup.wait(), failure.promise]);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
finally {
|
|
186
|
+
stopped = true;
|
|
187
|
+
unlisten();
|
|
188
|
+
await closeAll(entries);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* Pair each value of `source` with the latest value of each of `others`
|
|
193
|
+
* (an array or a record of iterables): yields `[value, snapshot]`, where
|
|
194
|
+
* `snapshot` has the same shape as `others`. This is the "an event samples
|
|
195
|
+
* values" pattern.
|
|
196
|
+
*
|
|
197
|
+
* `source` is pulled lazily, as the consumer reads; `others` are drained
|
|
198
|
+
* eagerly. Source values that arrive before every one of `others` has a
|
|
199
|
+
* value are dropped. An input in `others` that ends keeps its last value.
|
|
200
|
+
* Ends when `source` ends. An error from any input closes the rest and is
|
|
201
|
+
* rethrown; consumer exit or abort closes every input.
|
|
202
|
+
* @kind function
|
|
203
|
+
* @name withLatestFromAsync
|
|
204
|
+
* @example
|
|
205
|
+
* ```javascript
|
|
206
|
+
* for await (const [click, { price }] of withLatestFromAsync(clicks, { price: prices })) { ... }
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
export const withLatestFromAsync = async function* (source, others, { signal } = {}) {
|
|
210
|
+
throwIfAborted(signal);
|
|
211
|
+
const { isArray, keys, iterables } = shapeOf(others);
|
|
212
|
+
const values = new Array(keys.length);
|
|
213
|
+
const has = new Array(keys.length).fill(false);
|
|
214
|
+
const src = entryOf(source);
|
|
215
|
+
const entries = iterables.map((iterable) => entryOf(iterable));
|
|
216
|
+
const failure = createFailure();
|
|
217
|
+
const unlisten = listenAbort(signal, (reason) => failure.fail(reason));
|
|
218
|
+
let stopped = false;
|
|
219
|
+
try {
|
|
220
|
+
entries.forEach((entry, i) => {
|
|
221
|
+
void pump(entry, () => stopped, (value) => {
|
|
222
|
+
values[i] = value;
|
|
223
|
+
has[i] = true;
|
|
224
|
+
}, () => { }, failure);
|
|
225
|
+
});
|
|
226
|
+
while (true) {
|
|
227
|
+
if (failure.failed)
|
|
228
|
+
throw failure.error;
|
|
229
|
+
const result = await Promise.race([pull(src), failure.promise]);
|
|
230
|
+
if (result.done)
|
|
231
|
+
return;
|
|
232
|
+
if (failure.failed)
|
|
233
|
+
throw failure.error;
|
|
234
|
+
if (has.every(Boolean))
|
|
235
|
+
yield [result.value, snapshotOf(isArray, keys, values)];
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
finally {
|
|
239
|
+
stopped = true;
|
|
240
|
+
unlisten();
|
|
241
|
+
await closeAll([src, ...entries]);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
/**
|
|
245
|
+
* Conflate a source down to its newest value. The source is drained
|
|
246
|
+
* eagerly; only the newest value not yet read is kept. Each `next()`
|
|
247
|
+
* returns that value, or waits for the next one. A value is returned at
|
|
248
|
+
* most once.
|
|
249
|
+
*
|
|
250
|
+
* Ends once the source has ended and its last value has been read. A source
|
|
251
|
+
* error is rethrown on the next read (an unread value is dropped). Closing
|
|
252
|
+
* the result, or aborting, closes the source.
|
|
253
|
+
* @kind function
|
|
254
|
+
* @name latestAsync
|
|
255
|
+
* @example
|
|
256
|
+
* ```javascript
|
|
257
|
+
* for await (const position of latestAsync(pointerMoves)) {
|
|
258
|
+
* await render(position); // never falls behind: stale positions are skipped
|
|
259
|
+
* }
|
|
260
|
+
* ```
|
|
261
|
+
*/
|
|
262
|
+
export const latestAsync = async function* (iterable, { signal } = {}) {
|
|
263
|
+
throwIfAborted(signal);
|
|
264
|
+
const entry = entryOf(iterable);
|
|
265
|
+
const failure = createFailure();
|
|
266
|
+
const wakeup = new Wakeup();
|
|
267
|
+
const unlisten = listenAbort(signal, (reason) => {
|
|
268
|
+
failure.fail(reason);
|
|
269
|
+
wakeup.wake();
|
|
270
|
+
});
|
|
271
|
+
let stopped = false;
|
|
272
|
+
let fresh = false;
|
|
273
|
+
let ended = false;
|
|
274
|
+
let latest;
|
|
275
|
+
try {
|
|
276
|
+
void pump(entry, () => stopped, (value) => {
|
|
277
|
+
latest = value;
|
|
278
|
+
fresh = true;
|
|
279
|
+
wakeup.wake();
|
|
280
|
+
}, () => {
|
|
281
|
+
ended = true;
|
|
282
|
+
wakeup.wake();
|
|
283
|
+
}, failure);
|
|
284
|
+
while (true) {
|
|
285
|
+
if (failure.failed)
|
|
286
|
+
throw failure.error;
|
|
287
|
+
if (fresh) {
|
|
288
|
+
const value = latest;
|
|
289
|
+
fresh = false;
|
|
290
|
+
latest = undefined; // don't retain a value that has been handed out
|
|
291
|
+
yield value;
|
|
292
|
+
continue;
|
|
293
|
+
}
|
|
294
|
+
if (ended)
|
|
295
|
+
return;
|
|
296
|
+
await Promise.race([wakeup.wait(), failure.promise]);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
finally {
|
|
300
|
+
stopped = true;
|
|
301
|
+
unlisten();
|
|
302
|
+
await closeAll([entry]);
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
/**
|
|
306
|
+
* On each value from `trigger`, yield the latest value of `source`, if it
|
|
307
|
+
* has produced one yet. The same source value is yielded again on every
|
|
308
|
+
* trigger until the source produces a new one.
|
|
309
|
+
*
|
|
310
|
+
* `source` is drained eagerly; `trigger` is pulled lazily, as the consumer
|
|
311
|
+
* reads. Ends when `trigger` ends (a source that ends keeps its last
|
|
312
|
+
* value). An error from either closes the other and is rethrown; consumer
|
|
313
|
+
* exit or abort closes both.
|
|
314
|
+
* @kind function
|
|
315
|
+
* @name sampleAsync
|
|
316
|
+
* @example
|
|
317
|
+
* ```javascript
|
|
318
|
+
* for await (const position of sampleAsync(pointerMoves, animationFrames)) { ... }
|
|
319
|
+
* ```
|
|
320
|
+
*/
|
|
321
|
+
export const sampleAsync = async function* (source, trigger, { signal } = {}) {
|
|
322
|
+
throwIfAborted(signal);
|
|
323
|
+
const src = entryOf(source);
|
|
324
|
+
const trig = entryOf(trigger);
|
|
325
|
+
const failure = createFailure();
|
|
326
|
+
const unlisten = listenAbort(signal, (reason) => failure.fail(reason));
|
|
327
|
+
let stopped = false;
|
|
328
|
+
let has = false;
|
|
329
|
+
let latest;
|
|
330
|
+
try {
|
|
331
|
+
void pump(src, () => stopped, (value) => {
|
|
332
|
+
latest = value;
|
|
333
|
+
has = true;
|
|
334
|
+
}, () => { }, failure);
|
|
335
|
+
while (true) {
|
|
336
|
+
if (failure.failed)
|
|
337
|
+
throw failure.error;
|
|
338
|
+
const result = await Promise.race([pull(trig), failure.promise]);
|
|
339
|
+
if (result.done)
|
|
340
|
+
return;
|
|
341
|
+
if (failure.failed)
|
|
342
|
+
throw failure.error;
|
|
343
|
+
if (has)
|
|
344
|
+
yield latest;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
finally {
|
|
348
|
+
stopped = true;
|
|
349
|
+
unlisten();
|
|
350
|
+
await closeAll([src, trig]);
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
//# sourceMappingURL=combine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../src/combine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./abort.ts";
|
|
2
2
|
export * from "./async-channel.ts";
|
|
3
|
+
export * from "./combine.ts";
|
|
3
4
|
export * from "./concurrency.ts";
|
|
4
5
|
export * from "./consumers.ts";
|
|
5
6
|
export * from "./count.ts";
|
|
@@ -9,6 +10,7 @@ export * from "./is-iterator.ts";
|
|
|
9
10
|
export * from "./iterator-tools.ts";
|
|
10
11
|
export * from "./itertools.ts";
|
|
11
12
|
export * from "./tee.ts";
|
|
13
|
+
export * from "./time.ts";
|
|
12
14
|
export * from "./transduce.ts";
|
|
13
15
|
import * as channelDecorators from "./channel-decorators.ts";
|
|
14
16
|
import * as transducers from "./transducers.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAE/B,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./abort.js";
|
|
2
2
|
export * from "./async-channel.js";
|
|
3
|
+
export * from "./combine.js";
|
|
3
4
|
export * from "./concurrency.js";
|
|
4
5
|
export * from "./consumers.js";
|
|
5
6
|
export * from "./count.js";
|
|
@@ -9,6 +10,7 @@ export * from "./is-iterator.js";
|
|
|
9
10
|
export * from "./iterator-tools.js";
|
|
10
11
|
export * from "./itertools.js";
|
|
11
12
|
export * from "./tee.js";
|
|
13
|
+
export * from "./time.js";
|
|
12
14
|
export * from "./transduce.js";
|
|
13
15
|
import * as channelDecorators from "./channel-decorators.js";
|
|
14
16
|
import * as transducers from "./transducers.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAE/B,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal plumbing shared by combine.ts, time.ts and the zip fixes.
|
|
3
|
+
* Not re-exported from index.ts and not in the package `exports` map.
|
|
4
|
+
* @ignore
|
|
5
|
+
*/
|
|
6
|
+
export type AnyIterable<T> = AsyncIterable<T> | Iterable<T>;
|
|
7
|
+
export type AnyIterator<T> = AsyncIterator<T> | Iterator<T>;
|
|
8
|
+
/** Get an iterator from an async or sync iterable (async preferred). */
|
|
9
|
+
export declare const getIterator: <T>(iterable: AnyIterable<T>) => AnyIterator<T>;
|
|
10
|
+
/** The reason an aborted signal carries ("AbortError" DOMException by default). */
|
|
11
|
+
export declare const abortReason: (signal: AbortSignal) => unknown;
|
|
12
|
+
/**
|
|
13
|
+
* Call `onAbort(reason)` once when `signal` aborts (immediately if it
|
|
14
|
+
* already has). Returns a function that removes the listener.
|
|
15
|
+
*/
|
|
16
|
+
export declare const listenAbort: (signal: AbortSignal | undefined, onAbort: (reason: unknown) => void) => (() => void);
|
|
17
|
+
/**
|
|
18
|
+
* A one-shot failure latch: `fail(error)` records the first error and
|
|
19
|
+
* rejects `promise` with it. `promise` is pre-handled, so it never surfaces
|
|
20
|
+
* as an unhandled rejection; race it against a pending read to wake up on
|
|
21
|
+
* failure.
|
|
22
|
+
*/
|
|
23
|
+
export interface Failure {
|
|
24
|
+
failed: boolean;
|
|
25
|
+
error: unknown;
|
|
26
|
+
promise: Promise<never>;
|
|
27
|
+
fail(error: unknown): void;
|
|
28
|
+
}
|
|
29
|
+
export declare const createFailure: () => Failure;
|
|
30
|
+
/** A reusable wake-up: `wait()` resolves on the next `wake()`. */
|
|
31
|
+
export declare class Wakeup {
|
|
32
|
+
#private;
|
|
33
|
+
wait(): Promise<void>;
|
|
34
|
+
wake(): void;
|
|
35
|
+
}
|
|
36
|
+
/** An input iterator plus the state needed to close it correctly. */
|
|
37
|
+
export interface Entry<T> {
|
|
38
|
+
it: AnyIterator<T>;
|
|
39
|
+
/** Ended, errored, or already closed: never call return() on it. */
|
|
40
|
+
done: boolean;
|
|
41
|
+
/** A next() call is outstanding. */
|
|
42
|
+
inFlight: boolean;
|
|
43
|
+
}
|
|
44
|
+
export declare const entryOf: <T>(iterable: AnyIterable<T>) => Entry<T>;
|
|
45
|
+
/**
|
|
46
|
+
* Call `next()` on an entry, tracking `inFlight`/`done`. A synchronous
|
|
47
|
+
* throw from `next()` becomes a rejection. An input whose `next()` rejects
|
|
48
|
+
* or throws is marked done (the iterator protocol does not call return()
|
|
49
|
+
* on an iterator that threw).
|
|
50
|
+
*/
|
|
51
|
+
export declare const pull: <T>(entry: Entry<T>) => Promise<IteratorResult<T>>;
|
|
52
|
+
/**
|
|
53
|
+
* Close (`return()`) every entry that has not ended. Entries with no
|
|
54
|
+
* outstanding `next()` are awaited, so their cleanup has finished when
|
|
55
|
+
* this resolves. Entries with a `next()` still in flight are closed
|
|
56
|
+
* fire-and-forget: an async generator queues `return()` behind its pending
|
|
57
|
+
* `next()`, so awaiting it would hang on a stalled source (the case that
|
|
58
|
+
* aborting is for). Errors from `return()` are swallowed.
|
|
59
|
+
*/
|
|
60
|
+
export declare const closeAll: (entries: Iterable<Entry<unknown>>) => Promise<void>;
|
|
61
|
+
/** Synchronous counterpart of closeAll, for sync iterators. */
|
|
62
|
+
export declare const closeAllSync: (entries: Iterable<{
|
|
63
|
+
it: Iterator<unknown>;
|
|
64
|
+
done: boolean;
|
|
65
|
+
}>) => void;
|
|
66
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAI5D,wEAAwE;AACxE,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,UAAU,WAAW,CAAC,CAAC,CAAC,KAAG,WAAW,CAAC,CAAC,CAGrB,CAAC;AAEnD,mFAAmF;AACnF,eAAO,MAAM,WAAW,GAAI,QAAQ,WAAW,KAAG,OAC6B,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,WAAW,GAAG,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,KAAG,CAAC,MAAM,IAAI,CAS5G,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,QAAO,OAkBhC,CAAC;AAEF,kEAAkE;AAClE,qBAAa,MAAM;;IAGjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,IAAI,IAAI,IAAI;CAMb;AAED,qEAAqE;AACrE,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACnB,oEAAoE;IACpE,IAAI,EAAE,OAAO,CAAC;IACd,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,UAAU,WAAW,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,CAAC,CAI3D,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAclE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAU,SAAS,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAgB9E,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,YAAY,GAAI,SAAS,QAAQ,CAAC;IAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,KAAG,IAU1F,CAAC"}
|
package/dist/internal.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal plumbing shared by combine.ts, time.ts and the zip fixes.
|
|
3
|
+
* Not re-exported from index.ts and not in the package `exports` map.
|
|
4
|
+
* @ignore
|
|
5
|
+
*/
|
|
6
|
+
const noop = () => { };
|
|
7
|
+
/** Get an iterator from an async or sync iterable (async preferred). */
|
|
8
|
+
export const getIterator = (iterable) => Symbol.asyncIterator in Object(iterable)
|
|
9
|
+
? iterable[Symbol.asyncIterator]()
|
|
10
|
+
: iterable[Symbol.iterator]();
|
|
11
|
+
/** The reason an aborted signal carries ("AbortError" DOMException by default). */
|
|
12
|
+
export const abortReason = (signal) => signal.reason ?? new DOMException("This operation was aborted", "AbortError");
|
|
13
|
+
/**
|
|
14
|
+
* Call `onAbort(reason)` once when `signal` aborts (immediately if it
|
|
15
|
+
* already has). Returns a function that removes the listener.
|
|
16
|
+
*/
|
|
17
|
+
export const listenAbort = (signal, onAbort) => {
|
|
18
|
+
if (!signal)
|
|
19
|
+
return noop;
|
|
20
|
+
if (signal.aborted) {
|
|
21
|
+
onAbort(abortReason(signal));
|
|
22
|
+
return noop;
|
|
23
|
+
}
|
|
24
|
+
const listener = () => onAbort(abortReason(signal));
|
|
25
|
+
signal.addEventListener("abort", listener, { once: true });
|
|
26
|
+
return () => signal.removeEventListener("abort", listener);
|
|
27
|
+
};
|
|
28
|
+
export const createFailure = () => {
|
|
29
|
+
let reject;
|
|
30
|
+
const promise = new Promise((_, r) => {
|
|
31
|
+
reject = r;
|
|
32
|
+
});
|
|
33
|
+
promise.catch(noop);
|
|
34
|
+
const failure = {
|
|
35
|
+
failed: false,
|
|
36
|
+
error: undefined,
|
|
37
|
+
promise,
|
|
38
|
+
fail(error) {
|
|
39
|
+
if (failure.failed)
|
|
40
|
+
return;
|
|
41
|
+
failure.failed = true;
|
|
42
|
+
failure.error = error;
|
|
43
|
+
reject(error);
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
return failure;
|
|
47
|
+
};
|
|
48
|
+
/** A reusable wake-up: `wait()` resolves on the next `wake()`. */
|
|
49
|
+
export class Wakeup {
|
|
50
|
+
#promise;
|
|
51
|
+
#resolve;
|
|
52
|
+
wait() {
|
|
53
|
+
if (!this.#promise) {
|
|
54
|
+
this.#promise = new Promise((resolve) => {
|
|
55
|
+
this.#resolve = resolve;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return this.#promise;
|
|
59
|
+
}
|
|
60
|
+
wake() {
|
|
61
|
+
const resolve = this.#resolve;
|
|
62
|
+
this.#promise = undefined;
|
|
63
|
+
this.#resolve = undefined;
|
|
64
|
+
resolve?.();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export const entryOf = (iterable) => ({
|
|
68
|
+
it: getIterator(iterable),
|
|
69
|
+
done: false,
|
|
70
|
+
inFlight: false,
|
|
71
|
+
});
|
|
72
|
+
/**
|
|
73
|
+
* Call `next()` on an entry, tracking `inFlight`/`done`. A synchronous
|
|
74
|
+
* throw from `next()` becomes a rejection. An input whose `next()` rejects
|
|
75
|
+
* or throws is marked done (the iterator protocol does not call return()
|
|
76
|
+
* on an iterator that threw).
|
|
77
|
+
*/
|
|
78
|
+
export const pull = (entry) => {
|
|
79
|
+
entry.inFlight = true;
|
|
80
|
+
return new Promise((resolve) => resolve(entry.it.next())).then((result) => {
|
|
81
|
+
entry.inFlight = false;
|
|
82
|
+
if (result.done)
|
|
83
|
+
entry.done = true;
|
|
84
|
+
return result;
|
|
85
|
+
}, (error) => {
|
|
86
|
+
entry.inFlight = false;
|
|
87
|
+
entry.done = true;
|
|
88
|
+
throw error;
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Close (`return()`) every entry that has not ended. Entries with no
|
|
93
|
+
* outstanding `next()` are awaited, so their cleanup has finished when
|
|
94
|
+
* this resolves. Entries with a `next()` still in flight are closed
|
|
95
|
+
* fire-and-forget: an async generator queues `return()` behind its pending
|
|
96
|
+
* `next()`, so awaiting it would hang on a stalled source (the case that
|
|
97
|
+
* aborting is for). Errors from `return()` are swallowed.
|
|
98
|
+
*/
|
|
99
|
+
export const closeAll = async (entries) => {
|
|
100
|
+
const waits = [];
|
|
101
|
+
for (const entry of entries) {
|
|
102
|
+
if (entry.done)
|
|
103
|
+
continue;
|
|
104
|
+
entry.done = true;
|
|
105
|
+
if (typeof entry.it.return !== "function")
|
|
106
|
+
continue;
|
|
107
|
+
let result;
|
|
108
|
+
try {
|
|
109
|
+
result = entry.it.return();
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
const settled = Promise.resolve(result).then(noop, noop);
|
|
115
|
+
if (!entry.inFlight)
|
|
116
|
+
waits.push(settled);
|
|
117
|
+
}
|
|
118
|
+
await Promise.all(waits);
|
|
119
|
+
};
|
|
120
|
+
/** Synchronous counterpart of closeAll, for sync iterators. */
|
|
121
|
+
export const closeAllSync = (entries) => {
|
|
122
|
+
for (const entry of entries) {
|
|
123
|
+
if (entry.done)
|
|
124
|
+
continue;
|
|
125
|
+
entry.done = true;
|
|
126
|
+
try {
|
|
127
|
+
entry.it.return?.();
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
// Cleanup is best-effort; the original completion (or error) wins.
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterator-tools.d.ts","sourceRoot":"","sources":["../src/iterator-tools.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,OAAO,MAAuB,CAAC;AAClD,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC;AAE/B;;;GAGG;AACH,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW,CAAC,EAAE,CAAC,EAAE;IAChC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IAC7F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,GAAG,SAAS,EAAE,cAAc,MAAM,EAAE,QAAQ,CAAC,KAAG,OAAO,CAAC,CAAC,CACW,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,UAAU,GAAc,EAAE,EAAE,GAAG,GAAG,OAAO,EACpD,UAAU,QAAQ,CAAC,EAAE,CAAC,EACtB,MAAM,WAAW,CAAC,EAAE,CAAC,EACrB,OAAM,OAAO,EAAO,EACpB,qBAAmB,KAClB,SAAS,CAAC,GAAG,CAkBf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,GAAoB,EAAE,EAAE,GAAG,GAAG,OAAO,EAC3D,UAAU,aAAa,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAC1C,MAAM,WAAW,CAAC,EAAE,CAAC,EACrB,OAAM,OAAO,EAAO,EACpB,qBAAmB,KAClB,cAAc,CAAC,GAAG,CAkBpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAc,CAAC,EAAE,GAAG,WAAW,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC,CAAC,CAIrF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAc,CAAC,EAAE,WAAW,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,KAAG,SAAS,CAAC,CAAC,CAK9F,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAoB,CAAC,EAAE,GAAG,WAAW,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAG,cAAc,CAAC,CAAC,CAIpH,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAoB,CAAC,EAC5C,WAAW,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EACzC,GAAG,UAAU,CAAC,EAAE,KACf,cAAc,CAAC,CAAC,CAKlB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAc,CAAC,EAAE,GAAG,cAAc,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"iterator-tools.d.ts","sourceRoot":"","sources":["../src/iterator-tools.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,OAAO,MAAuB,CAAC;AAClD,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC;AAE/B;;;GAGG;AACH,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW,CAAC,EAAE,CAAC,EAAE;IAChC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IAC7F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,GAAG,SAAS,EAAE,cAAc,MAAM,EAAE,QAAQ,CAAC,KAAG,OAAO,CAAC,CAAC,CACW,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,UAAU,GAAc,EAAE,EAAE,GAAG,GAAG,OAAO,EACpD,UAAU,QAAQ,CAAC,EAAE,CAAC,EACtB,MAAM,WAAW,CAAC,EAAE,CAAC,EACrB,OAAM,OAAO,EAAO,EACpB,qBAAmB,KAClB,SAAS,CAAC,GAAG,CAkBf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,GAAoB,EAAE,EAAE,GAAG,GAAG,OAAO,EAC3D,UAAU,aAAa,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAC1C,MAAM,WAAW,CAAC,EAAE,CAAC,EACrB,OAAM,OAAO,EAAO,EACpB,qBAAmB,KAClB,cAAc,CAAC,GAAG,CAkBpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAc,CAAC,EAAE,GAAG,WAAW,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC,CAAC,CAIrF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAc,CAAC,EAAE,WAAW,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,KAAG,SAAS,CAAC,CAAC,CAK9F,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAoB,CAAC,EAAE,GAAG,WAAW,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAG,cAAc,CAAC,CAAC,CAIpH,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAoB,CAAC,EAC5C,WAAW,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EACzC,GAAG,UAAU,CAAC,EAAE,KACf,cAAc,CAAC,CAAC,CAKlB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAc,CAAC,EAAE,GAAG,cAAc,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC,CAAC,EAAE,CA0BvF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAoB,CAAC,EACxC,GAAG,cAAc,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KACrD,cAAc,CAAC,CAAC,EAAE,CAepB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,GAAU,CAAC,EACzB,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EACvC,SAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,OAAqB,KAC3C,OAAO,CAAC,IAAI,CAId,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAc,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,KAAG,SAAS,CAAC,CAAC,CAIhE,CAAC;AACF,eAAO,MAAM,SAAS,GAAoB,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,KAAG,cAAc,CAAC,CAAC,CAI5E,CAAC"}
|