rpc-cli
Version:
A rpc client base on JSON-RPC 2.0 Specification.
49 lines (48 loc) • 1.2 kB
TypeScript
export declare type onErrorType = (error: RPCError) => void;
export declare type onRequestType = (params: RPCParams) => void;
export declare type onResponseType = (params: RPCParams, result: RPCOkResult | RPCErrorResult) => void;
export interface Options {
url: string;
version?: string;
cookies?: string;
onError?: onErrorType;
onRequest: onRequestType;
onResponse: onResponseType;
}
export interface RPCParams {
jsonrpc: string;
method: string;
params: {};
id: number;
}
export interface RPCError {
code: number;
message: string;
}
export interface RPCResult {
id: number;
jsonrpc: string;
}
export interface RPCOkResult extends RPCResult {
result: void;
}
export interface RPCErrorResult extends RPCResult {
error: RPCError;
}
/**
* represent a rpc client
*
* @example
* import Client from 'rpc-cli';
* let client = new Client();
* let result = client.invoke('methodname',{});
*/
declare class Client {
_options: Options;
onError: onErrorType;
onRequest: onRequestType;
onResponse: onResponseType;
constructor(options: any);
invoke(method: string, params?: object): Promise<{}>;
}
export default Client;