Skip to content

oarevalo/JS-Object-Expire

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Javascript Object Expire

Time aware data structures.

For now Expiring Map is supported.

ExpiringMap

ExpiringMap is used when we want to store self-expiring objects.

Example

First we initialize object holder var map = new ExpiringMap();

Then we put two objects in it:

map.put("foo",{someNumber:321});
map.put("bar",{someString:"test string"});

and if within next 60 seconds we try to get key foo: map.get("foo");

//returns {someNumber:321}

if we wait longer than 60 seconds (default expire time)

map.get("foo");

//returns false

You can also specify default object timeout on init: var map = new ExpiringMap({defaultTimeout:20}); //in seconds

Or you can specify timeout for each key individually: map.put("foo",{someNumber:321}, 600); //expire key foo after 600 seconds

On Expire Callbacks

Also you can define callback for each key

map.put("foo",{someNumber:321}, 30, function(key, data){
    console.log("key "+key+" has expired, data was:");
    console.log(data);    
});

Callback will be executed when we call get method for this key again after expiration time map.get("foo");

//this will trigger callback on key foo

Or when we call getKeyList after expiration time map.getKeyList();

//this will trigger callbacks on all expired keys

About

Javascript Self-Expiring Objects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published