UNPKG

rxjs-websockets

Version:
20 lines (19 loc) 962 B
import { Observable } from 'rxjs'; declare type WebSocketPayload = string | ArrayBuffer | Blob; export interface WebSocketLike { close(): any; send(data: WebSocketPayload): any; onopen: ((event: any) => any) | null; onclose: ((event: any) => any) | null; onmessage: ((event: any) => any) | null; onerror: ((event: any) => any) | null; } export declare type WebSocketFactory = (url: string, protocols: string | string[]) => WebSocketLike; export declare type GetWebSocketResponses<T = WebSocketPayload> = (input: Observable<WebSocketPayload>) => Observable<T>; export interface WebSocketOptions { protocols: string | string[]; makeWebSocket: WebSocketFactory; } export declare const normalClosureMessage = "Normal closure"; export default function makeWebSocketObservable<T extends WebSocketPayload = WebSocketPayload>(url: string, { protocols, makeWebSocket }?: WebSocketOptions): Observable<GetWebSocketResponses<T>>; export {};