1 /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */
2 import * as tslib_1 from "tslib";
3 import { OuterSubscriber } from '../OuterSubscriber';
4 import { subscribeToResult } from '../util/subscribeToResult';
5 export function sample(notifier) {
6 return function (source) { return source.lift(new SampleOperator(notifier)); };
8 var SampleOperator = /*@__PURE__*/ (function () {
9 function SampleOperator(notifier) {
10 this.notifier = notifier;
12 SampleOperator.prototype.call = function (subscriber, source) {
13 var sampleSubscriber = new SampleSubscriber(subscriber);
14 var subscription = source.subscribe(sampleSubscriber);
15 subscription.add(subscribeToResult(sampleSubscriber, this.notifier));
18 return SampleOperator;
20 var SampleSubscriber = /*@__PURE__*/ (function (_super) {
21 tslib_1.__extends(SampleSubscriber, _super);
22 function SampleSubscriber() {
23 var _this = _super !== null && _super.apply(this, arguments) || this;
24 _this.hasValue = false;
27 SampleSubscriber.prototype._next = function (value) {
31 SampleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
34 SampleSubscriber.prototype.notifyComplete = function () {
37 SampleSubscriber.prototype.emitValue = function () {
39 this.hasValue = false;
40 this.destination.next(this.value);
43 return SampleSubscriber;
45 //# sourceMappingURL=sample.js.map