@rocket.chat/fuselage 0.6.3-dev.432 → 0.6.3-dev.433

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4343,18 +4343,41 @@ var isCachedValue = function isCachedValue(cachedValue, arg, cache) {
4343
4343
  return cache.has(arg) && cache.get(arg) === cachedValue;
4344
4344
  };
4345
4345
 
4346
- var memoize = function memoize(fn) {
4346
+ var memoize = function memoize(fn, _options) {
4347
4347
  var cache = new Map();
4348
+ var cacheTimers = new Map();
4348
4349
 
4349
4350
  var memoized = function memoized(arg) {
4351
+ var cleanUp = function cleanUp() {
4352
+ cache.delete(arg);
4353
+ cacheTimers.delete(arg);
4354
+ };
4355
+
4350
4356
  var cachedValue = cache.get(arg);
4351
4357
 
4352
4358
  if (isCachedValue(cachedValue, arg, cache)) {
4359
+ var oldTimer = cacheTimers.get(arg);
4360
+
4361
+ if (oldTimer) {
4362
+ clearTimeout(oldTimer);
4363
+ }
4364
+
4365
+ if (_options) {
4366
+ var timer = setTimeout(cleanUp, _options.maxAge);
4367
+ cacheTimers.set(arg, timer);
4368
+ }
4369
+
4353
4370
  return cachedValue;
4354
4371
  }
4355
4372
 
4356
4373
  var result = fn.call(this, arg);
4357
4374
  cache.set(arg, result);
4375
+
4376
+ if (_options) {
4377
+ var timer = setTimeout(cleanUp, _options.maxAge);
4378
+ cacheTimers.set(arg, timer);
4379
+ }
4380
+
4358
4381
  return result;
4359
4382
  };
4360
4383
 
@@ -4362,11 +4385,8 @@ var memoize = function memoize(fn) {
4362
4385
  return memoized;
4363
4386
  };
4364
4387
  var clear = function clear(fn) {
4365
- var x = store.get(fn);
4366
-
4367
- if (x) {
4368
- x.clear();
4369
- }
4388
+ var cache = store.get(fn);
4389
+ cache === null || cache === void 0 ? void 0 : cache.clear();
4370
4390
  };
4371
4391
 
4372
4392
  /***/ }),