diff options
| author | Adam Soltys <[email protected]> | 2023-12-01 20:04:13 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-12-01 20:04:13 -0800 |
| commit | 216a600224fde22ce76b367557a02094ec693886 (patch) | |
| tree | d1189bbaa39db204633523132a7d4767b952717d /src/lib/socket.js | |
| parent | 7d9bc1f54dfd04172e8d6d43ebc2efd6f407e833 (diff) | |
| download | coinos-ui-216a600224fde22ce76b367557a02094ec693886.tar.gz coinos-ui-216a600224fde22ce76b367557a02094ec693886.zip | |
prettier
Diffstat (limited to 'src/lib/socket.js')
| -rw-r--r-- | src/lib/socket.js | 114 |
1 files changed, 61 insertions, 53 deletions
diff --git a/src/lib/socket.js b/src/lib/socket.js index 96fde317..d51ab39b 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -1,50 +1,58 @@ -import { get } from 'svelte/store'; -import { event, invoice, request, newPayment, last, rate, user } from '$lib/store'; -import { success, sat } from '$lib/utils'; -import { PUBLIC_SOCKET } from '$env/static/public'; -import { invalidate } from '$app/navigation'; -import { browser } from '$app/environment'; +import { get } from "svelte/store"; +import { + event, + invoice, + request, + newPayment, + last, + rate, + user, +} from "$lib/store"; +import { success, sat } from "$lib/utils"; +import { PUBLIC_SOCKET } from "$env/static/public"; +import { invalidate } from "$app/navigation"; +import { browser } from "$app/environment"; let socket, token; -export const auth = () => token && send('login', token); +export const auth = () => token && send("login", token); export const send = (type, data) => { - socket?.readyState === 1 && socket.send(JSON.stringify({ type, data })); - return true; + socket?.readyState === 1 && socket.send(JSON.stringify({ type, data })); + return true; }; export const messages = (data) => ({ - id() { - last.set(Date.now()); - }, - invoice() { - invoice.set(data); - }, - event() { - event.set(data); - }, - rate() { - rate.set(data); - }, + id() { + last.set(Date.now()); + }, + invoice() { + invoice.set(data); + }, + event() { + event.set(data); + }, + rate() { + rate.set(data); + }, - request() { - request.set(data); - invalidate('app:invoice'); - }, + request() { + request.set(data); + invalidate("app:invoice"); + }, - async payment() { - let { amount, confirmed } = data; - invalidate('app:user'); - invalidate('app:invoice'); - invalidate('app:payments'); + async payment() { + let { amount, confirmed } = data; + invalidate("app:user"); + invalidate("app:invoice"); + invalidate("app:payments"); - if (amount > 0) { - success(`${confirmed ? 'Received' : 'Detected'} ${sat(amount)}!`); - } - }, + if (amount > 0) { + success(`${confirmed ? "Received" : "Detected"} ${sat(amount)}!`); + } + }, - connected: auth + connected: auth, }); const initialReconnectDelay = 1000; @@ -53,39 +61,39 @@ const maxReconnectDelay = 16000; let currentReconnectDelay = initialReconnectDelay; export function connect(t) { - token = t; + token = t; - if (socket) return auth(); + if (socket) return auth(); - socket = new WebSocket(PUBLIC_SOCKET); - socket.addEventListener('open', onWebsocketOpen); - socket.addEventListener('close', onWebsocketClose); - socket.addEventListener('message', onWebsocketMessage); + socket = new WebSocket(PUBLIC_SOCKET); + socket.addEventListener("open", onWebsocketOpen); + socket.addEventListener("close", onWebsocketClose); + socket.addEventListener("message", onWebsocketMessage); } export function close() { - if (socket) socket.close(); + if (socket) socket.close(); } function onWebsocketMessage(msg) { - let { type, data } = JSON.parse(msg.data); - messages(data)[type] && messages(data)[type](); + let { type, data } = JSON.parse(msg.data); + messages(data)[type] && messages(data)[type](); } function onWebsocketOpen() { - currentReconnectDelay = initialReconnectDelay; + currentReconnectDelay = initialReconnectDelay; } function onWebsocketClose() { - socket = null; - setTimeout(() => { - reconnectToWebsocket(); - }, currentReconnectDelay + Math.floor(Math.random() * 3000)); + socket = null; + setTimeout(() => { + reconnectToWebsocket(); + }, currentReconnectDelay + Math.floor(Math.random() * 3000)); } function reconnectToWebsocket() { - if (currentReconnectDelay < maxReconnectDelay) { - currentReconnectDelay *= 2; - } - connect(token); + if (currentReconnectDelay < maxReconnectDelay) { + currentReconnectDelay *= 2; + } + connect(token); } |
