UNPKG

@wallet-ui/core

Version:
107 lines (100 loc) 2.64 kB
'use strict'; var persistent = require('@nanostores/persistent'); var nanostores = require('nanostores'); // src/clusters.ts function createSolanaCluster(props, { id, label, url }) { if (typeof props === "string") { return { id, label, url: props }; } return { id, label: props.label ?? label, url: props.url ?? url }; } function createSolanaDevnet(props = {}) { return createSolanaCluster(props, { id: "solana:devnet", label: "Devnet", url: "devnet" }); } function createSolanaLocalnet(props = {}) { return createSolanaCluster(props, { id: "solana:localnet", label: "Localnet", url: "localnet" }); } function createSolanaMainnet(props = {}) { return createSolanaCluster(props, { id: "solana:mainnet", label: "Mainnet", url: "mainnet" }); } function createSolanaTestnet(props = {}) { return createSolanaCluster(props, { id: "solana:testnet", label: "Testnet", url: "testnet" }); } var Storage = class { constructor(key, initial) { this.key = key; this.initial = initial; this.atom = persistent.persistentAtom(key, initial, { decode: JSON.parse, encode: JSON.stringify }); } atom; get() { return this.atom.get(); } set(value) { this.atom.set(value); } get value() { return nanostores.computed(this.atom, (value) => value); } }; // src/create-storage.ts function createStorage({ initial, key }) { return new Storage(key, initial); } // src/create-storage-account.ts function createStorageAccount({ initial, key } = {}) { return createStorage({ initial, key: key ?? "wallet-ui:account" }); } // src/create-storage-cluster.ts function createStorageCluster({ initial, key } = {}) { return createStorage({ initial: initial ?? "solana:devnet", key: key ?? "wallet-ui:cluster" }); } // src/handle-copy-text.ts function handleCopyText(text) { if (!text) { return; } if (typeof globalThis === "undefined" || !globalThis.navigator || !globalThis.navigator.clipboard || !globalThis.navigator.clipboard.writeText) { return; } void globalThis.navigator.clipboard.writeText(text); } exports.Storage = Storage; exports.createSolanaDevnet = createSolanaDevnet; exports.createSolanaLocalnet = createSolanaLocalnet; exports.createSolanaMainnet = createSolanaMainnet; exports.createSolanaTestnet = createSolanaTestnet; exports.createStorage = createStorage; exports.createStorageAccount = createStorageAccount; exports.createStorageCluster = createStorageCluster; exports.handleCopyText = handleCopyText; //# sourceMappingURL=index.node.cjs.map //# sourceMappingURL=index.node.cjs.map