Socket
Socket
Sign inDemoInstall

kitten-cache

Package Overview
Dependencies
0
Maintainers
2
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.0 to 0.3.0

73

index.js

@@ -40,4 +40,2 @@ const MAX_8BIT_INTEGER = Math.pow(2, 8) - 1;

this.availablePointers = new Array();
this.head = 0;

@@ -50,5 +48,2 @@ this.tail = 0;

Cache.prototype._moveToTheTop = function (pointer) {
var _next = this.nexts[pointer];
var _prev = this.prevs[pointer];
if (this.head === pointer) {

@@ -58,15 +53,28 @@ return;

var _next = this.nexts[pointer];
var _prev = this.prevs[pointer];
var _head = this.head;
if (pointer === this.tail) {
this.tail = _prev;
}
else {
this.prevs[_next] = _prev;
}
this.nexts[pointer] = this.head;
this.prevs[pointer] = pointer;
this.nexts[_prev] = _next;
this.prevs[_next] = _prev;
this.prevs[this.head] = pointer;
this.head = pointer;
this.head = pointer;
this.nexts[pointer] = _head;
}
Cache.prototype._notify = function (pointer) {
if (!this.callback) {
return true;
}
this.callback(this.keys[pointer], this.values[pointer]);
}
/**

@@ -86,26 +94,5 @@ * Delete a key

var _next = this.nexts[pointer];
var _prev = this.prevs[pointer];
this.nexts[_prev] = _next;
if (pointer === this.tail) {
this.tail = _prev;
}
else {
this.prevs[_next] = _prev;
if (pointer === this.head) {
this.head = _next;
}
}
delete this.items[this.keys[pointer]];
this.length--;
this.availablePointers.push(pointer);
if (!this.callback) {
return true;
}
this.callback(this.keys[pointer], this.values[pointer]);
this._notify(pointer);
this.keys[pointer] = null;
}

@@ -129,10 +116,8 @@

_pointer = this.length++;
if(this.availablePointers.length) {
_pointer = this.availablePointers.shift();
}
}
else {
_pointer = this.tail;
this.delete(_pointer, true);
_pointer = this.tail;
this.tail = this.prevs[_pointer];
this._notify(_pointer);
delete this.items[this.keys[_pointer]];
}

@@ -159,6 +144,8 @@

while (_pointer >= 0) {
_entries.push({
key : this.keys[_pointer],
value : this.values[_pointer]
});
if (this.keys[_pointer] !== null) {
_entries.push({
key : this.keys[_pointer],
value : this.values[_pointer]
});
}

@@ -165,0 +152,0 @@ _lastPointer = _pointer;

{
"name": "kitten-cache",
"version": "0.2.0",
"version": "0.3.0",
"description": "",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -68,2 +68,35 @@ const should = require('should');

]);
should(lru.get('a')).eql(undefined);
should(lru.get('b')).eql(2);
should(lru.get('c')).eql(3);
should(lru.entries()).eql([
{
key : 'c',
value : 3
},
{
key : 'b',
value : 2
}
]);
lru.set('d', 4);
should(lru.get('b')).eql(undefined);
should(lru.get('d')).eql(4);
lru.delete('c');
should(lru.get('c')).eql(undefined);
should(lru.get('c')).eql(undefined);
should(lru.get('d')).eql(4);
should(lru.entries()).eql([
{
key : 'd',
value : 4
}
]);
});

@@ -93,2 +126,4 @@

]);
should(lru.get('a')).eql(undefined);
});

@@ -444,3 +479,3 @@

lru.delete('b');
lru.set('d', 4)
lru.set('d', 4);
should(lru.entries()).eql([

@@ -447,0 +482,0 @@ { key : 'd', value : 4 },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc