UNPKG

@attio/react-native-bottom-sheet-toolbox-dev-tools

Version:
43 lines (32 loc) 1.21 kB
import {useDevToolsPluginClient} from "expo/devtools" import React from "react" import {BOTTOM_SHEET_DEV_TOOLS} from "@attio/react-native-bottom-sheet-toolbox" export function useConnectClientToAdapter() { const client = useDevToolsPluginClient("react-native-bottom-sheet-toolbox") const isConnected = client?.isConnected() ?? false React.useEffect(() => { if (!client || !isConnected) return const removeAdapter = BOTTOM_SHEET_DEV_TOOLS.addAdapter({ sendMessage(method, parameters) { if (!client.isConnected()) { removeAdapter() return } client.sendMessage(method, parameters) }, addMessageListener(method, listener) { if (!client.isConnected()) { removeAdapter() return () => {} } const subscription = client.addMessageListener(method, listener) return () => { subscription.remove() } }, }) return () => { removeAdapter() } }, [client, isConnected]) }