123456789101112131415161718192021222324252627282930 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.LruMap = void 0;
- class LruMap extends Map {
- constructor(
- // 2^30 - 1 (a SMI in V8, for 32-bit platforms)
- limit = 1073741823) {
- super();
- this.limit = limit;
- }
- set(key, value) {
- super.delete(key);
- super.set(key, value);
- if (super.size > this.limit)
- super.delete(super.keys().next().value);
- return this;
- }
- get(key) {
- const value = super.get(key);
- if (value === void 0) {
- if (super.delete(key))
- super.set(key, value);
- return value;
- }
- super.delete(key);
- super.set(key, value);
- return value;
- }
- }
- exports.LruMap = LruMap;
|