socket.io-react-hooks-advanced
Version:
A modular and extensible React + Socket.IO hook library designed for real-world applications. Supports namespaced sockets, reconnection strategies, offline queues, latency monitoring, middleware, encryption, and more.
20 lines (19 loc) • 948 B
TypeScript
import { Socket } from "socket.io-client";
export interface SocketContextType {
socket: Socket | null;
connected: boolean;
setAuthToken?: (token: string) => void;
addEmitMiddleware?: (middleware: EmitMiddleware) => string;
addOnMiddleware?: (middleware: OnMiddleware) => string;
removeMiddleware?: (id: string) => void;
emitWithQueue?: (event: string, data: any, ack?: (...args: any[]) => void) => void;
queueLength?: number;
flushCount?: number;
latency?: number;
latencyHistory?: number[];
onLatencyUpdate?: (callback: (latency: number) => void) => void;
}
export type EmitMiddleware = (event: string, data: any, next: (event: string, data: any) => void) => void;
export type OnMiddleware = (event: string, data: any, next: (data: any) => void) => void;
export declare const SocketContext: import("react").Context<SocketContextType>;
export declare const useSocketContext: () => SocketContextType;