lru-queue

WebJar for lru-queue

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

lru-queue
Last Version

Last Version

0.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

lru-queue
WebJar for lru-queue
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/medikoo/lru-queue

Download lru-queue

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/lru-queue/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>lru-queue</artifactId>
    <version>0.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/lru-queue/
implementation 'org.webjars.npm:lru-queue:0.1.0'
// https://jarcasting.com/artifacts/org.webjars.npm/lru-queue/
implementation ("org.webjars.npm:lru-queue:0.1.0")
'org.webjars.npm:lru-queue:jar:0.1.0'
<dependency org="org.webjars.npm" name="lru-queue" rev="0.1.0">
  <artifact name="lru-queue" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='lru-queue', version='0.1.0')
)
libraryDependencies += "org.webjars.npm" % "lru-queue" % "0.1.0"
[org.webjars.npm/lru-queue "0.1.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : es5-ext jar [0.10.2,0.11)

Project Modules

There are no modules declared in this project.

Build status Windows status Transpilation status npm version

lru-queue

Size limited queue based on LRU algorithm

Originally derived from memoizee package.

It's low-level utility meant to be used internally within cache algorithms. It backs up max functionality in memoizee project.

Installation

$ npm install lru-queue

To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack

Usage

Create queue, and provide a limit

var lruQueue = require("lru-queue");
var queue = lruQueue(3); // limit size to 3

Each queue exposes three methods:

queue.hit(id)

Registers hit for given id (must be plain string).

queue.hit("raz"); // size: 1

If hit doesn't remove any old item from list it returns undefined, otherwise removed id is returned.

queue.hit("dwa"); // undefined, size: 2
queue.hit("trzy"); // undefined, size: 3 (at max)
queue.hit("raz"); // undefined, size: 3 (at max)
queue.hit("dwa"); // undefined, size: 3 (at max)
queue.hit("cztery"); // 'trzy', size: 3 (at max)

queue.delete(id);

id's can be cleared from queue externally

queue.delete("raz"); // size: 2
queue.delete("cztery"); // size: 1

queue.clear();

Resets the queue

queue.clear(); // size: 0

Tests

$ npm test

Versions

Version
0.1.0