@hazae41/jsonrpc
Version:
Rust-like JSON-RPC for TypeScript
23 lines (20 loc) • 639 B
TypeScript
import { Ok } from '@hazae41/result';
import { RpcId } from './request.js';
interface RpcOkInit<T = unknown> {
readonly jsonrpc: "2.0";
readonly id: RpcId;
readonly result: T;
}
declare namespace RpcOkInit {
function from<T>(response: RpcOk<T>): RpcOkInit<T>;
}
declare class RpcOk<T = unknown> extends Ok<T> {
readonly id: RpcId;
readonly result: T;
readonly jsonrpc = "2.0";
constructor(id: RpcId, result: T);
static from<T>(init: RpcOkInit<T>): RpcOk<T>;
static rewrap<T extends Ok.Infer<T>>(id: RpcId, result: T): RpcOk<Ok.Inner<T>>;
toJSON(): RpcOkInit<T>;
}
export { RpcOk, RpcOkInit };