UNPKG

@kangfenmao/keyv-storage

Version:

Simple key-value storage with support for multiple backends

43 lines (42 loc) 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../utils"); class SessionStorage { init() { // } get(key) { let value = sessionStorage.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); } sessionStorage.setItem(key, value); return true; } remove(key) { if (!key) return handleError('remove', 'a key'); sessionStorage.removeItem(key); return true; } getAllKeys() { return Object.keys(sessionStorage); } clearAll() { sessionStorage.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 = SessionStorage;