Comparing version 0.3.6 to 0.3.7
@@ -110,2 +110,7 @@ !function() { | ||
// add th ekeys iterator | ||
this.keys[Symbol.iterator] = keyIterator.bind(this); | ||
// set up ttl check | ||
@@ -380,28 +385,55 @@ setInterval(this._removeOutdatedNodes.bind(this), this.ttlCheckFrequency); | ||
/** | ||
* returns an ES6 iterator object | ||
* | ||
* @returns {Iterator} Iterator object | ||
*/ | ||
classDefinition[Symbol.iterator] = function() { | ||
var currentNode = this.removalStrategy === 'leastUsed' ? this.ageList.getFirstNode(true) : this.ttlList.getFirstNode(true); | ||
/** | ||
* returns an ES6 iterator object for all values | ||
* | ||
* @returns {Iterator} Iterator object | ||
*/ | ||
classDefinition[Symbol.iterator] = function() { | ||
var currentNode = this.removalStrategy === 'leastUsed' ? this.ageList.getFirstNode(true) : this.ttlList.getFirstNode(true); | ||
return { | ||
next: function() { | ||
var returnNode; | ||
return { | ||
next: function() { | ||
var returnNode; | ||
if (currentNode) { | ||
returnNode = currentNode; | ||
currentNode = currentNode.previousNode || null; | ||
if (currentNode) { | ||
returnNode = currentNode; | ||
currentNode = currentNode.previousNode || null; | ||
return {value: returnNode.value.value, done: false}; | ||
} | ||
else return {done: true}; | ||
} | ||
}; | ||
}; | ||
return {value: returnNode.value.value, done: false}; | ||
} | ||
else return {done: true}; | ||
} | ||
}; | ||
}; | ||
/** | ||
* returns an ES6 iterator object for all keys | ||
* | ||
* @returns {Iterator} Iterator object | ||
*/ | ||
keyIterator = function() { | ||
var currentNode = this.removalStrategy === 'leastUsed' ? this.ageList.getFirstNode(true) : this.ttlList.getFirstNode(true); | ||
return { | ||
next: function() { | ||
var returnNode; | ||
if (currentNode) { | ||
returnNode = currentNode; | ||
currentNode = currentNode.previousNode || null; | ||
return {value: returnNode.hash, done: false}; | ||
} | ||
else return {done: true}; | ||
} | ||
}; | ||
}; | ||
module.exports = new Class(classDefinition); | ||
}(); |
{ | ||
"name" : "cachd" | ||
, "description" : "A fast TTL Cache implementation" | ||
, "version" : "0.3.6" | ||
, "version" : "0.3.7" | ||
, "homepage" : "https://github.com/eventEmitter/cachd" | ||
@@ -19,3 +19,3 @@ , "author" : "Michael van der Weg <michael@joinbox.com> (http://joinbox.com/)" | ||
, "dependencies": { | ||
"ee-class" : "1.x.x" | ||
"ee-class" : "1.x" | ||
, "ee-log" : "0.3.x" | ||
@@ -22,0 +22,0 @@ , "ee-event-emitter" : "0.3.x" |
@@ -102,2 +102,3 @@ | ||
var list = [] | ||
, keys = [] | ||
, c; | ||
@@ -124,4 +125,6 @@ | ||
for (var val of c) list.push(val); | ||
for (var key of c.keys) keys.push(key); | ||
assert.deepEqual(list, ['a', 'e', 'd']); | ||
assert.deepEqual(keys, [1, 5, 4]); | ||
}); | ||
@@ -128,0 +131,0 @@ |
20330
412
Updatedee-class@1.x