Package Exports
- tiny-lru
- tiny-lru/lib/tiny-lru
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (tiny-lru) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Tiny LRU
Least Recently Used cache for Client or Server.
const cache = lru(500);
Lodash provides a memoize
function with a cache that can be swapped out as long as it implements the right interface.
See the lodash docs for more on memoize
.
Example
_.memoize.Cache = lru().constructor;
const memoized = _.memoize(myFunc);
memoized.cache.max = 10;
clear
Method
Clears the contents of the cache
return {Object} LRU instance
Example
cache.clear();
evict
Method
Evicts the least recently used item from cache
return {Object} LRU instance
Example
cache.evict();
first
Property
Item in "first" or "top" position
Example
const cache = lru();
cache.first; // null - it's a new cache!
get
Method
Gets cached item and moves it to the front
param {String} key Item key
return {Mixed} Undefined or Item value
Example
const item = cache.get("myKey");
items
Property
Hash of cache items
Example
const cache = lru();
cache.items; // {}
max
Property
Max items to hold in cache (1000)
Example
const cache = lru(500);
cache.max; // 500
notify
Property
Executes onchange(eventName, serializedCache)
on the next tick when the cache changes
Example
const cache = lru();
cache.notify = true;
cache.onchange = (event, serializedCache) => {
console.log(event, serializedCache);
};
onchange
Method
Accepts eventName
& serializedCache
arguments
Example
const cache = lru();
cache.notify = true;
cache.onchange = (event, serializedCache) => {
console.log(event, serializedCache);
};
last
Property
Item in "last" or "bottom" position
Example
const cache = lru();
cache.last; // null - it's a new cache!
length
Property
Number of items in cache
Example
const cache = lru();
cache.length; // 0 - it's a new cache!
remove
Method
Removes item from cache
param {String} key Item key
return {Object} Item
Example
const staleItem = cache.remove("myKey");
set
Method
Sets item in cache as first
param {String} key Item key
param {Mixed} value Item value
return {Object} LRU instance
Example
cache.set("myKey", {prop: true});
License
Copyright (c) 2017 Jason Mulligan Licensed under the BSD-3 license.