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