evnty 5.3.3 → 5.4.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/build/async.cjs +16 -16
- package/build/async.cjs.map +1 -1
- package/build/async.d.ts +8 -0
- package/build/async.js +10 -16
- package/build/async.js.map +1 -1
- package/build/broadcast.cjs +4 -13
- package/build/broadcast.cjs.map +1 -1
- package/build/broadcast.js +5 -14
- package/build/broadcast.js.map +1 -1
- package/build/event.cjs +5 -16
- package/build/event.cjs.map +1 -1
- package/build/event.js +6 -17
- package/build/event.js.map +1 -1
- package/build/iterator.cjs +11 -40
- package/build/iterator.cjs.map +1 -1
- package/build/iterator.js +11 -40
- package/build/iterator.js.map +1 -1
- package/build/sequence.cjs +8 -9
- package/build/sequence.cjs.map +1 -1
- package/build/sequence.js +8 -9
- package/build/sequence.js.map +1 -1
- package/build/utils.cjs +32 -46
- package/build/utils.cjs.map +1 -1
- package/build/utils.js +32 -46
- package/build/utils.js.map +1 -1
- package/package.json +9 -8
- package/src/async.ts +17 -9
- package/src/broadcast.ts +5 -5
- package/src/event.ts +8 -10
- package/src/iterator.ts +11 -10
- package/src/sequence.ts +8 -9
- package/src/utils.ts +26 -25
package/src/utils.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Sequence } from './sequence.js';
|
|
2
|
+
import { ITERATOR_DONE } from './async.js';
|
|
2
3
|
import { AnyIterator, AnyIterable, MaybePromise } from './types.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -137,20 +138,21 @@ export function abortableIterable<T, TReturn, TNext>(iterable: AsyncIterable<T,
|
|
|
137
138
|
const race = [promise, undefined] as unknown as [Promise<void>, Promise<IteratorResult<T, TReturn>>];
|
|
138
139
|
|
|
139
140
|
return {
|
|
140
|
-
|
|
141
|
+
next(...args: [] | [TNext]): Promise<IteratorResult<T, TReturn>> {
|
|
141
142
|
race[1] = iterator.next(...args);
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
143
|
+
return Promise.race(race).then((result) => {
|
|
144
|
+
if (result === undefined) {
|
|
145
|
+
void finish();
|
|
146
|
+
return { done: true, value: undefined as TReturn } as IteratorResult<T, TReturn>;
|
|
147
|
+
}
|
|
148
|
+
if (result.done) {
|
|
149
|
+
closed = true;
|
|
150
|
+
signal.removeEventListener('abort', onAbort);
|
|
151
|
+
}
|
|
152
|
+
return result;
|
|
153
|
+
});
|
|
152
154
|
},
|
|
153
|
-
|
|
155
|
+
return(value?: TReturn): Promise<IteratorResult<T, TReturn>> {
|
|
154
156
|
return finish(value);
|
|
155
157
|
},
|
|
156
158
|
};
|
|
@@ -212,7 +214,7 @@ export const iterate: Iterate = (startOrCount?: number, countWhenTwoArgs?: numbe
|
|
|
212
214
|
idx++;
|
|
213
215
|
return { value, done: false };
|
|
214
216
|
}
|
|
215
|
-
return
|
|
217
|
+
return ITERATOR_DONE;
|
|
216
218
|
},
|
|
217
219
|
return(value) {
|
|
218
220
|
idx = count;
|
|
@@ -284,18 +286,17 @@ export const toAsyncIterable = <T, TReturn, TNext>(iterable: Iterable<T, TReturn
|
|
|
284
286
|
[Symbol.asyncIterator]() {
|
|
285
287
|
const iterator = iterable[Symbol.iterator]();
|
|
286
288
|
return {
|
|
287
|
-
|
|
288
|
-
return iterator.next(...args);
|
|
289
|
+
next(...args: [TNext] | []) {
|
|
290
|
+
return Promise.resolve(iterator.next(...args));
|
|
289
291
|
},
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
return iterator.return?.(value) ?? ({ value, done: true } as IteratorResult<T, TReturn>);
|
|
292
|
+
return(maybeValue) {
|
|
293
|
+
return Promise.resolve(maybeValue).then((value) => iterator.return?.(value) ?? ({ value, done: true } as IteratorResult<T, TReturn>));
|
|
293
294
|
},
|
|
294
|
-
|
|
295
|
+
throw(error) {
|
|
295
296
|
if (iterator.throw) {
|
|
296
|
-
return iterator.throw(error);
|
|
297
|
+
return Promise.resolve(iterator.throw(error));
|
|
297
298
|
}
|
|
298
|
-
|
|
299
|
+
return Promise.reject(error);
|
|
299
300
|
},
|
|
300
301
|
} satisfies AsyncIterator<T, TReturn, TNext>;
|
|
301
302
|
},
|
|
@@ -370,7 +371,7 @@ export const mergeIterables = <T>(...iterables: AsyncIterable<T, void, unknown>[
|
|
|
370
371
|
[Symbol.asyncIterator]() {
|
|
371
372
|
if (iterables.length === 0) {
|
|
372
373
|
return {
|
|
373
|
-
next:
|
|
374
|
+
next: () => Promise.resolve(ITERATOR_DONE),
|
|
374
375
|
};
|
|
375
376
|
}
|
|
376
377
|
|
|
@@ -407,18 +408,18 @@ export const mergeIterables = <T>(...iterables: AsyncIterable<T, void, unknown>[
|
|
|
407
408
|
return { value, done: false };
|
|
408
409
|
} catch {
|
|
409
410
|
if (ctrl.signal.aborted && ctrl.signal.reason === exit) {
|
|
410
|
-
return
|
|
411
|
+
return ITERATOR_DONE;
|
|
411
412
|
}
|
|
412
413
|
throw ctrl.signal.reason;
|
|
413
414
|
}
|
|
414
415
|
},
|
|
415
416
|
return: async () => {
|
|
416
417
|
ctrl.abort(exit);
|
|
417
|
-
return
|
|
418
|
+
return ITERATOR_DONE;
|
|
418
419
|
},
|
|
419
420
|
throw: async (error?: unknown) => {
|
|
420
421
|
ctrl.abort(error);
|
|
421
|
-
return
|
|
422
|
+
return ITERATOR_DONE;
|
|
422
423
|
},
|
|
423
424
|
};
|
|
424
425
|
},
|