// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance function createLruCache(maxCacheSize) { if (maxCacheSize < 1) { return { get: function get() { return undefined; }, set: function set() {} }; } var cacheSize = 0; var cache = new Map(); var previousCache = new Map(); function update(key, value) { cache.set(key, value); cacheSize++; if (cacheSize > maxCacheSize) { cacheSize = 0; previousCache = cache; cache = new Map(); } } return { get: function get(key) { var value = cache.get(key); if (value !== undefined) { return value; } if ((value = previousCache.get(key)) !== undefined) { update(key, value); return value; } }, set: function set(key, value) { if (cache.has(key)) { cache.set(key, value); } else { update(key, value); } } }; } export { createLruCache }; //# sourceMappingURL=lru-cache.mjs.map