From ffce98036606ef59d66949666a069bcd57f9ee06 Mon Sep 17 00:00:00 2001 From: Jason Aden Date: Wed, 7 Mar 2018 17:38:25 -0800 Subject: [PATCH] feat(compat): compatibility mode for merge operator --- compat/operators/merge.ts | 22 ++++++++++++++++++++++ legacy-reexport/operators/merge.ts | 1 + 2 files changed, 23 insertions(+) create mode 100644 compat/operators/merge.ts create mode 100644 legacy-reexport/operators/merge.ts diff --git a/compat/operators/merge.ts b/compat/operators/merge.ts new file mode 100644 index 0000000000..320971d29d --- /dev/null +++ b/compat/operators/merge.ts @@ -0,0 +1,22 @@ +import { merge as mergeStatic, Observable, ObservableInput, OperatorFunction, MonoTypeOperatorFunction, SchedulerLike } from 'rxjs'; + +/* tslint:disable:max-line-length */ +export function merge(scheduler?: SchedulerLike): MonoTypeOperatorFunction; +export function merge(concurrent?: number, scheduler?: SchedulerLike): MonoTypeOperatorFunction; +export function merge(v2: ObservableInput, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, concurrent?: number, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, v3: ObservableInput, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, v3: ObservableInput, concurrent?: number, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, concurrent?: number, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, concurrent?: number, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput, scheduler?: SchedulerLike): OperatorFunction; +export function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput, concurrent?: number, scheduler?: SchedulerLike): OperatorFunction; +export function merge(...observables: Array | SchedulerLike | number>): MonoTypeOperatorFunction; +export function merge(...observables: Array | SchedulerLike | number>): OperatorFunction; +/* tslint:enable:max-line-length */ + +export function merge(...observables: Array | SchedulerLike | number>): OperatorFunction { + return (source: Observable) => source.lift.call(mergeStatic(source, ...observables)); +} diff --git a/legacy-reexport/operators/merge.ts b/legacy-reexport/operators/merge.ts new file mode 100644 index 0000000000..7d9f674d48 --- /dev/null +++ b/legacy-reexport/operators/merge.ts @@ -0,0 +1 @@ +export * from 'rxjs-compat/operators/merge'; \ No newline at end of file