nhb-toolbox
Version:
A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.
55 lines (54 loc) • 1.57 kB
JavaScript
export function getFromLocalStorage(key, deserialize) {
const deserializer = deserialize ?? JSON.parse;
try {
const item = localStorage.getItem(key);
return item ? deserializer(item) : null;
}
catch {
return null;
}
}
export 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);
}
}
export function removeFromLocalStorage(key) {
try {
localStorage.removeItem(key);
}
catch (error) {
console.error(`Error removing item with key "${key}" from local storage:`, error);
}
}
export function getFromSessionStorage(key, deserialize) {
const deserializer = deserialize ?? JSON.parse;
try {
const item = sessionStorage.getItem(key);
return item ? deserializer(item) : null;
}
catch {
return null;
}
}
export 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);
}
}
export function removeFromSessionStorage(key) {
try {
sessionStorage.removeItem(key);
}
catch (error) {
console.error(`Error removing item with key "${key}" from session storage:`, error);
}
}