Skip to content

Commit

Permalink
chore: make subscribeToResult signatures safer
Browse files Browse the repository at this point in the history
  • Loading branch information
cartant committed Nov 27, 2019
1 parent a5f7abd commit 3c9cf99
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions src/internal/util/subscribeToResult.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,33 @@ import { Subscriber } from '../Subscriber';
import { subscribeTo } from './subscribeTo';
import { Observable } from '../Observable';

export function subscribeToResult<T, R>(
outerSubscriber: OuterSubscriber<T, R>,
result: any,
outerValue: undefined,
outerIndex: undefined,
innerSubscriber: InnerSubscriber<T, R>
): Subscription | undefined;

export function subscribeToResult<T, R>(
outerSubscriber: OuterSubscriber<T, R>,
result: any,
outerValue?: T,
outerIndex?: number
): Subscription | undefined;

export function subscribeToResult<T, R>(
outerSubscriber: OuterSubscriber<T, R>,
result: any,
outerValue?: T,
outerIndex?: number,
destination: Subscriber<R> = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)
innerSubscriber: Subscriber<R> = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)
): Subscription | undefined {
if (destination.closed) {
if (innerSubscriber.closed) {
return undefined;
}
if (result instanceof Observable) {
return result.subscribe(destination);
return result.subscribe(innerSubscriber);
}
return subscribeTo(result)(destination) as Subscription;
return subscribeTo(result)(innerSubscriber) as Subscription;
}

0 comments on commit 3c9cf99

Please sign in to comment.