From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- node_modules/rxjs/src/internal/observable/of.ts | 83 +++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 node_modules/rxjs/src/internal/observable/of.ts (limited to 'node_modules/rxjs/src/internal/observable/of.ts') diff --git a/node_modules/rxjs/src/internal/observable/of.ts b/node_modules/rxjs/src/internal/observable/of.ts new file mode 100644 index 0000000..a1c9357 --- /dev/null +++ b/node_modules/rxjs/src/internal/observable/of.ts @@ -0,0 +1,83 @@ +import { SchedulerLike, ValueFromArray } from '../types'; +import { Observable } from '../Observable'; +import { popScheduler } from '../util/args'; +import { from } from './from'; + +// Devs are more likely to pass null or undefined than they are a scheduler +// without accompanying values. To make things easier for (naughty) devs who +// use the `strictNullChecks: false` TypeScript compiler option, these +// overloads with explicit null and undefined values are included. + +export function of(value: null): Observable; +export function of(value: undefined): Observable; + +/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled`. Details: https://rxjs.dev/deprecations/scheduler-argument */ +export function of(scheduler: SchedulerLike): Observable; +/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled`. Details: https://rxjs.dev/deprecations/scheduler-argument */ +export function of(...valuesAndScheduler: [...A, SchedulerLike]): Observable>; + +export function of(): Observable; +/** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */ +export function of(): Observable; +export function of(value: T): Observable; +export function of(...values: A): Observable>; + +/** + * Converts the arguments to an observable sequence. + * + * Each argument becomes a `next` notification. + * + * ![](of.png) + * + * Unlike {@link from}, it does not do any flattening and emits each argument in whole + * as a separate `next` notification. + * + * ## Examples + * + * Emit the values `10, 20, 30` + * + * ```ts + * import { of } from 'rxjs'; + * + * of(10, 20, 30) + * .subscribe({ + * next: value => console.log('next:', value), + * error: err => console.log('error:', err), + * complete: () => console.log('the end'), + * }); + * + * // Outputs + * // next: 10 + * // next: 20 + * // next: 30 + * // the end + * ``` + * + * Emit the array `[1, 2, 3]` + * + * ```ts + * import { of } from 'rxjs'; + * + * of([1, 2, 3]) + * .subscribe({ + * next: value => console.log('next:', value), + * error: err => console.log('error:', err), + * complete: () => console.log('the end'), + * }); + * + * // Outputs + * // next: [1, 2, 3] + * // the end + * ``` + * + * @see {@link from} + * @see {@link range} + * + * @param args A comma separated list of arguments you want to be emitted. + * @return An Observable that synchronously emits the arguments described + * above and then immediately completes. + */ +export function of(...args: Array): Observable { + const scheduler = popScheduler(args); + return from(args as T[], scheduler); +} -- cgit v1.2.3