From a662271d0c5701c0d14789bb143a0fa04d45cbe7 Mon Sep 17 00:00:00 2001 From: Sasha Date: Tue, 28 Feb 2023 01:08:53 +0100 Subject: [PATCH] delete usePeers: --- src/index.ts | 1 - src/usePeers.ts | 71 ------------------------------------------------- 2 files changed, 72 deletions(-) delete mode 100644 src/usePeers.ts diff --git a/src/index.ts b/src/index.ts index 5a476a5..7266f14 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,6 +4,5 @@ export { useCreateContentPair } from "./useCreateContentPair"; export { useCreateLightNode } from "./useCreateWaku"; export { useFilterMessages } from "./useFilterMessages"; export { useLightPush } from "./useLightPush"; -export { usePeers } from "./usePeers"; export { useStoreMessages } from "./useStoreMessages"; export { LightNodeProvider, useWaku } from "./WakuProvider"; diff --git a/src/usePeers.ts b/src/usePeers.ts deleted file mode 100644 index 79da3ac..0000000 --- a/src/usePeers.ts +++ /dev/null @@ -1,71 +0,0 @@ -import React from "react"; -import type { - Peer, - PeerProtocolsChangeData, -} from "@libp2p/interface-peer-store"; -import type { Waku } from "@waku/interfaces"; - -type UsePeersParams = { - node: undefined | Waku; -}; - -type UsePeersResults = { - storePeers?: undefined | Peer[]; - filterPeers?: undefined | Peer[]; - lightPushPeers?: undefined | Peer[]; - peerExchangePeers?: undefined | Peer[]; -}; - -/** - * Hook returns map of peers for different protocols. - * If protocol is not implemented on the node peers are undefined. - * @example - * const { storePeers } = usePeers({ node }); - * @param {Waku} params.node - Waku node, if not set then no peers will be returned - * @returns {Object} map of peers, if some of the protocols is not implemented then undefined - */ -export const usePeers = (params: UsePeersParams): UsePeersResults => { - const { node } = params; - const [peers, setPeers] = React.useState({}); - - React.useEffect(() => { - if (!node) { - return; - } - - const listener = async (_event: CustomEvent) => { - const peers = await Promise.all([ - handleCatch(node?.store?.peers()), - handleCatch(node?.filter?.peers()), - handleCatch(node?.lightPush?.peers()), - handleCatch(node?.peerExchange?.peers()), - ]); - - setPeers({ - storePeers: peers[0], - filterPeers: peers[1], - lightPushPeers: peers[2], - peerExchangePeers: peers[3], - }); - }; - - node.libp2p.peerStore.addEventListener("change:protocols", listener); - - return () => { - node.libp2p.peerStore.removeEventListener("change:protocols", listener); - }; - }, [node, setPeers]); - - return peers; -}; - -// TODO: handle error in case fetching of peers failed -function handleCatch(promise?: Promise): Promise { - if (!promise) { - return Promise.resolve(undefined); - } - - return promise.catch((_) => { - return undefined; - }); -}