1 | import { AsyncIterableX } from './asynciterablex';
|
2 | import { throwIfAborted, AbortError } from '../aborterror';
|
3 | export class NeverAsyncIterable extends AsyncIterableX {
|
4 | constructor() {
|
5 | super();
|
6 | }
|
7 | async *[Symbol.asyncIterator](signal) {
|
8 | throwIfAborted(signal);
|
9 | await new Promise((_, reject) => {
|
10 | if (signal) {
|
11 | signal.addEventListener('abort', () => reject(new AbortError()), { once: true });
|
12 | }
|
13 | });
|
14 | }
|
15 | }
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 | export function never() {
|
23 | return new NeverAsyncIterable();
|
24 | }
|
25 |
|
26 |
|