|
1 |
| -import {Observable} from '../Observable'; |
| 1 | +import {Observable, ObservableInput} from '../Observable'; |
2 | 2 | import {ArrayObservable} from '../observable/fromArray';
|
3 | 3 | import {CombineLatestOperator} from './combineLatest-support';
|
4 | 4 | import {isArray} from '../util/isArray';
|
@@ -31,3 +31,23 @@ export function combineLatest<T, R>(...observables: Array<Observable<any> |
|
31 | 31 |
|
32 | 32 | return new ArrayObservable(observables).lift<T, R>(new CombineLatestOperator<T, R>(project));
|
33 | 33 | }
|
| 34 | + |
| 35 | +/* tslint:disable:max-line-length */ |
| 36 | +export interface CombineLatestSignature<T> { |
| 37 | + <T2>(v2: ObservableInput<T2>): Observable<[T, T2]>; |
| 38 | + <T2, T3>(v2: ObservableInput<T2>, v3: ObservableInput<T3>): Observable<[T, T2, T3]>; |
| 39 | + <T2, T3, T4>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>): Observable<[T, T2, T3, T4]>; |
| 40 | + <T2, T3, T4, T5>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>): Observable<[T, T2, T3, T4, T5]>; |
| 41 | + <T2, T3, T4, T5, T6>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>): Observable<[T, T2, T3, T4, T5, T6]>; |
| 42 | + |
| 43 | + <R>(project: (v1: T) => R): Observable<R>; |
| 44 | + <T2, R>(v2: ObservableInput<T2>, project: (v1: T, v2: T2) => R): Observable<R>; |
| 45 | + <T2, T3, R>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, project: (v1: T, v2: T2, v3: T3) => R): Observable<R>; |
| 46 | + <T2, T3, T4, R>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, project: (v1: T, v2: T2, v3: T3, v4: T4) => R): Observable<R>; |
| 47 | + <T2, T3, T4, T5, R>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => R): Observable<R>; |
| 48 | + <T2, T3, T4, T5, T6, R>(v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => R): Observable<R>; |
| 49 | + |
| 50 | + <R>(...observables: Array<ObservableInput<any> | ((...values: Array<any>) => R)>): Observable<R>; |
| 51 | + <R>(array: ObservableInput<any>[]): Observable<R>; |
| 52 | + <R>(array: ObservableInput<any>[], project: (...values: Array<any>) => R): Observable<R>; |
| 53 | +} |
0 commit comments