UNPKG

rxjs

Version:

Reactive Extensions for modern JavaScript

34 lines 1.05 kB
import { OuterSubscriber } from '../OuterSubscriber'; import { subscribeToResult } from '../util/subscribeToResult'; export function skipUntil(notifier) { return (source) => source.lift(new SkipUntilOperator(notifier)); } class SkipUntilOperator { constructor(notifier) { this.notifier = notifier; } call(destination, source) { return source.subscribe(new SkipUntilSubscriber(destination, this.notifier)); } } class SkipUntilSubscriber extends OuterSubscriber { constructor(destination, notifier) { super(destination); this.hasValue = false; this.add(this.innerSubscription = subscribeToResult(this, notifier)); } _next(value) { if (this.hasValue) { super._next(value); } } notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { this.hasValue = true; if (this.innerSubscription) { this.innerSubscription.unsubscribe(); } } notifyComplete() { } } //# sourceMappingURL=skipUntil.js.map