{"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;;;;"}