@hazae41/jsonrpc
Version:
Rust-like JSON-RPC for TypeScript
1 lines • 2.17 kB
Source Map (JSON)
{"version":3,"file":"request.cjs","sources":["../../../../src/mods/rpc/request.ts"],"sourcesContent":["export type RpcId = number | string | null\n\nexport type RpcRequestPreinit<T = unknown> =\n | (undefined extends T ? RpcParamlessRequestPreinit : never)\n | RpcParamfulRequestPreinit<T>\n\nexport interface RpcParamfulRequestPreinit<T = unknown> {\n readonly id?: RpcId\n readonly method: string,\n readonly params: T\n}\n\nexport interface RpcParamlessRequestPreinit {\n readonly id?: RpcId\n readonly method: string\n readonly params?: undefined\n}\n\nexport type RpcRequestInit<T = unknown> =\n | (undefined extends T ? RpcParamlessRequestInit : never)\n | RpcParamfulRequestInit<T>\n\nexport interface RpcParamfulRequestInit<T = unknown> {\n readonly jsonrpc: \"2.0\"\n readonly id: RpcId\n readonly method: string\n readonly params: T\n}\n\nexport interface RpcParamlessRequestInit {\n readonly jsonrpc: \"2.0\"\n readonly id: RpcId\n readonly method: string\n readonly params?: undefined\n}\n\nexport class RpcRequest<T = unknown> {\n readonly jsonrpc = \"2.0\" as const\n\n constructor(\n readonly id: RpcId,\n readonly method: string,\n readonly params: T\n ) { }\n\n static from<T>(init: RpcRequestInit<T>): RpcRequest<T>\n\n static from<T>(init: RpcParamfulRequestInit<T>) {\n const { id, method, params } = init\n return new RpcRequest(id, method, params)\n }\n\n toJSON(): RpcRequestInit<T> {\n const { jsonrpc, id, method, params } = this\n return { jsonrpc, id, method, params } as const\n }\n\n}"],"names":[],"mappings":";;MAoCa,UAAU,CAAA;AAIV,IAAA,EAAA,CAAA;AACA,IAAA,MAAA,CAAA;AACA,IAAA,MAAA,CAAA;IALF,OAAO,GAAG,KAAc,CAAA;AAEjC,IAAA,WAAA,CACW,EAAS,EACT,MAAc,EACd,MAAS,EAAA;QAFT,IAAE,CAAA,EAAA,GAAF,EAAE,CAAO;QACT,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAG;KACf;IAIL,OAAO,IAAI,CAAI,IAA+B,EAAA;QAC5C,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACnC,OAAO,IAAI,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAC1C;IAED,MAAM,GAAA;QACJ,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAC5C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAW,CAAA;KAChD;AAEF;;;;"}