UNPKG

redux-ws-middleware

Version:

This package makes web socket management much easier with redux

32 lines (31 loc) 1.31 kB
import { Deserializer, Serializer } from '../Serializer/SerializerService.types'; import { SocketDispatch } from '../Redux/ReduxService.types'; export declare enum WebSocketEvent { OPEN = "open", ERROR = "error", CLOSE = "close", MESSAGE = "message" } export declare enum WebSocketClosingCode { FORCE_CLOSE = 1005 } export declare type ShouldReconnect = (event: CloseEvent) => boolean; export declare type ShouldClose<DRes> = (res: DRes) => boolean; export declare type ShouldOpen<Req> = (req: Req) => boolean; declare type OnMessageCallback<Res> = (res: Res, dispatch: SocketDispatch) => void; export declare type Options<Req, Res, SReq = Req, DRes = Res> = { url: string; onMessage: OnMessageCallback<DRes>; autoConnect?: boolean; shouldReconnect?: ShouldReconnect | boolean; shouldClose?: ShouldClose<DRes>; shouldOpen?: ShouldOpen<Req> | boolean; reconnectionInterval?: number | number[]; debug?: boolean; protocols?: string | string[]; serialize?: Serializer<Req, SReq>; deserialize?: Deserializer<Res, DRes>; }; declare type Short = 'shouldReconnect' | 'reconnectionInterval' | 'deserialize' | 'serialize' | 'debug'; export declare type OptionsShort<Req, Res, SReq = Req, DRes = Res> = Omit<Options<Req, Res, SReq, DRes>, Short>; export {};