@hazae41/jsonrpc
Version:
Rust-like JSON-RPC for TypeScript
101 lines (98 loc) • 3.09 kB
TypeScript
import { Err } from '@hazae41/result';
import { RpcId } from './request.js';
interface RpcErrorInit {
readonly code: number;
readonly message: string;
readonly data: unknown;
}
interface RpcErrInit {
readonly jsonrpc: "2.0";
readonly id: RpcId;
readonly error: RpcErrorInit;
}
declare namespace RpcErrInit {
function from(response: RpcErr): RpcErrInit;
}
declare class RpcError extends Error {
#private;
readonly code: number;
readonly message: string;
readonly data: unknown;
readonly name: string;
static readonly codes: {
readonly ParseError: -32700;
readonly InvalidRequest: -32600;
readonly MethodNotFound: -32601;
readonly InvalidParams: -32602;
readonly InternalError: -32603;
};
static readonly messages: {
readonly ParseError: "Parse error";
readonly InvalidRequest: "Invalid Request";
readonly MethodNotFound: "Method not found";
readonly InvalidParams: "Invalid params";
readonly InternalError: "Internal error";
readonly ServerError: "Server error";
};
constructor(code: number, message: string, data?: unknown);
static from(init: RpcErrorInit): RpcError;
static rewrap(error: unknown): RpcError;
toJSON(): {
code: number;
message: string;
data: unknown;
};
}
declare class RpcParseError extends RpcError {
#private;
readonly name: string;
static readonly code: -32700;
static readonly message: "Parse error";
constructor(message?: string);
}
declare class RpcInvalidRequestError extends RpcError {
#private;
readonly name: string;
static readonly code: -32600;
static readonly message: "Invalid Request";
constructor(message?: string);
}
declare class RpcMethodNotFoundError extends RpcError {
#private;
readonly name: string;
static readonly code: -32601;
static readonly message: "Method not found";
constructor(message?: string);
}
declare class RpcInvalidParamsError extends RpcError {
#private;
readonly name: string;
static readonly code: -32602;
static readonly message: "Invalid params";
constructor(message?: string);
}
declare class RpcInternalError extends RpcError {
#private;
readonly name: string;
static readonly code: -32603;
static readonly message: "Internal error";
constructor(message?: string);
}
declare class RpcErr extends Err<RpcError> {
readonly id: RpcId;
readonly error: RpcError;
readonly jsonrpc = "2.0";
constructor(id: RpcId, error: RpcError);
static from(init: RpcErrInit): RpcErr;
static rewrap<T extends Err.Infer<T>>(id: RpcId, result: T): RpcErr;
toJSON(): {
readonly jsonrpc: "2.0";
readonly id: RpcId;
readonly error: {
code: number;
message: string;
data: unknown;
};
};
}
export { RpcErr, RpcErrInit, RpcError, type RpcErrorInit, RpcInternalError, RpcInvalidParamsError, RpcInvalidRequestError, RpcMethodNotFoundError, RpcParseError };