ix
Version:
The Interactive Extensions for JavaScript
30 lines (28 loc) • 927 B
JavaScript
import { __asyncGenerator, __await } from "tslib";
import { AsyncIterableX } from './asynciterablex.mjs';
import { throwIfAborted, AbortError } from '../aborterror.mjs';
/** @ignore */
export class NeverAsyncIterable extends AsyncIterableX {
constructor() {
super();
}
[Symbol.asyncIterator](signal) {
return __asyncGenerator(this, arguments, function* _a() {
throwIfAborted(signal);
yield __await(new Promise((_, reject) => {
if (signal) {
signal.addEventListener('abort', () => reject(new AbortError()), { once: true });
}
}));
});
}
}
/**
* An async-iterable sequence that never returns a value.
*
* @returns {AsyncIterableX<never>} An async-iterable sequence that never returns a value.
*/
export function never() {
return new NeverAsyncIterable();
}
//# sourceMappingURL=never.mjs.map