modular-json-rpc
Version:
Modular JSON-RPC 2.0 library that allows easy addition of transports
24 lines (23 loc) • 827 B
TypeScript
/// <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 };