-import { OuterSubscriber } from '../OuterSubscriber';
-import { subscribeToResult } from '../util/subscribeToResult';
+import { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';
export function takeUntil(notifier) {
return (source) => source.lift(new TakeUntilOperator(notifier));
}
}
call(subscriber, source) {
const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);
- const notifierSubscription = subscribeToResult(takeUntilSubscriber, this.notifier);
+ const notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));
if (notifierSubscription && !takeUntilSubscriber.seenValue) {
takeUntilSubscriber.add(notifierSubscription);
return source.subscribe(takeUntilSubscriber);
return takeUntilSubscriber;
}
}
-class TakeUntilSubscriber extends OuterSubscriber {
+class TakeUntilSubscriber extends SimpleOuterSubscriber {
constructor(destination) {
super(destination);
this.seenValue = false;
}
- notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {
+ notifyNext() {
this.seenValue = true;
this.complete();
}