Browse Source

Add ttl functionality

emp
Luke Childs 7 years ago
committed by Jytesh
parent
commit
5047875016
  1. 17
      packages/keyv/src/index.js

17
packages/keyv/src/index.js

@ -6,11 +6,22 @@ class Keyv {
}
get(key) {
return Promise.resolve(this.store.get(key));
return Promise.resolve(this.store.get(key)).then(data => {
if (!data) {
return undefined;
}
if (Date.now() > data.expires) {
this.delete(key);
return undefined;
}
return data.value;
});
}
set(key, value) {
return Promise.resolve(this.store.set(key, value)).then(() => value);
set(key, value, ttl) {
const expires = (typeof ttl === 'number') ? (Date.now() + ttl) : undefined;
const data = { value, expires };
return Promise.resolve(this.store.set(key, data)).then(() => value);
}
delete(key) {

Loading…
Cancel
Save