UNPKG

rx-nostr

Version:

A library based on RxJS, which allows Nostr applications to easily communicate with relays.

51 lines (43 loc) 1.1 kB
// the minimum WebSocket interface definition for rx-nostr to work export interface IWebSocketConstructor { new (url: string): IWebSocket; } export interface IWebSocket { readyState: number; addEventListener( method: "message", callback: (event: IMessageEvent) => void, ): void; addEventListener( method: "close", callback: (event: ICloseEvent) => void, ): void; addEventListener(method: "open", callback: () => void): void; removeEventListener( method: "message", callback: (event: IMessageEvent) => void, ): void; removeEventListener( method: "close", callback: (event: ICloseEvent) => void, ): void; removeEventListener(method: "open", callback: () => void): void; send(data: string): void; close(code?: number): void; } export interface ICloseEvent { type: string; code: number; reason: string; } export interface IMessageEvent { type: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any data: any; } export const ReadyState = { CONNECTING: 0, OPEN: 1, CLOSING: 2, CLOSED: 3, } as const;