wishthis/node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js

31 lines
1.1 KiB
JavaScript
Raw Normal View History

2022-04-07 07:06:43 +00:00
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