Skip to content

Commit ad7dd69

Browse files
mpodlasintrxcllnt
authored andcommitted
fix(forkJoin): add type signature for single observable with selector
Add type signature for using forkJoin with single observable as first parameter and selector function as second parameter, so that typings would not prevent usage which is permitted and properly handled by operator. Closes ReactiveX#2347
1 parent db72756 commit ad7dd69

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

spec/observables/forkJoin-spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import {expect} from 'chai';
22
import * as Rx from '../../dist/cjs/Rx';
3-
declare const {hot, expectObservable, expectSubscriptions, type};
43
import {lowerCaseO} from '../helpers/test-helper';
4+
import marbleTestingSignature = require('../helpers/marble-testing'); // tslint:disable-line:no-require-imports
5+
6+
declare const {type};
7+
declare const hot: typeof marbleTestingSignature.hot;
8+
declare const expectObservable: typeof marbleTestingSignature.expectObservable;
9+
declare const expectSubscriptions: typeof marbleTestingSignature.expectSubscriptions;
510

611
const Observable = Rx.Observable;
712

src/observable/ForkJoinObservable.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export class ForkJoinObservable<T> extends Observable<T> {
2525
static create<T, T2, T3, T4>(v1: SubscribableOrPromise<T>, v2: SubscribableOrPromise<T2>, v3: SubscribableOrPromise<T3>, v4: SubscribableOrPromise<T4>): Observable<[T, T2, T3, T4]>;
2626
static create<T, T2, T3, T4, T5>(v1: SubscribableOrPromise<T>, v2: SubscribableOrPromise<T2>, v3: SubscribableOrPromise<T3>, v4: SubscribableOrPromise<T4>, v5: SubscribableOrPromise<T5>): Observable<[T, T2, T3, T4, T5]>;
2727
static create<T, T2, T3, T4, T5, T6>(v1: SubscribableOrPromise<T>, v2: SubscribableOrPromise<T2>, v3: SubscribableOrPromise<T3>, v4: SubscribableOrPromise<T4>, v5: SubscribableOrPromise<T5>, v6: SubscribableOrPromise<T6>): Observable<[T, T2, T3, T4, T5, T6]>;
28+
static create<T, R>(v1: SubscribableOrPromise<T>, project: (v1: T) => R): Observable<R>;
2829
static create<T, T2, R>(v1: SubscribableOrPromise<T>, v2: SubscribableOrPromise<T2>, project: (v1: T, v2: T2) => R): Observable<R>;
2930
static create<T, T2, T3, R>(v1: SubscribableOrPromise<T>, v2: SubscribableOrPromise<T2>, v3: SubscribableOrPromise<T3>, project: (v1: T, v2: T2, v3: T3) => R): Observable<R>;
3031
static create<T, T2, T3, T4, R>(v1: SubscribableOrPromise<T>, v2: SubscribableOrPromise<T2>, v3: SubscribableOrPromise<T3>, v4: SubscribableOrPromise<T4>, project: (v1: T, v2: T2, v3: T3, v4: T4) => R): Observable<R>;

0 commit comments

Comments
 (0)