1 import { Subscriber } from '../Subscriber';
2 import { iterator as Symbol_iterator } from '../symbol/iterator';
4 export const subscribeToIterable = <T>(iterable: Iterable<T>) => (subscriber: Subscriber<T>) => {
5 const iterator = (iterable as any)[Symbol_iterator]();
8 let item: IteratorResult<T>;
10 item = iterator.next();
12 subscriber.error(err);
16 subscriber.complete();
19 subscriber.next(item.value);
20 if (subscriber.closed) {
25 // Finalize the iterator if it happens to be a Generator
26 if (typeof iterator.return === 'function') {
27 subscriber.add(() => {
28 if (iterator.return) {