Skip to content
This repository has been archived by the owner on Apr 4, 2019. It is now read-only.
/ lru-list Public archive

Storage-agnostic LRU list with async/multi-key operations

License

Notifications You must be signed in to change notification settings

codeactual/lru-list

Repository files navigation

lru-list

Storage-agnostic LRU list with async/multi-key operations.

Build Status

Example

var list = require('lru-list').create()

list.setOption('limit', 50)
    .setOption('set', function(pairs, cb) {
      // Write to storage ...
      cb(/* or Error() */);
    })
    .setOption('get', function(keys, cb) {
      // Read from storage ...
      cb(/* or Error() */, pairs);
    })
    .setOption('del', function(keys, cb) {
      // Write to storage ...
      cb(/* or Error() */);
    });

list.set(key, val, function setDone(err) { /* ... */ });
list.set(pairs, function setDone(err) { /* ... */ });
list.shift(function shiftDone(err) { /* ... */ });
list.get(keys, function getDone(err, val) { /* ... */ });
list.del(keys, function delDone(err) { /* ... */ });

See bindle for an example of using lru-list to handle QUOTA_EXCEEDED_ERR errors from localStorage.

Installation

npm install lru-list
component install codeactual/lru-list

API

Documentation

License

MIT

Based on js-lru (MIT).

Tests

Node

npm test

Browser via Karma

  • npm install karma
  • karma start
  • Browse http://localhost:9876/
  • make build && karma run

About

Storage-agnostic LRU list with async/multi-key operations

Resources

License

Stars

Watchers

Forks

Packages

No packages published