UNPKG

@splitsoftware/splitio-commons

Version:
19 lines (18 loc) 678 B
"use strict"; 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;