aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/src/internal/observable/merge.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/rxjs/src/internal/observable/merge.ts')
-rw-r--r--node_modules/rxjs/src/internal/observable/merge.ts100
1 files changed, 0 insertions, 100 deletions
diff --git a/node_modules/rxjs/src/internal/observable/merge.ts b/node_modules/rxjs/src/internal/observable/merge.ts
deleted file mode 100644
index de8ac13..0000000
--- a/node_modules/rxjs/src/internal/observable/merge.ts
+++ /dev/null
@@ -1,100 +0,0 @@
-import { Observable } from '../Observable';
-import { ObservableInput, ObservableInputTuple, SchedulerLike } from '../types';
-import { mergeAll } from '../operators/mergeAll';
-import { innerFrom } from './innerFrom';
-import { EMPTY } from './empty';
-import { popNumber, popScheduler } from '../util/args';
-import { from } from './from';
-
-export function merge<A extends readonly unknown[]>(...sources: [...ObservableInputTuple<A>]): Observable<A[number]>;
-export function merge<A extends readonly unknown[]>(...sourcesAndConcurrency: [...ObservableInputTuple<A>, number?]): Observable<A[number]>;
-/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled` and `mergeAll`. Details: https://rxjs.dev/deprecations/scheduler-argument */
-export function merge<A extends readonly unknown[]>(
- ...sourcesAndScheduler: [...ObservableInputTuple<A>, SchedulerLike?]
-): Observable<A[number]>;
-/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled` and `mergeAll`. Details: https://rxjs.dev/deprecations/scheduler-argument */
-export function merge<A extends readonly unknown[]>(
- ...sourcesAndConcurrencyAndScheduler: [...ObservableInputTuple<A>, number?, SchedulerLike?]
-): Observable<A[number]>;
-
-/**
- * Creates an output Observable which concurrently emits all values from every
- * given input Observable.
- *
- * <span class="informal">Flattens multiple Observables together by blending
- * their values into one Observable.</span>
- *
- * ![](merge.png)
- *
- * `merge` subscribes to each given input Observable (as arguments), and simply
- * forwards (without doing any transformation) all the values from all the input
- * Observables to the output Observable. The output Observable only completes
- * once all input Observables have completed. Any error delivered by an input
- * Observable will be immediately emitted on the output Observable.
- *
- * ## Examples
- *
- * Merge together two Observables: 1s interval and clicks
- *
- * ```ts
- * import { merge, fromEvent, interval } from 'rxjs';
- *
- * const clicks = fromEvent(document, 'click');
- * const timer = interval(1000);
- * const clicksOrTimer = merge(clicks, timer);
- * clicksOrTimer.subscribe(x => console.log(x));
- *
- * // Results in the following:
- * // timer will emit ascending values, one every second(1000ms) to console
- * // clicks logs MouseEvents to console every time the "document" is clicked
- * // Since the two streams are merged you see these happening
- * // as they occur.
- * ```
- *
- * Merge together 3 Observables, but run only 2 concurrently
- *
- * ```ts
- * import { interval, take, merge } from 'rxjs';
- *
- * const timer1 = interval(1000).pipe(take(10));
- * const timer2 = interval(2000).pipe(take(6));
- * const timer3 = interval(500).pipe(take(10));
- *
- * const concurrent = 2; // the argument
- * const merged = merge(timer1, timer2, timer3, concurrent);
- * merged.subscribe(x => console.log(x));
- *
- * // Results in the following:
- * // - First timer1 and timer2 will run concurrently
- * // - timer1 will emit a value every 1000ms for 10 iterations
- * // - timer2 will emit a value every 2000ms for 6 iterations
- * // - after timer1 hits its max iteration, timer2 will
- * // continue, and timer3 will start to run concurrently with timer2
- * // - when timer2 hits its max iteration it terminates, and
- * // timer3 will continue to emit a value every 500ms until it is complete
- * ```
- *
- * @see {@link mergeAll}
- * @see {@link mergeMap}
- * @see {@link mergeMapTo}
- * @see {@link mergeScan}
- *
- * @param args `ObservableInput`s to merge together. If the last parameter
- * is of type number, `merge` will use it to limit number of concurrently
- * subscribed `ObservableInput`s. If the last parameter is {@link SchedulerLike},
- * it will be used for scheduling the emission of values.
- * @return An Observable that emits items that are the result of every input Observable.
- */
-export function merge(...args: (ObservableInput<unknown> | number | SchedulerLike)[]): Observable<unknown> {
- const scheduler = popScheduler(args);
- const concurrent = popNumber(args, Infinity);
- const sources = args as ObservableInput<unknown>[];
- return !sources.length
- ? // No source provided
- EMPTY
- : sources.length === 1
- ? // One source? Just return it.
- innerFrom(sources[0])
- : // Merge all sources
- mergeAll(concurrent)(from(sources, scheduler));
-}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage