UNPKG

rxjs

Version:

Reactive Extensions for modern JavaScript

28 lines 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.scheduleIterable = void 0; var Observable_1 = require("../Observable"); var iterator_1 = require("../symbol/iterator"); var isFunction_1 = require("../util/isFunction"); var caughtSchedule_1 = require("../util/caughtSchedule"); function scheduleIterable(input, scheduler) { return new Observable_1.Observable(function (subscriber) { var iterator; subscriber.add(scheduler.schedule(function () { iterator = input[iterator_1.iterator](); caughtSchedule_1.caughtSchedule(subscriber, scheduler, function () { var _a = iterator.next(), value = _a.value, done = _a.done; if (done) { subscriber.complete(); } else { subscriber.next(value); this.schedule(); } }); })); return function () { return isFunction_1.isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); }; }); } exports.scheduleIterable = scheduleIterable; //# sourceMappingURL=scheduleIterable.js.map