import { ObservableInput } from '../types'; import { Subscription } from '../Subscription'; import { InnerSubscriber } from '../InnerSubscriber'; import { OuterSubscriber } from '../OuterSubscriber'; import { Subscriber } from '../Subscriber'; import { subscribeTo } from './subscribeTo'; export function subscribeToResult( outerSubscriber: OuterSubscriber, result: any, outerValue?: T, outerIndex?: number, destination?: Subscriber ): Subscription; export function subscribeToResult( outerSubscriber: OuterSubscriber, result: any, outerValue?: T, outerIndex?: number, destination: Subscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex) ): Subscription | void { if (destination.closed) { return; } return subscribeTo(result)(destination); }