UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

40 lines (39 loc) 1.33 kB
import type { WebsocketClientOptions } from "./rpc-websocket-client.js"; export type HttpHeaders = { [header: string]: string; }; export interface JsonRpcHTTPTransportOptions { fetch?: typeof fetch; WebSocketConstructor?: typeof WebSocket; url: string; rpc?: { headers?: HttpHeaders; url?: string; }; websocket?: WebsocketClientOptions & { url?: string; }; } export interface JsonRpcTransportRequestOptions { method: string; params: unknown[]; signal?: AbortSignal; } export interface JsonRpcTransportSubscribeOptions<T> { method: string; unsubscribe: string; params: unknown[]; onMessage: (event: T) => void; signal?: AbortSignal; } export interface JsonRpcTransport { request<T = unknown>(input: JsonRpcTransportRequestOptions): Promise<T>; subscribe<T = unknown>(input: JsonRpcTransportSubscribeOptions<T>): Promise<() => Promise<boolean>>; } export declare class JsonRpcHTTPTransport implements JsonRpcTransport { #private; constructor(options: JsonRpcHTTPTransportOptions); fetch(input: string | URL | Request, init?: RequestInit): Promise<Response>; request<T>(input: JsonRpcTransportRequestOptions): Promise<T>; subscribe<T>(input: JsonRpcTransportSubscribeOptions<T>): Promise<() => Promise<boolean>>; }