aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-29 11:49:28 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-29 11:49:28 -0700
commitd55b767039605256c736166a942a9138e3eacfd7 (patch)
tree947063b634c50d438a794325f13275e134aa5993 /node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts
parent864ce67d89c77d8ef9c3361f80d619853abcf91c (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.ts60
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();
- });
-}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage