grid-apps-cmms/src2/data/local.js

41 lines
798 B
JavaScript
Raw Normal View History

2025-06-14 22:30:27 -04:00
/** Copyright Stewart Allen <sa@grid.space> -- All Rights Reserved */
2025-07-04 22:18:18 -04:00
class Local {
__data__ = {};
__mem__ = true;
getItem(key) {
return this[key];
}
setItem(key, val) {
this.__data__[key] = val;
this[key] = val;
}
removeItem(key) {
delete this.__data__[key];
}
clear() {
this.__data__ = {};
}
2025-06-14 22:30:27 -04:00
}
2025-07-04 22:18:18 -04:00
let setLocal;
2025-06-14 22:30:27 -04:00
try {
// deprecate 'Local' at some point
2025-07-04 22:18:18 -04:00
setLocal = self.localStorage;
2025-06-14 22:30:27 -04:00
let testkey = '__test';
2025-07-04 22:18:18 -04:00
setLocal.setItem(testkey, 1);
setLocal.getItem(testkey);
setLocal.removeItem(testkey);
2025-06-14 22:30:27 -04:00
} catch (e) {
2025-07-04 22:18:18 -04:00
setLocal = new Local();
2025-06-14 22:30:27 -04:00
let msg = "localStorage disabled: application may not function properly";
console.log(msg);
// alert(msg);
}
2025-07-04 22:18:18 -04:00
export const local = setLocal;