UNPKG

@broxus/tvm-connect

Version:

TypeScript SDK for connecting to Nekoton-compatible wallets using a unified interface.

38 lines (37 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isRecentConnectionMeta = isRecentConnectionMeta; exports.storeRecentConnectionMeta = storeRecentConnectionMeta; exports.getRecentConnectionMeta = getRecentConnectionMeta; const js_utils_1 = require("@broxus/js-utils"); const constants_1 = require("../constants"); const types_1 = require("../types"); function isRecentConnectionMeta(value) { const meta = { providerId: value.providerId, type: value.type }; return Boolean(meta.type && types_1.ConnectionType[meta.type] && !!meta.providerId); } function storeRecentConnectionMeta(meta, storageKey = constants_1.TVM_RECENT_CONNECTION) { if (!meta) { js_utils_1.storage.remove(storageKey); return; } (0, js_utils_1.debug)('Store TVM recent connection', meta); js_utils_1.storage.set(storageKey, JSON.stringify(meta)); } function getRecentConnectionMeta(storageKey = constants_1.TVM_RECENT_CONNECTION) { const value = js_utils_1.storage.get(storageKey); if (!value) { return undefined; } try { const json = JSON.parse(value); if (isRecentConnectionMeta(json)) { return json; } } catch (e) { (0, js_utils_1.debug)(e); } storeRecentConnectionMeta(undefined, storageKey); return undefined; }