UNPKG

@cashu/cashu-ts

Version:

cashu library for communicating with a cashu mint

50 lines (49 loc) 1.96 kB
import { JsonRpcReqParams } from './model/types'; import { Logger } from './logger'; export declare class ConnectionManager { private static instance; private connectionMap; static getInstance(): ConnectionManager; getConnection(url: string, logger?: Logger): WSConnection; } export declare class WSConnection { readonly url: URL; private readonly _WS; private ws; private connectionPromise; private subListeners; private rpcListeners; private messageQueue; private handlingInterval?; private rpcId; private _logger; private onCloseCallbacks; constructor(url: string, logger?: Logger); connect(): Promise<void>; sendRequest(method: 'subscribe', params: JsonRpcReqParams): void; sendRequest(method: 'unsubscribe', params: { subId: string; }): void; /** * @deprecated Use cancelSubscription for JSONRPC compliance. */ closeSubscription(subId: string): void; addSubListener<TPayload = unknown>(subId: string, callback: (payload: TPayload) => void): void; private addRpcListener; private removeRpcListener; private removeListener; ensureConnection(): Promise<void>; private handleNextMessage; createSubscription<TPayload = unknown>(params: Omit<JsonRpcReqParams, 'subId'>, callback: (payload: TPayload) => void, errorCallback: (e: Error) => void): string; /** * Cancels a subscription, sending an unsubscribe request and handling responses. * * @param subId The subscription ID to cancel. * @param callback The original payload callback to remove. * @param errorCallback Optional callback for unsubscribe errors (defaults to logging). */ cancelSubscription<TPayload = unknown>(subId: string, callback: (payload: TPayload) => void, errorCallback?: (e: Error) => void): void; get activeSubscriptions(): string[]; close(): void; onClose(callback: (e: CloseEvent) => void): void; }