minor adjustment to readme
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / _esm5 / internal / scheduled / scheduleIterable.js
1 /** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */
2 import { Observable } from '../Observable';
3 import { Subscription } from '../Subscription';
4 import { iterator as Symbol_iterator } from '../symbol/iterator';
5 export function scheduleIterable(input, scheduler) {
6     if (!input) {
7         throw new Error('Iterable cannot be null');
8     }
9     return new Observable(function (subscriber) {
10         var sub = new Subscription();
11         var iterator;
12         sub.add(function () {
13             if (iterator && typeof iterator.return === 'function') {
14                 iterator.return();
15             }
16         });
17         sub.add(scheduler.schedule(function () {
18             iterator = input[Symbol_iterator]();
19             sub.add(scheduler.schedule(function () {
20                 if (subscriber.closed) {
21                     return;
22                 }
23                 var value;
24                 var done;
25                 try {
26                     var result = iterator.next();
27                     value = result.value;
28                     done = result.done;
29                 }
30                 catch (err) {
31                     subscriber.error(err);
32                     return;
33                 }
34                 if (done) {
35                     subscriber.complete();
36                 }
37                 else {
38                     subscriber.next(value);
39                     this.schedule();
40                 }
41             }));
42         }));
43         return sub;
44     });
45 }
46 //# sourceMappingURL=scheduleIterable.js.map