UNPKG

@kangfenmao/keyv-storage

Version:

Simple key-value storage with support for multiple backends

43 lines (42 loc) 1.08 kB
"use strict"; 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;