🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

lru-cache

Package Overview
Dependencies
Maintainers
1
Versions
144
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lru-cache - npm Package Compare versions

Comparing version

to
2.1.0

13

lib/lru-cache.js

@@ -40,2 +40,4 @@ ;(function () { // closure for web browsers

var allowStale = options.stale || false
var maxAge = options.maxAge || null

@@ -147,2 +149,11 @@

this.has = function (key) {
if (!hOP(cache, key)) return false
var hit = cache[key]
if (maxAge && (Date.now() - hit.now > maxAge)) {
return false
}
return true
}
this.get = function (key) {

@@ -153,3 +164,3 @@ if (!hOP(cache, key)) return

this.del(key)
return
return allowStale ? hit.value : undefined
}

@@ -156,0 +167,0 @@ delete lruList[hit.lu]

2

package.json
{
"name": "lru-cache",
"description": "A cache object that deletes the least-recently-used items.",
"version": "2.0.4",
"version": "2.1.0",
"author": "Isaac Z. Schlueter <i@izs.me>",

@@ -6,0 +6,0 @@ "scripts": {

@@ -268,1 +268,35 @@ var test = require("tap").test

})
test("has()", function(t) {
var cache = new LRU({
max: 1,
maxAge: 10
})
cache.set('foo', 'bar')
t.equal(cache.has('foo'), true)
cache.set('blu', 'baz')
t.equal(cache.has('foo'), false)
t.equal(cache.has('blu'), true)
setTimeout(function() {
t.equal(cache.has('blu'), false)
t.end()
}, 15)
})
test("stale", function(t) {
var cache = new LRU({
maxAge: 10,
stale: true
})
cache.set('foo', 'bar')
t.equal(cache.get('foo'), 'bar')
t.equal(cache.has('foo'), true)
setTimeout(function() {
t.equal(cache.has('foo'), false)
t.equal(cache.get('foo'), 'bar')
t.equal(cache.get('foo'), undefined)
t.end()
}, 15)
})