aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-28 17:26:46 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-28 17:43:56 -0700
commite4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch)
tree06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts')
-rw-r--r--node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts b/node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts
new file mode 100644
index 0000000..daa0346
--- /dev/null
+++ b/node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts
@@ -0,0 +1,31 @@
+import { SchedulerLike } from '../types';
+import { Observable } from '../Observable';
+import { executeSchedule } from '../util/executeSchedule';
+
+export function scheduleAsyncIterable<T>(input: AsyncIterable<T>, scheduler: SchedulerLike) {
+ if (!input) {
+ throw new Error('Iterable cannot be null');
+ }
+ return new Observable<T>((subscriber) => {
+ executeSchedule(subscriber, scheduler, () => {
+ const iterator = input[Symbol.asyncIterator]();
+ executeSchedule(
+ subscriber,
+ scheduler,
+ () => {
+ iterator.next().then((result) => {
+ if (result.done) {
+ // This will remove the subscriptions from
+ // the parent subscription.
+ subscriber.complete();
+ } else {
+ subscriber.next(result.value);
+ }
+ });
+ },
+ 0,
+ true
+ );
+ });
+ });
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage