modular-json-rpc
Version:
Modular JSON-RPC 2.0 library that allows easy addition of transports
20 lines (19 loc) • 706 B
TypeScript
import { Transport } from './Transport';
import { RPCMessage, RPCRequest } from './Message';
declare type MethodHandler = (...args: any[]) => any;
interface MethodHandlerMap {
[index: string]: MethodHandler;
}
declare abstract class RPCServerBase {
handlers: MethodHandlerMap;
bind(name: string, handler: MethodHandler): void;
handleRequest(req: RPCRequest): Promise<void>;
abstract send(msg: RPCMessage): void;
}
declare class RPCServer extends RPCServerBase {
private transport;
constructor(transport: Transport);
parseMessage(data: string): void;
send(msg: RPCMessage): void;
}
export { MethodHandler, MethodHandlerMap, RPCServerBase, RPCServer };