ix
Version:
The Interactive Extensions for JavaScript
35 lines (33 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.never = exports.NeverAsyncIterable = void 0;
const tslib_1 = require("tslib");
const asynciterablex_js_1 = require("./asynciterablex.js");
const aborterror_js_1 = require("../aborterror.js");
/** @ignore */
class NeverAsyncIterable extends asynciterablex_js_1.AsyncIterableX {
constructor() {
super();
}
[Symbol.asyncIterator](signal) {
return tslib_1.__asyncGenerator(this, arguments, function* _a() {
(0, aborterror_js_1.throwIfAborted)(signal);
yield tslib_1.__await(new Promise((_, reject) => {
if (signal) {
signal.addEventListener('abort', () => reject(new aborterror_js_1.AbortError()), { once: true });
}
}));
});
}
}
exports.NeverAsyncIterable = NeverAsyncIterable;
/**
* An async-iterable sequence that never returns a value.
*
* @returns {AsyncIterableX<never>} An async-iterable sequence that never returns a value.
*/
function never() {
return new NeverAsyncIterable();
}
exports.never = never;
//# sourceMappingURL=never.js.map