Localstorage with Expiry
localStorageWithExpiry.setItem("foo", "bar", 1000);
console.log(localStorageWithExpiry.getItem("foo"));
// bar
setTimeout(() => {
console.log(localStorageWithExpiry.getItem("foo"));
}, 1500);
// null
window.localStorageWithExpiry = {
setItem(key, value, expiry) {
let object = {
value,
expiry: Date.now() + expiry,
};
localStorage.setItem(key, JSON.stringify(object));
},
getItem(key) {
const { value, expiry } = JSON.parse(localStorage.getItem(key));
if (Date.now() >= expiry) {
localStorage.removeItem(key);
return null;
}
return value;
},
removeItem(key) {
localStorage.removeItem(key);
},
clear() {
localStorage.clear();
},
};