UNPKG

rxjs

Version:

Reactive Extensions for modern JavaScript

24 lines 1.02 kB
import { Observable } from '../Observable'; import { iterator as Symbol_iterator } from '../symbol/iterator'; import { isFunction } from '../util/isFunction'; import { caughtSchedule } from '../util/caughtSchedule'; export function scheduleIterable(input, scheduler) { return new Observable(function (subscriber) { var iterator; subscriber.add(scheduler.schedule(function () { iterator = input[Symbol_iterator](); 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(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); }; }); } //# sourceMappingURL=scheduleIterable.js.map