mirror of
				https://github.com/fooflington/selfdefined.git
				synced 2025-11-03 23:29:03 +00:00 
			
		
		
		
	update
This commit is contained in:
		
							
								
								
									
										89
									
								
								node_modules/rxjs/_esm5/operators/sample.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								node_modules/rxjs/_esm5/operators/sample.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,89 @@
 | 
			
		||||
/** PURE_IMPORTS_START .._OuterSubscriber,.._util_subscribeToResult PURE_IMPORTS_END */
 | 
			
		||||
var __extends = (this && this.__extends) || function (d, b) {
 | 
			
		||||
    for (var p in b)
 | 
			
		||||
        if (b.hasOwnProperty(p))
 | 
			
		||||
            d[p] = b[p];
 | 
			
		||||
    function __() { this.constructor = d; }
 | 
			
		||||
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
 | 
			
		||||
};
 | 
			
		||||
import { OuterSubscriber } from '../OuterSubscriber';
 | 
			
		||||
import { subscribeToResult } from '../util/subscribeToResult';
 | 
			
		||||
/**
 | 
			
		||||
 * Emits the most recently emitted value from the source Observable whenever
 | 
			
		||||
 * another Observable, the `notifier`, emits.
 | 
			
		||||
 *
 | 
			
		||||
 * <span class="informal">It's like {@link sampleTime}, but samples whenever
 | 
			
		||||
 * the `notifier` Observable emits something.</span>
 | 
			
		||||
 *
 | 
			
		||||
 * <img src="./img/sample.png" width="100%">
 | 
			
		||||
 *
 | 
			
		||||
 * Whenever the `notifier` Observable emits a value or completes, `sample`
 | 
			
		||||
 * looks at the source Observable and emits whichever value it has most recently
 | 
			
		||||
 * emitted since the previous sampling, unless the source has not emitted
 | 
			
		||||
 * anything since the previous sampling. The `notifier` is subscribed to as soon
 | 
			
		||||
 * as the output Observable is subscribed.
 | 
			
		||||
 *
 | 
			
		||||
 * @example <caption>On every click, sample the most recent "seconds" timer</caption>
 | 
			
		||||
 * var seconds = Rx.Observable.interval(1000);
 | 
			
		||||
 * var clicks = Rx.Observable.fromEvent(document, 'click');
 | 
			
		||||
 * var result = seconds.sample(clicks);
 | 
			
		||||
 * result.subscribe(x => console.log(x));
 | 
			
		||||
 *
 | 
			
		||||
 * @see {@link audit}
 | 
			
		||||
 * @see {@link debounce}
 | 
			
		||||
 * @see {@link sampleTime}
 | 
			
		||||
 * @see {@link throttle}
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Observable<any>} notifier The Observable to use for sampling the
 | 
			
		||||
 * source Observable.
 | 
			
		||||
 * @return {Observable<T>} An Observable that emits the results of sampling the
 | 
			
		||||
 * values emitted by the source Observable whenever the notifier Observable
 | 
			
		||||
 * emits value or completes.
 | 
			
		||||
 * @method sample
 | 
			
		||||
 * @owner Observable
 | 
			
		||||
 */
 | 
			
		||||
export function sample(notifier) {
 | 
			
		||||
    return function (source) { return source.lift(new SampleOperator(notifier)); };
 | 
			
		||||
}
 | 
			
		||||
var SampleOperator = /*@__PURE__*/ (/*@__PURE__*/ function () {
 | 
			
		||||
    function SampleOperator(notifier) {
 | 
			
		||||
        this.notifier = notifier;
 | 
			
		||||
    }
 | 
			
		||||
    SampleOperator.prototype.call = function (subscriber, source) {
 | 
			
		||||
        var sampleSubscriber = new SampleSubscriber(subscriber);
 | 
			
		||||
        var subscription = source.subscribe(sampleSubscriber);
 | 
			
		||||
        subscription.add(subscribeToResult(sampleSubscriber, this.notifier));
 | 
			
		||||
        return subscription;
 | 
			
		||||
    };
 | 
			
		||||
    return SampleOperator;
 | 
			
		||||
}());
 | 
			
		||||
/**
 | 
			
		||||
 * We need this JSDoc comment for affecting ESDoc.
 | 
			
		||||
 * @ignore
 | 
			
		||||
 * @extends {Ignored}
 | 
			
		||||
 */
 | 
			
		||||
var SampleSubscriber = /*@__PURE__*/ (/*@__PURE__*/ function (_super) {
 | 
			
		||||
    __extends(SampleSubscriber, _super);
 | 
			
		||||
    function SampleSubscriber() {
 | 
			
		||||
        _super.apply(this, arguments);
 | 
			
		||||
        this.hasValue = false;
 | 
			
		||||
    }
 | 
			
		||||
    SampleSubscriber.prototype._next = function (value) {
 | 
			
		||||
        this.value = value;
 | 
			
		||||
        this.hasValue = true;
 | 
			
		||||
    };
 | 
			
		||||
    SampleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
 | 
			
		||||
        this.emitValue();
 | 
			
		||||
    };
 | 
			
		||||
    SampleSubscriber.prototype.notifyComplete = function () {
 | 
			
		||||
        this.emitValue();
 | 
			
		||||
    };
 | 
			
		||||
    SampleSubscriber.prototype.emitValue = function () {
 | 
			
		||||
        if (this.hasValue) {
 | 
			
		||||
            this.hasValue = false;
 | 
			
		||||
            this.destination.next(this.value);
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    return SampleSubscriber;
 | 
			
		||||
}(OuterSubscriber));
 | 
			
		||||
//# sourceMappingURL=sample.js.map
 | 
			
		||||
		Reference in New Issue
	
	Block a user