"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sample = void 0; var lift_1 = require("../util/lift"); var noop_1 = require("../util/noop"); var OperatorSubscriber_1 = require("./OperatorSubscriber"); function sample(notifier) { return lift_1.operate(function (source, subscriber) { var hasValue = false; var lastValue = null; source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { hasValue = true; lastValue = value; })); notifier.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () { if (hasValue) { hasValue = false; var value = lastValue; lastValue = null; subscriber.next(value); } }, noop_1.noop)); }); } exports.sample = sample; //# sourceMappingURL=sample.js.map