UNPKG

khamba

Version:

A cli tool for sharing files through local network.

36 lines (35 loc) 1.25 kB
import { deepMap } from 'nanostores'; export const $discoveredPeers = deepMap({}); export const addDiscoveredPeer = (newPeer) => { const currDiscoveredPeers = $discoveredPeers.get(); if (currDiscoveredPeers[newPeer.id]) { return false; } $discoveredPeers.set({ ...currDiscoveredPeers, [newPeer.id]: newPeer }); return true; }; export const removeDiscoveredPeer = (id) => { const currDiscoveredPeers = $discoveredPeers.get(); if (currDiscoveredPeers.hasOwnProperty(id)) { const updatedPeers = { ...currDiscoveredPeers }; delete updatedPeers[id]; $discoveredPeers.set(updatedPeers); } }; export const $connectedPeers = deepMap({}); export const addConnectedPeer = (newPeer) => { const currConnectedPeers = $connectedPeers.get(); if (currConnectedPeers[newPeer.id]) { return false; } $connectedPeers.set({ ...currConnectedPeers, [newPeer.id]: newPeer }); return true; }; export const removeConnectedPeer = (id) => { const currConnectedPeers = $connectedPeers.get(); if (currConnectedPeers.hasOwnProperty(id)) { const updatedPeers = { ...currConnectedPeers }; delete updatedPeers[id]; $connectedPeers.set(updatedPeers); } };