@kangfenmao/keyv-storage
Version:
Simple key-value storage with support for multiple backends
43 lines (42 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
class LocalStorage {
init() {
//
}
get(key) {
let value = localStorage.getItem(key);
if ((0, utils_1.isJSON)(value)) {
value = JSON.parse(value);
}
return value;
}
set(key, value) {
if (!key)
return handleError('set', 'a key');
if (typeof value === 'object') {
value = JSON.stringify(value);
}
localStorage.setItem(key, value);
return true;
}
remove(key) {
if (!key)
return handleError('remove', 'a key');
localStorage.removeItem(key);
return true;
}
getAllKeys() {
return Object.keys(localStorage);
}
clearAll() {
localStorage.clear();
}
}
function handleError(func, param) {
const message = param ? `${func}() requires at least ${param} as its first parameter.` : func;
console.warn(message);
return false;
}
exports.default = LocalStorage;