nhb-toolbox
Version:
A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.
63 lines (62 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFromLocalStorage = getFromLocalStorage;
exports.saveToLocalStorage = saveToLocalStorage;
exports.removeFromLocalStorage = removeFromLocalStorage;
exports.getFromSessionStorage = getFromSessionStorage;
exports.saveToSessionStorage = saveToSessionStorage;
exports.removeFromSessionStorage = removeFromSessionStorage;
function getFromLocalStorage(key, deserialize) {
const deserializer = deserialize ?? JSON.parse;
try {
const item = localStorage.getItem(key);
return item ? deserializer(item) : null;
}
catch {
return null;
}
}
function saveToLocalStorage(key, value, serialize) {
const serializer = serialize ?? JSON.stringify;
try {
localStorage.setItem(key, serializer(value));
}
catch (error) {
console.error(`Error saving item with key "${key}" in local storage:`, error);
}
}
function removeFromLocalStorage(key) {
try {
localStorage.removeItem(key);
}
catch (error) {
console.error(`Error removing item with key "${key}" from local storage:`, error);
}
}
function getFromSessionStorage(key, deserialize) {
const deserializer = deserialize ?? JSON.parse;
try {
const item = sessionStorage.getItem(key);
return item ? deserializer(item) : null;
}
catch {
return null;
}
}
function saveToSessionStorage(key, value, serialize) {
const serializer = serialize ?? JSON.stringify;
try {
sessionStorage.setItem(key, serializer(value));
}
catch (error) {
console.error(`Error saving item with key "${key}" in session storage:`, error);
}
}
function removeFromSessionStorage(key) {
try {
sessionStorage.removeItem(key);
}
catch (error) {
console.error(`Error removing item with key "${key}" from session storage:`, error);
}
}