1 /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */
2 import * as tslib_1 from "tslib";
3 import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';
4 export function sample(notifier) {
5 return function (source) { return source.lift(new SampleOperator(notifier)); };
7 var SampleOperator = /*@__PURE__*/ (function () {
8 function SampleOperator(notifier) {
9 this.notifier = notifier;
11 SampleOperator.prototype.call = function (subscriber, source) {
12 var sampleSubscriber = new SampleSubscriber(subscriber);
13 var subscription = source.subscribe(sampleSubscriber);
14 subscription.add(innerSubscribe(this.notifier, new SimpleInnerSubscriber(sampleSubscriber)));
17 return SampleOperator;
19 var SampleSubscriber = /*@__PURE__*/ (function (_super) {
20 tslib_1.__extends(SampleSubscriber, _super);
21 function SampleSubscriber() {
22 var _this = _super !== null && _super.apply(this, arguments) || this;
23 _this.hasValue = false;
26 SampleSubscriber.prototype._next = function (value) {
30 SampleSubscriber.prototype.notifyNext = function () {
33 SampleSubscriber.prototype.notifyComplete = function () {
36 SampleSubscriber.prototype.emitValue = function () {
38 this.hasValue = false;
39 this.destination.next(this.value);
42 return SampleSubscriber;
43 }(SimpleOuterSubscriber));
44 //# sourceMappingURL=sample.js.map