import { Observable } from '../Observable'; import { iterator as Symbol_iterator } from '../symbol/iterator'; import { isFunction } from '../util/isFunction'; import { executeSchedule } from '../util/executeSchedule'; export function scheduleIterable(input, scheduler) { return new Observable((subscriber) => { let iterator; executeSchedule(subscriber, scheduler, () => { iterator = input[Symbol_iterator](); executeSchedule(subscriber, scheduler, () => { let value; let done; try { ({ value, done } = iterator.next()); } catch (err) { subscriber.error(err); return; } if (done) { subscriber.complete(); } else { subscriber.next(value); } }, 0, true); }); return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); }); } //# sourceMappingURL=scheduleIterable.js.map