rxjs
Version:
Reactive Extensions for modern JavaScript
31 lines • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.scheduleAsyncIterable = void 0;
var Observable_1 = require("../Observable");
var Subscription_1 = require("../Subscription");
function scheduleAsyncIterable(input, scheduler) {
if (!input) {
throw new Error('Iterable cannot be null');
}
return new Observable_1.Observable(function (subscriber) {
var sub = new Subscription_1.Subscription();
sub.add(scheduler.schedule(function () {
var iterator = input[Symbol.asyncIterator]();
sub.add(scheduler.schedule(function () {
var _this = this;
iterator.next().then(function (result) {
if (result.done) {
subscriber.complete();
}
else {
subscriber.next(result.value);
_this.schedule();
}
});
}));
}));
return sub;
});
}
exports.scheduleAsyncIterable = scheduleAsyncIterable;
//# sourceMappingURL=scheduleAsyncIterable.js.map