UNPKG

@dapplets/dapplet-extension

Version:
28 lines (27 loc) 987 B
export type RpcMessageEvent = { data: any; source?: EventMessaging; origin?: EventMessaging; target?: EventMessaging; }; /** * EventMessaging is a common interface for window and worker */ export interface EventMessaging { addEventListener(type: string, listener: (event: RpcMessageEvent) => void): void; removeEventListener(type: string, listener: (event: RpcMessageEvent) => void): void; postMessage(message: any, targetOrigin?: string): void; } export declare class JsonRpc { private _callbacks; private _outcomingRequests; private _defaultWindow; private _sources; constructor(defaultWindow?: EventMessaging); addEventSource(source: EventMessaging): void; removeEventSource(source: EventMessaging): void; call(method: string, params: any[], frame?: EventMessaging): Promise<any>; on(method: string, callback: (...args: any[]) => Promise<any> | undefined | boolean): void; destroy(): void; private _handler; }