diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-29 11:49:28 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-29 11:49:28 -0700 |
| commit | d55b767039605256c736166a942a9138e3eacfd7 (patch) | |
| tree | 947063b634c50d438a794325f13275e134aa5993 /node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts | |
| parent | 864ce67d89c77d8ef9c3361f80d619853abcf91c (diff) | |
remove dev node_modules (oops)
Diffstat (limited to 'node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts b/node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts deleted file mode 100644 index aa1459d..0000000 --- a/node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { Observable } from '../Observable'; -import { SchedulerLike } from '../types'; -import { iterator as Symbol_iterator } from '../symbol/iterator'; -import { isFunction } from '../util/isFunction'; -import { executeSchedule } from '../util/executeSchedule'; - -/** - * Used in {@link scheduled} to create an observable from an Iterable. - * @param input The iterable to create an observable from - * @param scheduler The scheduler to use - */ -export function scheduleIterable<T>(input: Iterable<T>, scheduler: SchedulerLike) { - return new Observable<T>((subscriber) => { - let iterator: Iterator<T, T>; - - // Schedule the initial creation of the iterator from - // the iterable. This is so the code in the iterable is - // not called until the scheduled job fires. - executeSchedule(subscriber, scheduler, () => { - // Create the iterator. - iterator = (input as any)[Symbol_iterator](); - - executeSchedule( - subscriber, - scheduler, - () => { - let value: T; - let done: boolean | undefined; - try { - // Pull the value out of the iterator - ({ value, done } = iterator.next()); - } catch (err) { - // We got an error while pulling from the iterator - subscriber.error(err); - return; - } - - if (done) { - // If it is "done" we just complete. This mimics the - // behavior of JavaScript's `for..of` consumption of - // iterables, which will not emit the value from an iterator - // result of `{ done: true: value: 'here' }`. - subscriber.complete(); - } else { - // The iterable is not done, emit the value. - subscriber.next(value); - } - }, - 0, - true - ); - }); - - // During finalization, if we see this iterator has a `return` method, - // then we know it is a Generator, and not just an Iterator. So we call - // the `return()` function. This will ensure that any `finally { }` blocks - // inside of the generator we can hit will be hit properly. - return () => isFunction(iterator?.return) && iterator.return(); - }); -} |
