@reclaimprotocol/attestor-core
Version:
<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>
24 lines (23 loc) • 1.19 kB
TypeScript
import type { WebSocket as WSWebSocket } from 'ws';
import type { InitRequest, RPCMessage } from '../proto/api.ts';
import { RPCMessages } from '../proto/api.ts';
import type { IAttestorSocket, Logger, RPCEvent, RPCEventMap } from '../types/index.ts';
/**
* Common AttestorSocket class used on the client & server side as the
* base for their respective socket implementations.
*/
export declare class AttestorSocket implements IAttestorSocket {
private eventTarget;
protected socket: WebSocket | WSWebSocket;
readonly logger: Logger;
readonly metadata: InitRequest;
isInitialised: boolean;
constructor(socket: WebSocket | WSWebSocket, metadata: InitRequest, logger: Logger);
get isOpen(): boolean;
get isClosed(): boolean;
sendMessage(...msgs: Partial<RPCMessage>[]): Promise<RPCMessages>;
dispatchRPCEvent<K extends keyof RPCEventMap>(type: K, data: RPCEventMap[K]): void;
addEventListener<K extends keyof RPCEventMap>(type: K, listener: (data: RPCEvent<K>) => void): void;
removeEventListener<K extends keyof RPCEventMap>(type: K, listener: (data: RPCEvent<K>) => void): void;
terminateConnection(err?: Error): Promise<void>;
}