UNPKG

@ryinner/web-socket-manager

Version:
27 lines (26 loc) 936 B
/// <reference types="node" /> export interface WebSocketManagerSettings { url: string; interval?: number; additionalQueryParams?: Record<string, string>; } export interface WebSocketOperation<T = unknown> { method: string; request: OperationRequest; handlers?: OperationsHandlers<T>; } export interface WebSocketSendIntervaled<T = unknown> extends WebSocketOperation<T> { interval: true | number; _interval?: number | NodeJS.Timer; } export type OperationRequest = () => object; export type OperationsHandler<T = unknown> = (data: T) => void; export type OperationsHandlers<T = unknown> = Array<OperationsHandler<T>>; export type WebSocketSend<T = unknown> = WebSocketOperation<T> | WebSocketSendIntervaled<T>; export type WebSocketParsedOperation<T = unknown> = WebSocketSend<T> & { callback: () => void; }; export interface WebSocketAnswerDecoded<T = unknown> { method: string; data: T; }