1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-08-19 12:36:23 -07:00
gochan/frontend/js/storage.js

38 lines
No EOL
935 B
JavaScript

import { getCookie, setCookie } from "./cookies";
export function getStorageVal(key, defaultVal = "") {
if(localStorage == undefined)
return getCookie(key, defaultVal);
let val = localStorage.getItem(key);
if(val === null)
return defaultVal;
return val;
}
export function getBooleanStorageVal(key, defaultVal = false) {
let val = getStorageVal(key, defaultVal);
return val == true || val == "true";
}
export function getNumberStorageVal(key, defaultVal = 0) {
return Number.parseFloat(getStorageVal(key, defaultVal));
}
export function getJsonStorageVal(key, defaultVal) {
let val = defaultVal;
try {
val = JSON.parse(getStorageVal(key, defaultVal));
} catch(e) {
val = defaultVal;
}
return val;
}
export function setStorageVal(key, val, isJSON = false) {
let storeVal = isJSON?JSON.stringify(val):val;
if(localStorage == undefined)
setCookie(key, storeVal);
else
localStorage.setItem(key, storeVal);
}