@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
19 lines (18 loc) • 678 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImpressionObserver = void 0;
var LRUCache_1 = require("../../utils/LRUCache");
var ImpressionObserver = /** @class */ (function () {
function ImpressionObserver(size, hasher) {
this.cache = new LRUCache_1.LRUCache(size);
this.hasher = hasher;
}
ImpressionObserver.prototype.testAndSet = function (impression) {
var hash = this.hasher(impression);
var previous = this.cache.get(hash);
this.cache.set(hash, impression.time);
return previous;
};
return ImpressionObserver;
}());
exports.ImpressionObserver = ImpressionObserver;