first commit
This commit is contained in:
45
node_modules/tailwind-merge/dist/lib/lru-cache.mjs
generated
vendored
Normal file
45
node_modules/tailwind-merge/dist/lib/lru-cache.mjs
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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
|
||||
Reference in New Issue
Block a user