kiper
Keep objects available everywhere in nodejs application

How to use
First you need to install kiper using npm:
npm install kiper --save
Then, use kiper in your project:
const kiper = require('kiper');
kiper.keep('foo', 'bar');
let value = kiper.get('foo');
console.log(value);
API Usage
Method: .keep(key: string, value: object)
Keep an object in kiper
Added in: v0.0.1
Alias: set
kiper.keep('foo', 'bar');
Method: .keep(key: string, value: object, ttl: int, timeout: function)
Keep an object for a period of time
Added in: v0.1.0
Alias: set
kiper.keep('foo', 'bar', 1000, console.log);
Method: .get(key: string)
Get an object from kiper
Added in: v0.0.1
kiper.get('foo');
Method: .get(validator: function)
Get an object from kiper by pass a validator function
Added in: v0.0.2
kiper.get((value, key) => value === 'bar');
Method: .remove(key: string)
Remove an object out of kiper
Added in: v0.1.0
kiper.remove('foo');
Method: .retire()
Stop interval checking, free memory and release objects
Added in: v0.1.0
kiper.retire();
Method: .touch(key)
Repair the last time usage
Added in: v1.0.0
kiper.touch('foo');
Method: .watch(key, callback)
Watch a key, if its value changes then a callback will be called
Added in: v1.0.0
let baz = kiper.keep('baz', {
gold: 1000
});
kiper.watch('baz', (obj, oldVal, propkey, type) => {
console.log('change info:', obj, oldVal, propkey, type);
});
baz.gold = 999
baz.silver = 1000
delete baz.gold
Method: .on(event, listener)
Listen an event which emit from kiper
Added in: v1.0.0
kiper.keep('foo', 'bar', 1000);
kiper.on('expired', (value, key) => {
console.log('A timeout on key has expired', value, key);
})
Method: .once(event, listener)
Listen an event once which emit from kiper
Added in: v1.0.0
kiper.keep('foo', 'bar', 1000);
kiper.once('expired', (value, key) => {
console.log('A timeout on key has expired', value, key);
})
License
MIT