{"version":3,"file":"ok.cjs","sources":["../../../../src/mods/rpc/ok.ts"],"sourcesContent":["import { Ok } from \"@hazae41/result\"\nimport { RpcId } from \"./request.js\"\n\nexport interface RpcOkInit<T = unknown> {\n  readonly jsonrpc: \"2.0\"\n  readonly id: RpcId\n  readonly result: T\n}\n\nexport namespace RpcOkInit {\n\n  export function from<T>(response: RpcOk<T>): RpcOkInit<T> {\n    return response.toJSON()\n  }\n\n}\n\nexport class RpcOk<T = unknown> extends Ok<T> {\n  readonly jsonrpc = \"2.0\"\n\n  constructor(\n    readonly id: RpcId,\n    readonly result: T\n  ) {\n    super(result)\n  }\n\n  static from<T>(init: RpcOkInit<T>) {\n    return new RpcOk(init.id, init.result)\n  }\n\n  static rewrap<T extends Ok.Infer<T>>(id: RpcId, result: T) {\n    return new RpcOk(id, result.inner)\n  }\n\n  toJSON(): RpcOkInit<T> {\n    const { jsonrpc, id, result } = this\n    return { jsonrpc, id, result } as const\n  }\n\n}\n"],"names":["RpcOkInit","Ok"],"mappings":";;;;AASiBA,2BAMhB;AAND,CAAA,UAAiB,SAAS,EAAA;IAExB,SAAgB,IAAI,CAAI,QAAkB,EAAA;AACxC,QAAA,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAA;KACzB;AAFe,IAAA,SAAA,CAAA,IAAI,OAEnB,CAAA;AAEH,CAAC,EANgBA,iBAAS,KAATA,iBAAS,GAMzB,EAAA,CAAA,CAAA,CAAA;AAEK,MAAO,KAAmB,SAAQC,SAAK,CAAA;AAIhC,IAAA,EAAA,CAAA;AACA,IAAA,MAAA,CAAA;IAJF,OAAO,GAAG,KAAK,CAAA;IAExB,WACW,CAAA,EAAS,EACT,MAAS,EAAA;QAElB,KAAK,CAAC,MAAM,CAAC,CAAA;QAHJ,IAAE,CAAA,EAAA,GAAF,EAAE,CAAO;QACT,IAAM,CAAA,MAAA,GAAN,MAAM,CAAG;KAGnB;IAED,OAAO,IAAI,CAAI,IAAkB,EAAA;QAC/B,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;KACvC;AAED,IAAA,OAAO,MAAM,CAAwB,EAAS,EAAE,MAAS,EAAA;QACvD,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;KACnC;IAED,MAAM,GAAA;QACJ,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;AACpC,QAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAW,CAAA;KACxC;AAEF;;;;"}