@daveyplate/supabase-swr-entities
Version:
An entity management library for Supabase and SWR
26 lines (25 loc) • 1.12 kB
TypeScript
import { DataConnection } from "peerjs";
export interface PeersResult {
peers: any[];
sendData: (data: any, connections?: DataConnection[]) => void;
connections: import("peerjs").DataConnection[];
isOnline: (userId: string) => boolean;
getPeer: (connection: import("peerjs").DataConnection) => any;
getConnectionsForUser: (userId: string) => DataConnection[];
}
interface UsePeersOptions {
enabled?: boolean;
onData?: (data: any, connection: DataConnection, peer: any) => void | null;
room?: string | null;
allowedUsers?: string[];
}
/**
* Peer Connections hook
* @param {UsePeersOptions} options - The hook options
* @param {boolean} [options.enabled=true] - Is the hook enabled
* @param {(data: any, connection: import("peerjs").DataConnection, peer: Peer) => void} [options.onData=null] - The data handler
* @param {string} [options.room=null] - The room to connect to
* @param {string[]} [options.allowedUsers=["*"]] - The users allowed to send data to
*/
export declare function usePeers({ enabled, onData, room, allowedUsers }: UsePeersOptions): PeersResult;
export {};