|
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