UNPKG

@exodus/walletconnect-keyvaluestorage

Version:
35 lines (34 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.KeyValueStorage = void 0; const tslib_1 = require("tslib"); const walletconnect_safe_json_1 = require("@exodus/walletconnect-safe-json"); const localStorage_1 = tslib_1.__importDefault(require("./lib/localStorage")); const shared_1 = require("../shared"); class KeyValueStorage { constructor() { this.localStorage = localStorage_1.default; } async getKeys() { return Array.from(this.localStorage.mapping.keys()); } async getEntries() { const mapping = this.localStorage.mapping; return Array.from(mapping.entries()).map(shared_1.parseEntry); } async getItem(key) { const item = this.localStorage.getItem(key); if (item === null) { return undefined; } return (0, walletconnect_safe_json_1.safeJsonParse)(item); } async setItem(key, value) { this.localStorage.setItem(key, (0, walletconnect_safe_json_1.safeJsonStringify)(value)); } async removeItem(key) { this.localStorage.removeItem(key); } } exports.KeyValueStorage = KeyValueStorage; exports.default = KeyValueStorage;