From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- .../internal/scheduled/scheduleAsyncIterable.ts | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts (limited to 'node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts') 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(input: AsyncIterable, scheduler: SchedulerLike) { + if (!input) { + throw new Error('Iterable cannot be null'); + } + return new Observable((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 + ); + }); + }); +} -- cgit v1.2.3