1.0.5 • Published 6 years ago

an-lru-cache v1.0.5

Weekly downloads
123
License
Apache-2.0
Repository
github
Last release
6 years ago

ES6 LRU Cache

A simple LRU Cache, a Map that has a maximum number of entries and which discards the least recently used items first.

To install

$ npm install an-lru-cache

Coverage Status Build Status Dependencies Status npm

API

The API mirrors the builtin Map and WeakMap APIs but does not include iterators.

const { LruCache } = require('an-lru-cache')

const myCache = new LruCache()  // Default capacity is 100

function foo(key, value) {
  myCache.set(key, value)
  // ...
  return myCache.get(key)
}

function bar(key) {
  if (myCache.has(key)) {
    // ...
  }
  myCache.delete(key)
}

.set(key, value)

Associates value with key so that .get(key) returns value until a subsequent .set or .delete with the same key or eviction.

.get(key, fallbackValue=undefined)

Returns the value associated with key, or the fallbackValue if supplied.

Gets may return the fallbackValue even if there was a value associated with key if that entry was evicted to ensure that the number of entries did not exceed the maximum allowed.

.delete(key, fallbackValue=undefined)

Deletes any entry for the given key returning the previously associated value if present or fallbackValue otherwise.

.has(key)

True iff there is a value associated with key.