@exabytellc/utils
Version:
EB react utils to make everything a little easier!
61 lines (57 loc) • 1.34 kB
JavaScript
import StorageHelper from "../_helpers/StorageHelper";
export default class SessionStorage extends StorageHelper {
static get enabled() {
return this.handleTryCatch({
n: "enabled",
k: 'SessionStorage',
f: false,
e: () => {
const key = `SessionStorage`;
sessionStorage.setItem(key, null);
sessionStorage.removeItem(key);
return true;
}
});
}
static get(name, { json = false } = {}) {
return this.handleTryCatch({
n: "get",
k: name,
e: () => {
let value = sessionStorage.getItem(name);
// parse
if (value && json) {
return JSON.parse(value);
}
return value;
}
});
}
static set(name, value, { json = false } = {}) {
return this.handleTryCatch({
n: "set",
k: name,
f: false,
e: () => {
// stringify
if (value && json) {
value = JSON.stringify(value);
}
// set
sessionStorage.setItem(name, value);
return true;
}
});
}
static del(name) {
return this.handleTryCatch({
n: "del",
k: name,
f: false,
e: () => {
sessionStorage.removeItem(name);
return true;
}
});
}
}