UNPKG

@bigmi/client

Version:

Reactive primitives for Bitcoin apps.

42 lines (41 loc) 1.27 kB
//#region src/actions/disconnect.ts async function disconnect(config, parameters = {}) { let connector; if (parameters.connector) connector = parameters.connector; else { const { connections, current } = config.state; connector = connections.get(current)?.connector; } const connections = config.state.connections; if (connector) { await connector.disconnect(); connector.emitter.off("change", config._internal.events.change); connector.emitter.off("disconnect", config._internal.events.disconnect); connector.emitter.on("connect", config._internal.events.connect); connections.delete(connector.uid); } config.setState((x) => { if (connections.size === 0) return { ...x, connections: /* @__PURE__ */ new Map(), current: null, status: "disconnected" }; const nextConnection = connections.values().next().value; return { ...x, connections: new Map(connections), current: nextConnection.connector.uid }; }); { const current = config.state.current; if (!current) return; const connector = config.state.connections.get(current)?.connector; if (!connector) return; await config.storage?.setItem("recentConnectorId", connector.id); } } //#endregion export { disconnect }; //# sourceMappingURL=disconnect.js.map