1 import { Subscription } from '../Subscription';
2 import { InnerSubscriber } from '../InnerSubscriber';
3 import { OuterSubscriber } from '../OuterSubscriber';
4 import { Subscriber } from '../Subscriber';
5 import { subscribeTo } from './subscribeTo';
6 import { Observable } from '../Observable';
8 export function subscribeToResult<T, R>(
9 outerSubscriber: OuterSubscriber<T, R>,
11 outerValue: undefined,
12 outerIndex: undefined,
13 innerSubscriber: InnerSubscriber<T, R>
14 ): Subscription | undefined;
16 export function subscribeToResult<T, R>(
17 outerSubscriber: OuterSubscriber<T, R>,
21 ): Subscription | undefined;
23 export function subscribeToResult<T, R>(
24 outerSubscriber: OuterSubscriber<T, R>,
28 innerSubscriber: Subscriber<R> = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)
29 ): Subscription | undefined {
30 if (innerSubscriber.closed) {
33 if (result instanceof Observable) {
34 return result.subscribe(innerSubscriber);
36 return subscribeTo(result)(innerSubscriber) as Subscription;