|
1 | 1 | import { Observable } from '../Observable'; |
2 | | -import { ObservableInput, SchedulerLike, ObservedValueOf } from '../types'; |
| 2 | +import { ObservableInput, SchedulerLike, ObservedValueOf, ObservedValuesFromArray } from '../types'; |
3 | 3 | import { of } from './of'; |
4 | 4 | import { concatAll } from '../operators/concatAll'; |
5 | 5 |
|
6 | 6 | /* tslint:disable:max-line-length */ |
7 | | -/** @deprecated Use {@link scheduled} and {@link concatAll} (e.g. `scheduled([o1, o2, o3], scheduler).pipe(concatAll())`) */ |
| 7 | +/** @deprecated remove in v8. Passing a scheduler to concat is deprecated, please use {@link scheduled} and {@link concatAll} `scheduled([o1, o2], scheduler).pipe(concatAll())` */ |
8 | 8 | export function concat<O1 extends ObservableInput<any>>(v1: O1, scheduler: SchedulerLike): Observable<ObservedValueOf<O1>>; |
9 | | -/** @deprecated Use {@link scheduled} and {@link concatAll} (e.g. `scheduled([o1, o2, o3], scheduler).pipe(concatAll())`) */ |
| 9 | +/** @deprecated remove in v8. Passing a scheduler to concat is deprecated, please use {@link scheduled} and {@link concatAll} `scheduled([o1, o2], scheduler).pipe(concatAll())` */ |
10 | 10 | export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>>(v1: O1, v2: O2, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2>>; |
11 | | -/** @deprecated Use {@link scheduled} and {@link concatAll} (e.g. `scheduled([o1, o2, o3], scheduler).pipe(concatAll())`) */ |
| 11 | +/** @deprecated remove in v8. Passing a scheduler to concat is deprecated, please use {@link scheduled} and {@link concatAll} `scheduled([o1, o2], scheduler).pipe(concatAll())` */ |
12 | 12 | export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>, O3 extends ObservableInput<any>>(v1: O1, v2: O2, v3: O3, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3>>; |
13 | | -/** @deprecated Use {@link scheduled} and {@link concatAll} (e.g. `scheduled([o1, o2, o3], scheduler).pipe(concatAll())`) */ |
| 13 | +/** @deprecated remove in v8. Passing a scheduler to concat is deprecated, please use {@link scheduled} and {@link concatAll} `scheduled([o1, o2], scheduler).pipe(concatAll())` */ |
14 | 14 | export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>, O3 extends ObservableInput<any>, O4 extends ObservableInput<any>>(v1: O1, v2: O2, v3: O3, v4: O4, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4>>; |
15 | | -/** @deprecated Use {@link scheduled} and {@link concatAll} (e.g. `scheduled([o1, o2, o3], scheduler).pipe(concatAll())`) */ |
| 15 | +/** @deprecated remove in v8. Passing a scheduler to concat is deprecated, please use {@link scheduled} and {@link concatAll} `scheduled([o1, o2], scheduler).pipe(concatAll())` */ |
16 | 16 | export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>, O3 extends ObservableInput<any>, O4 extends ObservableInput<any>, O5 extends ObservableInput<any>>(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5>>; |
17 | | -/** @deprecated Use {@link scheduled} and {@link concatAll} (e.g. `scheduled([o1, o2, o3], scheduler).pipe(concatAll())`) */ |
| 17 | +/** @deprecated remove in v8. Passing a scheduler to concat is deprecated, please use {@link scheduled} and {@link concatAll} `scheduled([o1, o2], scheduler).pipe(concatAll())` */ |
18 | 18 | export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>, O3 extends ObservableInput<any>, O4 extends ObservableInput<any>, O5 extends ObservableInput<any>, O6 extends ObservableInput<any>>(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, v6: O6, scheduler: SchedulerLike): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5> | ObservedValueOf<O6>>; |
19 | 19 |
|
20 | | -export function concat<O1 extends ObservableInput<any>>(v1: O1): Observable<ObservedValueOf<O1>>; |
21 | | -export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>>(v1: O1, v2: O2): Observable<ObservedValueOf<O1> | ObservedValueOf<O2>>; |
22 | | -export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>, O3 extends ObservableInput<any>>(v1: O1, v2: O2, v3: O3): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3>>; |
23 | | -export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>, O3 extends ObservableInput<any>, O4 extends ObservableInput<any>>(v1: O1, v2: O2, v3: O3, v4: O4): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4>>; |
24 | | -export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>, O3 extends ObservableInput<any>, O4 extends ObservableInput<any>, O5 extends ObservableInput<any>>(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5>>; |
25 | | -export function concat<O1 extends ObservableInput<any>, O2 extends ObservableInput<any>, O3 extends ObservableInput<any>, O4 extends ObservableInput<any>, O5 extends ObservableInput<any>, O6 extends ObservableInput<any>>(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, v6: O6): Observable<ObservedValueOf<O1> | ObservedValueOf<O2> | ObservedValueOf<O3> | ObservedValueOf<O4> | ObservedValueOf<O5> | ObservedValueOf<O6>>; |
26 | | -export function concat<O extends ObservableInput<any>>(...observables: O[]): Observable<ObservedValueOf<O>>; |
27 | | -/** @deprecated Use {@link scheduled} and {@link concatAll} (e.g. `scheduled([o1, o2, o3], scheduler).pipe(concatAll())`) */ |
28 | | -export function concat<O extends ObservableInput<any>>(...observables: (O | SchedulerLike)[]): Observable<ObservedValueOf<O>>; |
29 | | -export function concat<R>(...observables: ObservableInput<any>[]): Observable<R>; |
30 | | -/** @deprecated Use {@link scheduled} and {@link concatAll} (e.g. `scheduled([o1, o2, o3], scheduler).pipe(concatAll())`) */ |
31 | | -export function concat<R>(...observables: (ObservableInput<any> | SchedulerLike)[]): Observable<R>; |
| 20 | +export function concat<A extends ObservableInput<any>[]>(...observables: A): Observable<ObservedValuesFromArray<A>>; |
| 21 | + |
32 | 22 | /* tslint:enable:max-line-length */ |
33 | 23 | /** |
34 | 24 | * Creates an output Observable which sequentially emits all values from given |
@@ -127,17 +117,13 @@ export function concat<R>(...observables: (ObservableInput<any> | SchedulerLike) |
127 | 117 | * @see {@link concatMap} |
128 | 118 | * @see {@link concatMapTo} |
129 | 119 | * |
130 | | - * @param {ObservableInput} input1 An input Observable to concatenate with others. |
131 | | - * @param {ObservableInput} input2 An input Observable to concatenate with others. |
| 120 | + * @param input1 An input Observable to concatenate with others. |
| 121 | + * @param input2 An input Observable to concatenate with others. |
132 | 122 | * More than one input Observables may be given as argument. |
133 | | - * @param {SchedulerLike} [scheduler=null] An optional {@link SchedulerLike} to schedule each |
| 123 | + * @param scheduler An optional {@link SchedulerLike} to schedule each |
134 | 124 | * Observable subscription on. |
135 | | - * @return {Observable} All values of each passed Observable merged into a |
136 | | - * single Observable, in order, in serial fashion. |
137 | | - * @static true |
138 | | - * @name concat |
139 | | - * @owner Observable |
140 | 125 | */ |
141 | | -export function concat<O extends ObservableInput<any>, R>(...observables: Array<O | SchedulerLike>): Observable<ObservedValueOf<O> | R> { |
142 | | - return concatAll<R>()(of(...observables) as Observable<ObservedValueOf<O>>); |
| 126 | +export function concat<O extends ObservableInput<any>>(...observables: Array<O | SchedulerLike>): Observable<ObservedValueOf<O>> { |
| 127 | + // The cast with `as` below is due to the SchedulerLike, once this is removed, it will no longer be a problem. |
| 128 | + return concatAll<ObservedValueOf<O>>()(of(...observables) as Observable<ObservedValueOf<O>>); |
143 | 129 | } |
0 commit comments