Files
luos/resources/assets/js/components/tabs/expiringStorage.js
Henry Jordan 6b672eb21c PMCORE-2521
2020-12-08 19:12:30 +00:00

30 lines
669 B
JavaScript

class ExpiringStorage {
get(key) {
const cached = JSON.parse(
localStorage.getItem(key)
);
if (!cached) {
return null;
}
const expires = new Date(cached.expires);
if (expires < new Date()) {
localStorage.removeItem(key);
return null;
}
return cached.value;
}
set(key, value, lifeTimeInMinutes) {
const currentTime = new Date().getTime();
const expires = new Date(currentTime + lifeTimeInMinutes * 60000);
localStorage.setItem(key, JSON.stringify({ value, expires }));
}
}
export default new ExpiringStorage();