UNPKG

peadb

Version:

"Pea sized JavaScript DB: wrapper for browser storage APIs"

46 lines 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class SessionDB { constructor(dataKey) { this.dbKey = null; this.storage = window.localStorage; this.dbKey = dataKey ? dataKey.toString() : Date.now().toString(36); } get(key) { let objArray = JSON.parse(this.storage.getItem(this.dbKey)); return objArray.find((item) => item.key == key); } getAll() { let dbValues = JSON.parse(this.storage.getItem(this.dbKey)) || []; let values = [...dbValues]; return values; } set(key, value) { let prevDbValues = JSON.parse(this.storage.getItem(this.dbKey)) || []; let newDbValues = [ ...prevDbValues, { key: key, value: value ? typeof value == "object" ? value : value.toString() : "", }, ]; this.storage.setItem(this.dbKey, JSON.stringify(newDbValues)); } delete(key) { let prevDbValues = JSON.parse(this.storage.getItem(this.dbKey)) || []; let filteredDbValues = prevDbValues.filter((item) => item.key !== key); this.storage.setItem(this.dbKey, JSON.stringify(filteredDbValues)); } deleteAll() { this.storage.setItem(this.dbKey, null); } nukeDB() { this.storage.removeItem(this.dbKey); } } exports.default = SessionDB; //# sourceMappingURL=localdb.js.map