UNPKG

plug-n-play-ws

Version:

A plug-and-play WebSocket layer on top of Socket.IO with full TypeScript support, zero manual wiring, and production-ready features

47 lines (44 loc) 1.87 kB
import { f as ClientConfig, S as SessionMetadata, C as ConnectionStatus, E as EventMap, a as SearchQuery, c as SearchResponse } from '../types-BQpUMSaB.js'; import 'zod'; interface UsePlugNPlayWsOptions extends Omit<ClientConfig, 'autoConnect'> { autoConnect?: boolean; onConnect?: (data: { sessionId: string; metadata: SessionMetadata; }) => void; onDisconnect?: (data: { sessionId: string; reason: string; }) => void; onError?: (error: Error) => void; onStatusChange?: (status: ConnectionStatus) => void; } interface UsePlugNPlayWsReturn<T extends Record<string, unknown> = EventMap> { status: ConnectionStatus; isConnected: boolean; sessionId?: string; sessionMetadata?: SessionMetadata; connect: () => Promise<void>; disconnect: () => void; send: <K extends keyof T>(event: K, data: T[K]) => boolean; search: (query: SearchQuery) => Promise<SearchResponse | null>; on: <K extends keyof T>(event: K, listener: (data: T[K]) => void) => void; off: <K extends keyof T>(event: K, listener: (data: T[K]) => void) => void; stats: { status: ConnectionStatus; sessionId?: string; reconnectAttempts: number; lastPongTime: number; connected: boolean; }; } declare function usePlugNPlayWs<T extends Record<string, unknown> = EventMap>(options: UsePlugNPlayWsOptions): UsePlugNPlayWsReturn<T>; declare function usePlugNPlaySearch<T extends Record<string, unknown> = EventMap>(client: UsePlugNPlayWsReturn<T>): { search: (query: SearchQuery) => Promise<void>; clearResults: () => void; isSearching: boolean; results: SearchResponse<unknown> | null; streamingResults: unknown[]; error: string | null; }; export { type UsePlugNPlayWsOptions, type UsePlugNPlayWsReturn, usePlugNPlaySearch, usePlugNPlayWs };