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(function (subscriber) { | |
var iterator; | |
executeSchedule(subscriber, scheduler, function () { | |
iterator = input[Symbol_iterator](); | |
executeSchedule(subscriber, scheduler, function () { | |
var _a; | |
var value; | |
var done; | |
try { | |
(_a = iterator.next(), value = _a.value, done = _a.done); | |
} | |
catch (err) { | |
subscriber.error(err); | |
return; | |
} | |
if (done) { | |
subscriber.complete(); | |
} | |
else { | |
subscriber.next(value); | |
} | |
}, 0, true); | |
}); | |
return function () { return isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); }; | |
}); | |
} | |
//# sourceMappingURL=scheduleIterable.js.map |