aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/src/internal/scheduled/scheduled.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/scheduled.ts
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/src/internal/scheduled/scheduled.ts')
-rw-r--r--node_modules/rxjs/src/internal/scheduled/scheduled.ts50
1 files changed, 50 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/scheduled/scheduled.ts b/node_modules/rxjs/src/internal/scheduled/scheduled.ts
new file mode 100644
index 0000000..bb2e425
--- /dev/null
+++ b/node_modules/rxjs/src/internal/scheduled/scheduled.ts
@@ -0,0 +1,50 @@
+import { scheduleObservable } from './scheduleObservable';
+import { schedulePromise } from './schedulePromise';
+import { scheduleArray } from './scheduleArray';
+import { scheduleIterable } from './scheduleIterable';
+import { scheduleAsyncIterable } from './scheduleAsyncIterable';
+import { isInteropObservable } from '../util/isInteropObservable';
+import { isPromise } from '../util/isPromise';
+import { isArrayLike } from '../util/isArrayLike';
+import { isIterable } from '../util/isIterable';
+import { ObservableInput, SchedulerLike } from '../types';
+import { Observable } from '../Observable';
+import { isAsyncIterable } from '../util/isAsyncIterable';
+import { createInvalidObservableTypeError } from '../util/throwUnobservableError';
+import { isReadableStreamLike } from '../util/isReadableStreamLike';
+import { scheduleReadableStreamLike } from './scheduleReadableStreamLike';
+
+/**
+ * Converts from a common {@link ObservableInput} type to an observable where subscription and emissions
+ * are scheduled on the provided scheduler.
+ *
+ * @see {@link from}
+ * @see {@link of}
+ *
+ * @param input The observable, array, promise, iterable, etc you would like to schedule
+ * @param scheduler The scheduler to use to schedule the subscription and emissions from
+ * the returned observable.
+ */
+export function scheduled<T>(input: ObservableInput<T>, scheduler: SchedulerLike): Observable<T> {
+ if (input != null) {
+ if (isInteropObservable(input)) {
+ return scheduleObservable(input, scheduler);
+ }
+ if (isArrayLike(input)) {
+ return scheduleArray(input, scheduler);
+ }
+ if (isPromise(input)) {
+ return schedulePromise(input, scheduler);
+ }
+ if (isAsyncIterable(input)) {
+ return scheduleAsyncIterable(input, scheduler);
+ }
+ if (isIterable(input)) {
+ return scheduleIterable(input, scheduler);
+ }
+ if (isReadableStreamLike(input)) {
+ return scheduleReadableStreamLike(input, scheduler);
+ }
+ }
+ throw createInvalidObservableTypeError(input);
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage