rxjs-websockets
Version:
rxjs 7 websockets library
20 lines (19 loc) • 962 B
TypeScript
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 {};