UNPKG

modular-json-rpc

Version:

Modular JSON-RPC 2.0 library that allows easy addition of transports

24 lines (23 loc) 827 B
/// <reference types="node" /> import { Transport } from './Transport'; import { RPCMessage, RPCResponse } from './Message'; import { EventEmitter } from 'events'; interface RequestMap { [index: number]: (result: RPCResponse) => void; } declare abstract class RPCClientBase extends EventEmitter { requestId: number; requests: RequestMap; requestTimeout: number; call(name: string, ...params: any[]): Promise<any>; notify(name: string, ...params: any[]): void; handleResponse(res: RPCResponse): void; abstract send(msg: RPCMessage): void; } declare class RPCClient extends RPCClientBase { private transport; constructor(transport: Transport); parseMessage(data: string): void; send(msg: RPCMessage): void; } export { RequestMap, RPCClientBase, RPCClient };