@asyncswap/jsonrpc 0.4.12 → 0.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base.d.ts +5 -2
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js.map +1 -1
- package/dist/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/types/base.d.ts +9 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +1 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/request.d.ts +8 -0
- package/dist/types/request.d.ts.map +1 -0
- package/dist/types/request.js +1 -0
- package/dist/types/request.js.map +1 -0
- package/dist/types/response.d.ts +18 -0
- package/dist/types/response.d.ts.map +1 -0
- package/dist/types/response.js +1 -0
- package/dist/types/response.js.map +1 -0
- package/package.json +1 -1
- package/src/base.ts +7 -5
- package/src/client.ts +2 -1
- package/src/index.ts +1 -0
- package/src/server.ts +2 -1
- package/src/types/base.ts +9 -0
- package/src/types/index.ts +3 -0
- package/src/types/request.ts +8 -0
- package/src/types/response.ts +22 -0
- package/src/types/base.d.ts +0 -5
- package/src/types/request.d.ts +0 -15
- package/src/types/response.d.ts +0 -24
package/dist/base.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { JsonRpcClient } from "./client";
|
|
2
|
-
export declare abstract class BaseClient<
|
|
3
|
-
|
|
2
|
+
export declare abstract class BaseClient<Spec extends Record<string, {
|
|
3
|
+
params: unknown[];
|
|
4
|
+
result: unknown;
|
|
5
|
+
}>> {
|
|
6
|
+
rpc: JsonRpcClient<Spec>;
|
|
4
7
|
protected headers: Record<string, string>;
|
|
5
8
|
constructor(url: string);
|
|
6
9
|
withHeaders(headers: Record<string, string>): this;
|
package/dist/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,8BAAsB,UAAU,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,8BAAsB,UAAU,CAC/B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;IAEnE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAEnC,GAAG,EAAE,MAAM;IA8BvB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAM3C"}
|
package/dist/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAgB,UAAU;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAgB,UAAU;IAG/B,GAAG,CAAsB;IACf,OAAO,GAA2B,EAAE,CAAC;IAE/C,YAAY,GAAW;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QAElC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACtB,GAAG,EAAE,CAAC,MAAY,EAAE,IAAqB,EAAE,QAAQ,EAAE,EAAE;gBACtD,wCAAwC;gBACxC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAClD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;wBACjC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;4BACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACzC,iDAAiD;4BACjD,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC9C,CAAC,CAAC;oBACH,CAAC;oBACD,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,cAAc;gBACd,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBAE/C,MAAM,MAAM,GAAG,IAAkB,CAAC;gBAElC,OAAO,CACN,GAAG,MAAqC,EACR,EAAE,CAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAA+B;QAC1C,IAAI,CAAC,OAAO,GAAG;YACd,GAAG,OAAO;SACV,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
|
package/dist/client.d.ts
CHANGED
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAmB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzE,qBAAa,aAAa,CAAC,WAAW,SAAS,QAAQ;IAG1C,OAAO,CAAC,GAAG;IAFvB,OAAO,CAAC,EAAE,CAAK;gBAEK,GAAG,EAAE,MAAM;IAEzB,IAAI,CAAC,MAAM,SAAS,MAAM,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EACzE,OAAO,EACJ,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,GACrD,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IAgBjC,YAAY,CAAC,MAAM,SAAS,MAAM,WAAW,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACnC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAS1C,OAAO;IAoCf,MAAM,CAAC,MAAM,SAAS,MAAM,WAAW,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;CAavC"}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,MAAM,OAAO,aAAa;IAGL;IAFZ,EAAE,GAAG,CAAC,CAAC;IAEf,YAAoB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAEpC,KAAK,CAAC,IAAI,CACT,OAE0D,EAC1D,OAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,KAAU,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,MAAgB,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAoB,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,2CAA2C;YAC3C,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IAED,YAAY,CACX,MAAc,EACd,MAAqC;QAErC,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;YACN,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE;SACb,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACpB,GAE0D,EAC1D,aAAsC;QAItC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,OAAO,GAA2B;gBACvC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;aACxB,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACzB,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CAAC,CAAC;YAEH,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAEa,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACN,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,OAAO,EAAE,mBAAmB,GAAG,EAAE;iBACjC;gBACD,EAAE,EAAE,IAAI;aACR,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CACX,MAAc,EACd,MAAsC;QAEtC,MAAM,OAAO,GAA0D;YACtE,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;SACN,CAAC;QACF,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC7B,CAAC,CAAC;IACJ,CAAC;CACD"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { JsonRpcErrorCode } from "./error";
|
|
2
|
+
import type { JsonRpcResponse, SpecBase } from "./types";
|
|
2
3
|
type RpcParams = readonly unknown[] | undefined;
|
|
3
4
|
export type Handler<Params extends RpcParams, Result> = (params: Params) => Promise<Result>;
|
|
4
|
-
export declare class JsonRpcServer<MethodsSpec extends
|
|
5
|
+
export declare class JsonRpcServer<MethodsSpec extends SpecBase> {
|
|
5
6
|
private methods;
|
|
6
7
|
register<Method extends keyof MethodsSpec, Params extends MethodsSpec[Method]["params"], Result>(method: Method, handler: Handler<Params, Result>): void;
|
|
7
8
|
handle<Method extends keyof MethodsSpec, Params extends MethodsSpec[Method]["params"], Result>(raw: unknown): Promise<JsonRpcResponse<Result, JsonRpcErrorCode | number> | JsonRpcResponse<Result, JsonRpcErrorCode | number>[] | null>;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAkB,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzE,KAAK,SAAS,GAAG,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,IAAI,CACvD,MAAM,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,qBAAa,aAAa,CAAC,WAAW,SAAS,QAAQ;IACtD,OAAO,CAAC,OAAO,CAGX;IAEJ,QAAQ,CACP,MAAM,SAAS,MAAM,WAAW,EAChC,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAC5C,MAAM,EACL,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,MAAM,CACX,MAAM,SAAS,MAAM,WAAW,EAChC,MAAM,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAC5C,MAAM,EAEN,GAAG,EAAE,OAAO,GACV,OAAO,CACP,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,GAClD,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,EAAE,GACpD,IAAI,CACN;IAsED,OAAO,CAAC,KAAK;CAgBb"}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type JsonRpcId = string | number | null;
|
|
2
|
+
export type SpecBase = Record<string, {
|
|
3
|
+
params: unknown[];
|
|
4
|
+
result: unknown;
|
|
5
|
+
}>;
|
|
6
|
+
export type RpcSpec<Spec extends SpecBase> = {
|
|
7
|
+
[Method in keyof Spec]: (...params: Spec[Method]["params"]) => Promise<Spec[Method]["result"]>;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE9E,MAAM,MAAM,OAAO,CAAC,IAAI,SAAS,QAAQ,IAAI;KAC3C,MAAM,IAAI,MAAM,IAAI,GAAG,CACvB,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,cAAc,CAAC,MAAM,EAAE,MAAM,SAAS,SAAS,OAAO,EAAE;IACxE,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,SAAS,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { JsonRpcId } from "./base";
|
|
2
|
+
export interface JsonRpcSuccess<Result> {
|
|
3
|
+
jsonrpc: "2.0";
|
|
4
|
+
result: Result;
|
|
5
|
+
id: JsonRpcId;
|
|
6
|
+
}
|
|
7
|
+
export interface JsonRpcError<ErrorCode> {
|
|
8
|
+
jsonrpc: "2.0";
|
|
9
|
+
error: JsonRpcErrorObject<ErrorCode>;
|
|
10
|
+
id: JsonRpcId;
|
|
11
|
+
}
|
|
12
|
+
export interface JsonRpcErrorObject<ErrorCode> {
|
|
13
|
+
code: ErrorCode;
|
|
14
|
+
message: string;
|
|
15
|
+
data?: unknown;
|
|
16
|
+
}
|
|
17
|
+
export type JsonRpcResponse<Result, ErrorCode> = JsonRpcSuccess<Result> | JsonRpcError<ErrorCode>;
|
|
18
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,cAAc,CAAC,MAAM;IACrC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,SAAS,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,SAAS;IACtC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACrC,EAAE,EAAE,SAAS,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB,CAAC,SAAS;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AACD,MAAM,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,IAC1C,cAAc,CAAC,MAAM,CAAC,GACtB,YAAY,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
package/src/base.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { JsonRpcClient } from "./client";
|
|
2
2
|
|
|
3
|
-
export abstract class BaseClient<
|
|
4
|
-
|
|
3
|
+
export abstract class BaseClient<
|
|
4
|
+
Spec extends Record<string, { params: unknown[]; result: unknown }>,
|
|
5
|
+
> {
|
|
6
|
+
rpc: JsonRpcClient<Spec>;
|
|
5
7
|
protected headers: Record<string, string> = {};
|
|
6
8
|
|
|
7
9
|
constructor(url: string) {
|
|
@@ -24,11 +26,11 @@ export abstract class BaseClient<MethodsSpec extends RpcSpecBase> {
|
|
|
24
26
|
// dynamic rpc
|
|
25
27
|
if (typeof prop !== "string") return undefined;
|
|
26
28
|
|
|
27
|
-
const method = prop as keyof
|
|
29
|
+
const method = prop as keyof Spec;
|
|
28
30
|
|
|
29
31
|
return (
|
|
30
|
-
...params:
|
|
31
|
-
):
|
|
32
|
+
...params: Spec[typeof method]["params"]
|
|
33
|
+
): Spec[typeof method]["result"] =>
|
|
32
34
|
this.rpc.call(this.rpc.buildRequest(method, params), this.headers);
|
|
33
35
|
},
|
|
34
36
|
});
|
package/src/client.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { JsonRpcErrorCode } from "./error";
|
|
2
|
+
import type { JsonRpcRequest, JsonRpcResponse, SpecBase } from "./types";
|
|
2
3
|
|
|
3
|
-
export class JsonRpcClient<MethodsSpec extends
|
|
4
|
+
export class JsonRpcClient<MethodsSpec extends SpecBase> {
|
|
4
5
|
private id = 0;
|
|
5
6
|
|
|
6
7
|
constructor(private url: string) { }
|
package/src/index.ts
CHANGED
package/src/server.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JsonRpcErrorCode } from "./error";
|
|
2
|
+
import type { JsonRpcRequest, JsonRpcResponse, SpecBase } from "./types";
|
|
2
3
|
|
|
3
4
|
type RpcParams = readonly unknown[] | undefined;
|
|
4
5
|
|
|
@@ -6,7 +7,7 @@ export type Handler<Params extends RpcParams, Result> = (
|
|
|
6
7
|
params: Params,
|
|
7
8
|
) => Promise<Result>;
|
|
8
9
|
|
|
9
|
-
export class JsonRpcServer<MethodsSpec extends
|
|
10
|
+
export class JsonRpcServer<MethodsSpec extends SpecBase> {
|
|
10
11
|
private methods = new Map<
|
|
11
12
|
keyof MethodsSpec,
|
|
12
13
|
Handler<MethodsSpec[keyof MethodsSpec]["params"], any>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type JsonRpcId = string | number | null;
|
|
2
|
+
|
|
3
|
+
export type SpecBase = Record<string, { params: unknown[]; result: unknown }>;
|
|
4
|
+
|
|
5
|
+
export type RpcSpec<Spec extends SpecBase> = {
|
|
6
|
+
[Method in keyof Spec]: (
|
|
7
|
+
...params: Spec[Method]["params"]
|
|
8
|
+
) => Promise<Spec[Method]["result"]>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { JsonRpcId } from "./base";
|
|
2
|
+
|
|
3
|
+
export interface JsonRpcSuccess<Result> {
|
|
4
|
+
jsonrpc: "2.0";
|
|
5
|
+
result: Result;
|
|
6
|
+
id: JsonRpcId;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface JsonRpcError<ErrorCode> {
|
|
10
|
+
jsonrpc: "2.0";
|
|
11
|
+
error: JsonRpcErrorObject<ErrorCode>;
|
|
12
|
+
id: JsonRpcId;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface JsonRpcErrorObject<ErrorCode> {
|
|
16
|
+
code: ErrorCode;
|
|
17
|
+
message: string;
|
|
18
|
+
data?: unknown;
|
|
19
|
+
}
|
|
20
|
+
export type JsonRpcResponse<Result, ErrorCode> =
|
|
21
|
+
| JsonRpcSuccess<Result>
|
|
22
|
+
| JsonRpcError<ErrorCode>;
|
package/src/types/base.d.ts
DELETED
package/src/types/request.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
declare global {
|
|
2
|
-
export type RpcSpecBase = Record<
|
|
3
|
-
string,
|
|
4
|
-
{ params: readonly unknown[]; result: unknown }
|
|
5
|
-
>;
|
|
6
|
-
|
|
7
|
-
export interface JsonRpcRequest<Method, Params extends readonly unknown[]> {
|
|
8
|
-
jsonrpc: "2.0";
|
|
9
|
-
method: Method;
|
|
10
|
-
params?: Params;
|
|
11
|
-
id?: JsonRpcId;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { };
|
package/src/types/response.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
declare global {
|
|
2
|
-
export interface JsonRpcSuccess<Result> {
|
|
3
|
-
jsonrpc: "2.0";
|
|
4
|
-
result: Result;
|
|
5
|
-
id: JsonRpcId;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export interface JsonRpcError<ErrorCode> {
|
|
9
|
-
jsonrpc: "2.0";
|
|
10
|
-
error: JsonRpcErrorObject<ErrorCode>;
|
|
11
|
-
id: JsonRpcId;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface JsonRpcErrorObject<ErrorCode> {
|
|
15
|
-
code: ErrorCode;
|
|
16
|
-
message: string;
|
|
17
|
-
data?: unknown;
|
|
18
|
-
}
|
|
19
|
-
export type JsonRpcResponse<Result, ErrorCode> =
|
|
20
|
-
| JsonRpcSuccess<Result>
|
|
21
|
-
| JsonRpcError<ErrorCode>;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { };
|