From 3c9cf99897b050d55d8a7e8d4f67c0aee149a5f7 Mon Sep 17 00:00:00 2001 From: Nicholas Jamieson Date: Sun, 6 Oct 2019 07:23:20 +1000 Subject: [PATCH] chore: make subscribeToResult signatures safer --- src/internal/util/subscribeToResult.ts | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/internal/util/subscribeToResult.ts b/src/internal/util/subscribeToResult.ts index 270660e0ec..31368ce6c2 100644 --- a/src/internal/util/subscribeToResult.ts +++ b/src/internal/util/subscribeToResult.ts @@ -5,18 +5,33 @@ import { Subscriber } from '../Subscriber'; import { subscribeTo } from './subscribeTo'; import { Observable } from '../Observable'; +export function subscribeToResult( + outerSubscriber: OuterSubscriber, + result: any, + outerValue: undefined, + outerIndex: undefined, + innerSubscriber: InnerSubscriber +): Subscription | undefined; + +export function subscribeToResult( + outerSubscriber: OuterSubscriber, + result: any, + outerValue?: T, + outerIndex?: number +): Subscription | undefined; + export function subscribeToResult( outerSubscriber: OuterSubscriber, result: any, outerValue?: T, outerIndex?: number, - destination: Subscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex) + innerSubscriber: Subscriber = 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; }