@hazae41/jsonrpc 1.0.0
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/README.md +18 -0
- package/dist/cjs/index.cjs +29 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/mods/rpc/err.cjs +110 -0
- package/dist/cjs/mods/rpc/err.cjs.map +1 -0
- package/dist/cjs/mods/rpc/ok.cjs +28 -0
- package/dist/cjs/mods/rpc/ok.cjs.map +1 -0
- package/dist/cjs/mods/rpc/request.cjs +24 -0
- package/dist/cjs/mods/rpc/request.cjs.map +1 -0
- package/dist/cjs/mods/rpc/response.cjs +24 -0
- package/dist/cjs/mods/rpc/response.cjs.map +1 -0
- package/dist/cjs/mods/rpc/rpc.cjs +13 -0
- package/dist/cjs/mods/rpc/rpc.cjs.map +1 -0
- package/dist/esm/index.mjs +6 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/mods/rpc/err.mjs +102 -0
- package/dist/esm/mods/rpc/err.mjs.map +1 -0
- package/dist/esm/mods/rpc/ok.mjs +26 -0
- package/dist/esm/mods/rpc/ok.mjs.map +1 -0
- package/dist/esm/mods/rpc/request.mjs +22 -0
- package/dist/esm/mods/rpc/request.mjs.map +1 -0
- package/dist/esm/mods/rpc/response.mjs +24 -0
- package/dist/esm/mods/rpc/response.mjs.map +1 -0
- package/dist/esm/mods/rpc/rpc.mjs +11 -0
- package/dist/esm/mods/rpc/rpc.mjs.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/mods/rpc/err.d.ts +89 -0
- package/dist/types/mods/rpc/ok.d.ts +20 -0
- package/dist/types/mods/rpc/request.d.ts +37 -0
- package/dist/types/mods/rpc/response.d.ts +15 -0
- package/dist/types/mods/rpc/rpc.d.ts +8 -0
- package/package.json +61 -0
package/README.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# JSON-RPC
|
|
2
|
+
|
|
3
|
+
Rust-like JSON-RPC for TypeScript
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm i @hazae41/jsonrpc
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
[**Node Package 📦**](https://www.npmjs.com/package/@hazae41/jsonrpc)
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
### Current features
|
|
14
|
+
- 100% TypeScript and ESM
|
|
15
|
+
- No external dependencies
|
|
16
|
+
- Rust-like patterns
|
|
17
|
+
- Uses `@hazae41/result`
|
|
18
|
+
- Specification compliant
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var err = require('./mods/rpc/err.cjs');
|
|
4
|
+
var ok = require('./mods/rpc/ok.cjs');
|
|
5
|
+
var request = require('./mods/rpc/request.cjs');
|
|
6
|
+
var response = require('./mods/rpc/response.cjs');
|
|
7
|
+
var rpc = require('./mods/rpc/rpc.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.RpcErr = err.RpcErr;
|
|
12
|
+
exports.RpcError = err.RpcError;
|
|
13
|
+
exports.RpcInternalError = err.RpcInternalError;
|
|
14
|
+
exports.RpcInvalidParamsError = err.RpcInvalidParamsError;
|
|
15
|
+
exports.RpcInvalidRequestError = err.RpcInvalidRequestError;
|
|
16
|
+
exports.RpcMethodNotFoundError = err.RpcMethodNotFoundError;
|
|
17
|
+
exports.RpcParseError = err.RpcParseError;
|
|
18
|
+
exports.RpcOk = ok.RpcOk;
|
|
19
|
+
Object.defineProperty(exports, 'RpcOkInit', {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return ok.RpcOkInit; }
|
|
22
|
+
});
|
|
23
|
+
exports.RpcRequest = request.RpcRequest;
|
|
24
|
+
Object.defineProperty(exports, 'RpcResponse', {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () { return response.RpcResponse; }
|
|
27
|
+
});
|
|
28
|
+
exports.RpcCounter = rpc.RpcCounter;
|
|
29
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var result = require('@hazae41/result');
|
|
4
|
+
|
|
5
|
+
class RpcError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
message;
|
|
8
|
+
data;
|
|
9
|
+
#class = RpcError;
|
|
10
|
+
name = this.#class.name;
|
|
11
|
+
static codes = {
|
|
12
|
+
ParseError: -32700,
|
|
13
|
+
InvalidRequest: -32600,
|
|
14
|
+
MethodNotFound: -32601,
|
|
15
|
+
InvalidParams: -32602,
|
|
16
|
+
InternalError: -32603
|
|
17
|
+
};
|
|
18
|
+
static messages = {
|
|
19
|
+
ParseError: "Parse error",
|
|
20
|
+
InvalidRequest: "Invalid Request",
|
|
21
|
+
MethodNotFound: "Method not found",
|
|
22
|
+
InvalidParams: "Invalid params",
|
|
23
|
+
InternalError: "Internal error",
|
|
24
|
+
ServerError: "Server error"
|
|
25
|
+
};
|
|
26
|
+
constructor(code, message, data = undefined) {
|
|
27
|
+
super(message);
|
|
28
|
+
this.code = code;
|
|
29
|
+
this.message = message;
|
|
30
|
+
this.data = data;
|
|
31
|
+
}
|
|
32
|
+
static from(init) {
|
|
33
|
+
const { code, message, data } = init;
|
|
34
|
+
return new RpcError(code, message, data);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Used by JSON.stringify
|
|
38
|
+
*/
|
|
39
|
+
toJSON() {
|
|
40
|
+
const { code, message, data } = this;
|
|
41
|
+
return { code, message, data };
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
class RpcParseError extends RpcError {
|
|
45
|
+
#class = RpcParseError;
|
|
46
|
+
name = this.#class.name;
|
|
47
|
+
static code = RpcError.codes.ParseError;
|
|
48
|
+
static message = RpcError.messages.ParseError;
|
|
49
|
+
constructor() {
|
|
50
|
+
super(RpcError.codes.ParseError, RpcError.messages.ParseError);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
class RpcInvalidRequestError extends RpcError {
|
|
54
|
+
#class = RpcInvalidRequestError;
|
|
55
|
+
name = this.#class.name;
|
|
56
|
+
static code = RpcError.codes.InvalidRequest;
|
|
57
|
+
static message = RpcError.messages.InvalidRequest;
|
|
58
|
+
constructor() {
|
|
59
|
+
super(RpcError.codes.InvalidRequest, RpcError.messages.InvalidRequest);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
class RpcMethodNotFoundError extends RpcError {
|
|
63
|
+
#class = RpcMethodNotFoundError;
|
|
64
|
+
name = this.#class.name;
|
|
65
|
+
static code = RpcError.codes.MethodNotFound;
|
|
66
|
+
static message = RpcError.messages.MethodNotFound;
|
|
67
|
+
constructor() {
|
|
68
|
+
super(RpcError.codes.MethodNotFound, RpcError.messages.MethodNotFound);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
class RpcInvalidParamsError extends RpcError {
|
|
72
|
+
#class = RpcInvalidParamsError;
|
|
73
|
+
name = this.#class.name;
|
|
74
|
+
static code = RpcError.codes.InvalidParams;
|
|
75
|
+
static message = RpcError.messages.InvalidParams;
|
|
76
|
+
constructor() {
|
|
77
|
+
super(RpcError.codes.InvalidParams, RpcError.messages.InvalidParams);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
class RpcInternalError extends RpcError {
|
|
81
|
+
#class = RpcInternalError;
|
|
82
|
+
name = this.#class.name;
|
|
83
|
+
static code = RpcError.codes.InternalError;
|
|
84
|
+
static message = RpcError.messages.InternalError;
|
|
85
|
+
constructor() {
|
|
86
|
+
super(RpcError.codes.InternalError, RpcError.messages.InternalError);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
class RpcErr extends result.Err {
|
|
90
|
+
id;
|
|
91
|
+
error;
|
|
92
|
+
jsonrpc = "2.0";
|
|
93
|
+
constructor(id, error) {
|
|
94
|
+
super(error);
|
|
95
|
+
this.id = id;
|
|
96
|
+
this.error = error;
|
|
97
|
+
}
|
|
98
|
+
static from(init) {
|
|
99
|
+
return new RpcErr(init.id, RpcError.from(init.error));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
exports.RpcErr = RpcErr;
|
|
104
|
+
exports.RpcError = RpcError;
|
|
105
|
+
exports.RpcInternalError = RpcInternalError;
|
|
106
|
+
exports.RpcInvalidParamsError = RpcInvalidParamsError;
|
|
107
|
+
exports.RpcInvalidRequestError = RpcInvalidRequestError;
|
|
108
|
+
exports.RpcMethodNotFoundError = RpcMethodNotFoundError;
|
|
109
|
+
exports.RpcParseError = RpcParseError;
|
|
110
|
+
//# sourceMappingURL=err.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"err.cjs","sources":["../../../../src/mods/rpc/err.ts"],"sourcesContent":["import { Err } from \"@hazae41/result\";\nexport class RpcError extends Error {\n code;\n message;\n data;\n #class = RpcError;\n name = this.#class.name;\n static codes = {\n ParseError: -32700,\n InvalidRequest: -32600,\n MethodNotFound: -32601,\n InvalidParams: -32602,\n InternalError: -32603\n };\n static messages = {\n ParseError: \"Parse error\",\n InvalidRequest: \"Invalid Request\",\n MethodNotFound: \"Method not found\",\n InvalidParams: \"Invalid params\",\n InternalError: \"Internal error\",\n ServerError: \"Server error\"\n };\n constructor(code, message, data = undefined) {\n super(message);\n this.code = code;\n this.message = message;\n this.data = data;\n }\n static from(init) {\n const { code, message, data } = init;\n return new RpcError(code, message, data);\n }\n /**\n * Used by JSON.stringify\n */\n toJSON() {\n const { code, message, data } = this;\n return { code, message, data };\n }\n}\nexport class RpcParseError extends RpcError {\n #class = RpcParseError;\n name = this.#class.name;\n static code = RpcError.codes.ParseError;\n static message = RpcError.messages.ParseError;\n constructor() {\n super(RpcError.codes.ParseError, RpcError.messages.ParseError);\n }\n}\nexport class RpcInvalidRequestError extends RpcError {\n #class = RpcInvalidRequestError;\n name = this.#class.name;\n static code = RpcError.codes.InvalidRequest;\n static message = RpcError.messages.InvalidRequest;\n constructor() {\n super(RpcError.codes.InvalidRequest, RpcError.messages.InvalidRequest);\n }\n}\nexport class RpcMethodNotFoundError extends RpcError {\n #class = RpcMethodNotFoundError;\n name = this.#class.name;\n static code = RpcError.codes.MethodNotFound;\n static message = RpcError.messages.MethodNotFound;\n constructor() {\n super(RpcError.codes.MethodNotFound, RpcError.messages.MethodNotFound);\n }\n}\nexport class RpcInvalidParamsError extends RpcError {\n #class = RpcInvalidParamsError;\n name = this.#class.name;\n static code = RpcError.codes.InvalidParams;\n static message = RpcError.messages.InvalidParams;\n constructor() {\n super(RpcError.codes.InvalidParams, RpcError.messages.InvalidParams);\n }\n}\nexport class RpcInternalError extends RpcError {\n #class = RpcInternalError;\n name = this.#class.name;\n static code = RpcError.codes.InternalError;\n static message = RpcError.messages.InternalError;\n constructor() {\n super(RpcError.codes.InternalError, RpcError.messages.InternalError);\n }\n}\nexport class RpcErr extends Err {\n id;\n error;\n jsonrpc = \"2.0\";\n constructor(id, error) {\n super(error);\n this.id = id;\n this.error = error;\n }\n static from(init) {\n return new RpcErr(init.id, RpcError.from(init.error));\n }\n}\n//# sourceMappingURL=err.js.map"],"names":["Err"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var result = require('@hazae41/result');
|
|
4
|
+
|
|
5
|
+
exports.RpcOkInit = void 0;
|
|
6
|
+
(function (RpcOkInit) {
|
|
7
|
+
function from(response) {
|
|
8
|
+
const { jsonrpc, id, result } = response;
|
|
9
|
+
return { jsonrpc, id, result };
|
|
10
|
+
}
|
|
11
|
+
RpcOkInit.from = from;
|
|
12
|
+
})(exports.RpcOkInit || (exports.RpcOkInit = {}));
|
|
13
|
+
class RpcOk extends result.Ok {
|
|
14
|
+
id;
|
|
15
|
+
result;
|
|
16
|
+
jsonrpc = "2.0";
|
|
17
|
+
constructor(id, result) {
|
|
18
|
+
super(result);
|
|
19
|
+
this.id = id;
|
|
20
|
+
this.result = result;
|
|
21
|
+
}
|
|
22
|
+
static from(init) {
|
|
23
|
+
return new RpcOk(init.id, init.result);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
exports.RpcOk = RpcOk;
|
|
28
|
+
//# sourceMappingURL=ok.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ok.cjs","sources":["../../../../src/mods/rpc/ok.ts"],"sourcesContent":["import { Ok } from \"@hazae41/result\";\nexport var RpcOkInit;\n(function (RpcOkInit) {\n function from(response) {\n const { jsonrpc, id, result } = response;\n return { jsonrpc, id, result };\n }\n RpcOkInit.from = from;\n})(RpcOkInit || (RpcOkInit = {}));\nexport class RpcOk extends Ok {\n id;\n result;\n jsonrpc = \"2.0\";\n constructor(id, result) {\n super(result);\n this.id = id;\n this.result = result;\n }\n static from(init) {\n return new RpcOk(init.id, init.result);\n }\n}\n//# sourceMappingURL=ok.js.map"],"names":["RpcOkInit","Ok"],"mappings":";;;;AACWA,2BAAU;AACrB,CAAC,UAAU,SAAS,EAAE;AACtB,IAAI,SAAS,IAAI,CAAC,QAAQ,EAAE;AAC5B,QAAQ,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;AACjD,QAAQ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACvC,KAAK;AACL,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;AAC1B,CAAC,EAAEA,iBAAS,KAAKA,iBAAS,GAAG,EAAE,CAAC,CAAC,CAAC;AAC3B,MAAM,KAAK,SAASC,SAAE,CAAC;AAC9B,IAAI,EAAE,CAAC;AACP,IAAI,MAAM,CAAC;AACX,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE;AAC5B,QAAQ,KAAK,CAAC,MAAM,CAAC,CAAC;AACtB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACrB,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE;AACtB,QAAQ,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/C,KAAK;AACL;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class RpcRequest {
|
|
4
|
+
id;
|
|
5
|
+
method;
|
|
6
|
+
params;
|
|
7
|
+
jsonrpc = "2.0";
|
|
8
|
+
constructor(id, method, params) {
|
|
9
|
+
this.id = id;
|
|
10
|
+
this.method = method;
|
|
11
|
+
this.params = params;
|
|
12
|
+
}
|
|
13
|
+
static from(init) {
|
|
14
|
+
const { id, method, params } = init;
|
|
15
|
+
return new RpcRequest(id, method, params);
|
|
16
|
+
}
|
|
17
|
+
toJSON() {
|
|
18
|
+
const { jsonrpc, id, method, params } = this;
|
|
19
|
+
return { jsonrpc, id, method, params };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
exports.RpcRequest = RpcRequest;
|
|
24
|
+
//# sourceMappingURL=request.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.cjs","sources":["../../../../src/mods/rpc/request.ts"],"sourcesContent":["export class RpcRequest {\n id;\n method;\n params;\n jsonrpc = \"2.0\";\n constructor(id, method, params) {\n this.id = id;\n this.method = method;\n this.params = params;\n }\n static from(init) {\n const { id, method, params } = init;\n return new RpcRequest(id, method, params);\n }\n toJSON() {\n const { jsonrpc, id, method, params } = this;\n return { jsonrpc, id, method, params };\n }\n}\n//# sourceMappingURL=request.js.map"],"names":[],"mappings":";;AAAO,MAAM,UAAU,CAAC;AACxB,IAAI,EAAE,CAAC;AACP,IAAI,MAAM,CAAC;AACX,IAAI,MAAM,CAAC;AACX,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;AACpC,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACrB,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE;AACtB,QAAQ,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;AAC5C,QAAQ,OAAO,IAAI,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,MAAM,GAAG;AACb,QAAQ,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;AACrD,QAAQ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC/C,KAAK;AACL;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var err = require('./err.cjs');
|
|
4
|
+
var ok = require('./ok.cjs');
|
|
5
|
+
|
|
6
|
+
exports.RpcResponse = void 0;
|
|
7
|
+
(function (RpcResponse) {
|
|
8
|
+
function from(init) {
|
|
9
|
+
if ("error" in init)
|
|
10
|
+
return err.RpcErr.from(init);
|
|
11
|
+
return ok.RpcOk.from(init);
|
|
12
|
+
}
|
|
13
|
+
RpcResponse.from = from;
|
|
14
|
+
function rewrap(id, result) {
|
|
15
|
+
result.ignore();
|
|
16
|
+
if (result.isOk())
|
|
17
|
+
return new ok.RpcOk(id, result.inner);
|
|
18
|
+
if (result.inner instanceof Error)
|
|
19
|
+
return new err.RpcErr(id, new err.RpcError(-32603, result.inner.message));
|
|
20
|
+
return new err.RpcErr(id, new err.RpcError(-32603, "An unknown error occured"));
|
|
21
|
+
}
|
|
22
|
+
RpcResponse.rewrap = rewrap;
|
|
23
|
+
})(exports.RpcResponse || (exports.RpcResponse = {}));
|
|
24
|
+
//# sourceMappingURL=response.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.cjs","sources":["../../../../src/mods/rpc/response.ts"],"sourcesContent":["import { RpcErr, RpcError } from \"./err.js\";\nimport { RpcOk } from \"./ok.js\";\nexport var RpcResponse;\n(function (RpcResponse) {\n function from(init) {\n if (\"error\" in init)\n return RpcErr.from(init);\n return RpcOk.from(init);\n }\n RpcResponse.from = from;\n function rewrap(id, result) {\n result.ignore();\n if (result.isOk())\n return new RpcOk(id, result.inner);\n if (result.inner instanceof Error)\n return new RpcErr(id, new RpcError(-32603, result.inner.message));\n return new RpcErr(id, new RpcError(-32603, \"An unknown error occured\"));\n }\n RpcResponse.rewrap = rewrap;\n})(RpcResponse || (RpcResponse = {}));\n//# sourceMappingURL=response.js.map"],"names":["RpcResponse","RpcErr","RpcOk","RpcError"],"mappings":";;;;;AAEWA,6BAAY;AACvB,CAAC,UAAU,WAAW,EAAE;AACxB,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE;AACxB,QAAQ,IAAI,OAAO,IAAI,IAAI;AAC3B,YAAY,OAAOC,UAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,QAAQ,OAAOC,QAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,IAAI,SAAS,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE;AAChC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;AACxB,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;AACzB,YAAY,OAAO,IAAIA,QAAK,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAQ,IAAI,MAAM,CAAC,KAAK,YAAY,KAAK;AACzC,YAAY,OAAO,IAAID,UAAM,CAAC,EAAE,EAAE,IAAIE,YAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9E,QAAQ,OAAO,IAAIF,UAAM,CAAC,EAAE,EAAE,IAAIE,YAAQ,CAAC,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAChF,KAAK;AACL,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC,EAAEH,mBAAW,KAAKA,mBAAW,GAAG,EAAE,CAAC,CAAC;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var request = require('./request.cjs');
|
|
4
|
+
|
|
5
|
+
class RpcCounter {
|
|
6
|
+
id = 0;
|
|
7
|
+
prepare(init) {
|
|
8
|
+
return new request.RpcRequest(this.id++, init.method, init.params);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.RpcCounter = RpcCounter;
|
|
13
|
+
//# sourceMappingURL=rpc.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.cjs","sources":["../../../../src/mods/rpc/rpc.ts"],"sourcesContent":["import { RpcRequest } from \"./request.js\";\nexport class RpcCounter {\n id = 0;\n prepare(init) {\n return new RpcRequest(this.id++, init.method, init.params);\n }\n}\n//# sourceMappingURL=rpc.js.map"],"names":["RpcRequest"],"mappings":";;;;AACO,MAAM,UAAU,CAAC;AACxB,IAAI,EAAE,GAAG,CAAC,CAAC;AACX,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,OAAO,IAAIA,kBAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACnE,KAAK;AACL;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { RpcErr, RpcError, RpcInternalError, RpcInvalidParamsError, RpcInvalidRequestError, RpcMethodNotFoundError, RpcParseError } from './mods/rpc/err.mjs';
|
|
2
|
+
export { RpcOk, RpcOkInit } from './mods/rpc/ok.mjs';
|
|
3
|
+
export { RpcRequest } from './mods/rpc/request.mjs';
|
|
4
|
+
export { RpcResponse } from './mods/rpc/response.mjs';
|
|
5
|
+
export { RpcCounter } from './mods/rpc/rpc.mjs';
|
|
6
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Err } from '@hazae41/result';
|
|
2
|
+
|
|
3
|
+
class RpcError extends Error {
|
|
4
|
+
code;
|
|
5
|
+
message;
|
|
6
|
+
data;
|
|
7
|
+
#class = RpcError;
|
|
8
|
+
name = this.#class.name;
|
|
9
|
+
static codes = {
|
|
10
|
+
ParseError: -32700,
|
|
11
|
+
InvalidRequest: -32600,
|
|
12
|
+
MethodNotFound: -32601,
|
|
13
|
+
InvalidParams: -32602,
|
|
14
|
+
InternalError: -32603
|
|
15
|
+
};
|
|
16
|
+
static messages = {
|
|
17
|
+
ParseError: "Parse error",
|
|
18
|
+
InvalidRequest: "Invalid Request",
|
|
19
|
+
MethodNotFound: "Method not found",
|
|
20
|
+
InvalidParams: "Invalid params",
|
|
21
|
+
InternalError: "Internal error",
|
|
22
|
+
ServerError: "Server error"
|
|
23
|
+
};
|
|
24
|
+
constructor(code, message, data = undefined) {
|
|
25
|
+
super(message);
|
|
26
|
+
this.code = code;
|
|
27
|
+
this.message = message;
|
|
28
|
+
this.data = data;
|
|
29
|
+
}
|
|
30
|
+
static from(init) {
|
|
31
|
+
const { code, message, data } = init;
|
|
32
|
+
return new RpcError(code, message, data);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Used by JSON.stringify
|
|
36
|
+
*/
|
|
37
|
+
toJSON() {
|
|
38
|
+
const { code, message, data } = this;
|
|
39
|
+
return { code, message, data };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
class RpcParseError extends RpcError {
|
|
43
|
+
#class = RpcParseError;
|
|
44
|
+
name = this.#class.name;
|
|
45
|
+
static code = RpcError.codes.ParseError;
|
|
46
|
+
static message = RpcError.messages.ParseError;
|
|
47
|
+
constructor() {
|
|
48
|
+
super(RpcError.codes.ParseError, RpcError.messages.ParseError);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
class RpcInvalidRequestError extends RpcError {
|
|
52
|
+
#class = RpcInvalidRequestError;
|
|
53
|
+
name = this.#class.name;
|
|
54
|
+
static code = RpcError.codes.InvalidRequest;
|
|
55
|
+
static message = RpcError.messages.InvalidRequest;
|
|
56
|
+
constructor() {
|
|
57
|
+
super(RpcError.codes.InvalidRequest, RpcError.messages.InvalidRequest);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
class RpcMethodNotFoundError extends RpcError {
|
|
61
|
+
#class = RpcMethodNotFoundError;
|
|
62
|
+
name = this.#class.name;
|
|
63
|
+
static code = RpcError.codes.MethodNotFound;
|
|
64
|
+
static message = RpcError.messages.MethodNotFound;
|
|
65
|
+
constructor() {
|
|
66
|
+
super(RpcError.codes.MethodNotFound, RpcError.messages.MethodNotFound);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
class RpcInvalidParamsError extends RpcError {
|
|
70
|
+
#class = RpcInvalidParamsError;
|
|
71
|
+
name = this.#class.name;
|
|
72
|
+
static code = RpcError.codes.InvalidParams;
|
|
73
|
+
static message = RpcError.messages.InvalidParams;
|
|
74
|
+
constructor() {
|
|
75
|
+
super(RpcError.codes.InvalidParams, RpcError.messages.InvalidParams);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
class RpcInternalError extends RpcError {
|
|
79
|
+
#class = RpcInternalError;
|
|
80
|
+
name = this.#class.name;
|
|
81
|
+
static code = RpcError.codes.InternalError;
|
|
82
|
+
static message = RpcError.messages.InternalError;
|
|
83
|
+
constructor() {
|
|
84
|
+
super(RpcError.codes.InternalError, RpcError.messages.InternalError);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
class RpcErr extends Err {
|
|
88
|
+
id;
|
|
89
|
+
error;
|
|
90
|
+
jsonrpc = "2.0";
|
|
91
|
+
constructor(id, error) {
|
|
92
|
+
super(error);
|
|
93
|
+
this.id = id;
|
|
94
|
+
this.error = error;
|
|
95
|
+
}
|
|
96
|
+
static from(init) {
|
|
97
|
+
return new RpcErr(init.id, RpcError.from(init.error));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export { RpcErr, RpcError, RpcInternalError, RpcInvalidParamsError, RpcInvalidRequestError, RpcMethodNotFoundError, RpcParseError };
|
|
102
|
+
//# sourceMappingURL=err.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"err.mjs","sources":["../../../../src/mods/rpc/err.ts"],"sourcesContent":["import { Err } from \"@hazae41/result\";\nexport class RpcError extends Error {\n code;\n message;\n data;\n #class = RpcError;\n name = this.#class.name;\n static codes = {\n ParseError: -32700,\n InvalidRequest: -32600,\n MethodNotFound: -32601,\n InvalidParams: -32602,\n InternalError: -32603\n };\n static messages = {\n ParseError: \"Parse error\",\n InvalidRequest: \"Invalid Request\",\n MethodNotFound: \"Method not found\",\n InvalidParams: \"Invalid params\",\n InternalError: \"Internal error\",\n ServerError: \"Server error\"\n };\n constructor(code, message, data = undefined) {\n super(message);\n this.code = code;\n this.message = message;\n this.data = data;\n }\n static from(init) {\n const { code, message, data } = init;\n return new RpcError(code, message, data);\n }\n /**\n * Used by JSON.stringify\n */\n toJSON() {\n const { code, message, data } = this;\n return { code, message, data };\n }\n}\nexport class RpcParseError extends RpcError {\n #class = RpcParseError;\n name = this.#class.name;\n static code = RpcError.codes.ParseError;\n static message = RpcError.messages.ParseError;\n constructor() {\n super(RpcError.codes.ParseError, RpcError.messages.ParseError);\n }\n}\nexport class RpcInvalidRequestError extends RpcError {\n #class = RpcInvalidRequestError;\n name = this.#class.name;\n static code = RpcError.codes.InvalidRequest;\n static message = RpcError.messages.InvalidRequest;\n constructor() {\n super(RpcError.codes.InvalidRequest, RpcError.messages.InvalidRequest);\n }\n}\nexport class RpcMethodNotFoundError extends RpcError {\n #class = RpcMethodNotFoundError;\n name = this.#class.name;\n static code = RpcError.codes.MethodNotFound;\n static message = RpcError.messages.MethodNotFound;\n constructor() {\n super(RpcError.codes.MethodNotFound, RpcError.messages.MethodNotFound);\n }\n}\nexport class RpcInvalidParamsError extends RpcError {\n #class = RpcInvalidParamsError;\n name = this.#class.name;\n static code = RpcError.codes.InvalidParams;\n static message = RpcError.messages.InvalidParams;\n constructor() {\n super(RpcError.codes.InvalidParams, RpcError.messages.InvalidParams);\n }\n}\nexport class RpcInternalError extends RpcError {\n #class = RpcInternalError;\n name = this.#class.name;\n static code = RpcError.codes.InternalError;\n static message = RpcError.messages.InternalError;\n constructor() {\n super(RpcError.codes.InternalError, RpcError.messages.InternalError);\n }\n}\nexport class RpcErr extends Err {\n id;\n error;\n jsonrpc = \"2.0\";\n constructor(id, error) {\n super(error);\n this.id = id;\n this.error = error;\n }\n static from(init) {\n return new RpcErr(init.id, RpcError.from(init.error));\n }\n}\n//# sourceMappingURL=err.js.map"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Ok } from '@hazae41/result';
|
|
2
|
+
|
|
3
|
+
var RpcOkInit;
|
|
4
|
+
(function (RpcOkInit) {
|
|
5
|
+
function from(response) {
|
|
6
|
+
const { jsonrpc, id, result } = response;
|
|
7
|
+
return { jsonrpc, id, result };
|
|
8
|
+
}
|
|
9
|
+
RpcOkInit.from = from;
|
|
10
|
+
})(RpcOkInit || (RpcOkInit = {}));
|
|
11
|
+
class RpcOk extends Ok {
|
|
12
|
+
id;
|
|
13
|
+
result;
|
|
14
|
+
jsonrpc = "2.0";
|
|
15
|
+
constructor(id, result) {
|
|
16
|
+
super(result);
|
|
17
|
+
this.id = id;
|
|
18
|
+
this.result = result;
|
|
19
|
+
}
|
|
20
|
+
static from(init) {
|
|
21
|
+
return new RpcOk(init.id, init.result);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { RpcOk, RpcOkInit };
|
|
26
|
+
//# sourceMappingURL=ok.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ok.mjs","sources":["../../../../src/mods/rpc/ok.ts"],"sourcesContent":["import { Ok } from \"@hazae41/result\";\nexport var RpcOkInit;\n(function (RpcOkInit) {\n function from(response) {\n const { jsonrpc, id, result } = response;\n return { jsonrpc, id, result };\n }\n RpcOkInit.from = from;\n})(RpcOkInit || (RpcOkInit = {}));\nexport class RpcOk extends Ok {\n id;\n result;\n jsonrpc = \"2.0\";\n constructor(id, result) {\n super(result);\n this.id = id;\n this.result = result;\n }\n static from(init) {\n return new RpcOk(init.id, init.result);\n }\n}\n//# sourceMappingURL=ok.js.map"],"names":[],"mappings":";;AACU,IAAC,UAAU;AACrB,CAAC,UAAU,SAAS,EAAE;AACtB,IAAI,SAAS,IAAI,CAAC,QAAQ,EAAE;AAC5B,QAAQ,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;AACjD,QAAQ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACvC,KAAK;AACL,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;AAC1B,CAAC,EAAE,SAAS,KAAK,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;AAC3B,MAAM,KAAK,SAAS,EAAE,CAAC;AAC9B,IAAI,EAAE,CAAC;AACP,IAAI,MAAM,CAAC;AACX,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE;AAC5B,QAAQ,KAAK,CAAC,MAAM,CAAC,CAAC;AACtB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACrB,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE;AACtB,QAAQ,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/C,KAAK;AACL;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
class RpcRequest {
|
|
2
|
+
id;
|
|
3
|
+
method;
|
|
4
|
+
params;
|
|
5
|
+
jsonrpc = "2.0";
|
|
6
|
+
constructor(id, method, params) {
|
|
7
|
+
this.id = id;
|
|
8
|
+
this.method = method;
|
|
9
|
+
this.params = params;
|
|
10
|
+
}
|
|
11
|
+
static from(init) {
|
|
12
|
+
const { id, method, params } = init;
|
|
13
|
+
return new RpcRequest(id, method, params);
|
|
14
|
+
}
|
|
15
|
+
toJSON() {
|
|
16
|
+
const { jsonrpc, id, method, params } = this;
|
|
17
|
+
return { jsonrpc, id, method, params };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { RpcRequest };
|
|
22
|
+
//# sourceMappingURL=request.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.mjs","sources":["../../../../src/mods/rpc/request.ts"],"sourcesContent":["export class RpcRequest {\n id;\n method;\n params;\n jsonrpc = \"2.0\";\n constructor(id, method, params) {\n this.id = id;\n this.method = method;\n this.params = params;\n }\n static from(init) {\n const { id, method, params } = init;\n return new RpcRequest(id, method, params);\n }\n toJSON() {\n const { jsonrpc, id, method, params } = this;\n return { jsonrpc, id, method, params };\n }\n}\n//# sourceMappingURL=request.js.map"],"names":[],"mappings":"AAAO,MAAM,UAAU,CAAC;AACxB,IAAI,EAAE,CAAC;AACP,IAAI,MAAM,CAAC;AACX,IAAI,MAAM,CAAC;AACX,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;AACpC,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACrB,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE;AACtB,QAAQ,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;AAC5C,QAAQ,OAAO,IAAI,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,MAAM,GAAG;AACb,QAAQ,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;AACrD,QAAQ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC/C,KAAK;AACL;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { RpcErr, RpcError } from './err.mjs';
|
|
2
|
+
import { RpcOk } from './ok.mjs';
|
|
3
|
+
|
|
4
|
+
var RpcResponse;
|
|
5
|
+
(function (RpcResponse) {
|
|
6
|
+
function from(init) {
|
|
7
|
+
if ("error" in init)
|
|
8
|
+
return RpcErr.from(init);
|
|
9
|
+
return RpcOk.from(init);
|
|
10
|
+
}
|
|
11
|
+
RpcResponse.from = from;
|
|
12
|
+
function rewrap(id, result) {
|
|
13
|
+
result.ignore();
|
|
14
|
+
if (result.isOk())
|
|
15
|
+
return new RpcOk(id, result.inner);
|
|
16
|
+
if (result.inner instanceof Error)
|
|
17
|
+
return new RpcErr(id, new RpcError(-32603, result.inner.message));
|
|
18
|
+
return new RpcErr(id, new RpcError(-32603, "An unknown error occured"));
|
|
19
|
+
}
|
|
20
|
+
RpcResponse.rewrap = rewrap;
|
|
21
|
+
})(RpcResponse || (RpcResponse = {}));
|
|
22
|
+
|
|
23
|
+
export { RpcResponse };
|
|
24
|
+
//# sourceMappingURL=response.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.mjs","sources":["../../../../src/mods/rpc/response.ts"],"sourcesContent":["import { RpcErr, RpcError } from \"./err.js\";\nimport { RpcOk } from \"./ok.js\";\nexport var RpcResponse;\n(function (RpcResponse) {\n function from(init) {\n if (\"error\" in init)\n return RpcErr.from(init);\n return RpcOk.from(init);\n }\n RpcResponse.from = from;\n function rewrap(id, result) {\n result.ignore();\n if (result.isOk())\n return new RpcOk(id, result.inner);\n if (result.inner instanceof Error)\n return new RpcErr(id, new RpcError(-32603, result.inner.message));\n return new RpcErr(id, new RpcError(-32603, \"An unknown error occured\"));\n }\n RpcResponse.rewrap = rewrap;\n})(RpcResponse || (RpcResponse = {}));\n//# sourceMappingURL=response.js.map"],"names":[],"mappings":";;;AAEU,IAAC,YAAY;AACvB,CAAC,UAAU,WAAW,EAAE;AACxB,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE;AACxB,QAAQ,IAAI,OAAO,IAAI,IAAI;AAC3B,YAAY,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,IAAI,SAAS,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE;AAChC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;AACxB,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;AACzB,YAAY,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAQ,IAAI,MAAM,CAAC,KAAK,YAAY,KAAK;AACzC,YAAY,OAAO,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9E,QAAQ,OAAO,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAChF,KAAK;AACL,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC,EAAE,WAAW,KAAK,WAAW,GAAG,EAAE,CAAC,CAAC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.mjs","sources":["../../../../src/mods/rpc/rpc.ts"],"sourcesContent":["import { RpcRequest } from \"./request.js\";\nexport class RpcCounter {\n id = 0;\n prepare(init) {\n return new RpcRequest(this.id++, init.method, init.params);\n }\n}\n//# sourceMappingURL=rpc.js.map"],"names":[],"mappings":";;AACO,MAAM,UAAU,CAAC;AACxB,IAAI,EAAE,GAAG,CAAC,CAAC;AACX,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACnE,KAAK;AACL;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { RpcErr, RpcErrInit, RpcError, RpcErrorInit, RpcInternalError, RpcInvalidParamsError, RpcInvalidRequestError, RpcMethodNotFoundError, RpcParseError } from './mods/rpc/err.js';
|
|
2
|
+
export { RpcOk, RpcOkInit } from './mods/rpc/ok.js';
|
|
3
|
+
export { RpcId, RpcParamfulRequestInit, RpcParamfulRequestPreinit, RpcParamlessRequestInit, RpcParamlessRequestPreinit, RpcRequest, RpcRequestInit, RpcRequestPreinit } from './mods/rpc/request.js';
|
|
4
|
+
export { RpcResponse, RpcResponseInit } from './mods/rpc/response.js';
|
|
5
|
+
export { RpcCounter } from './mods/rpc/rpc.js';
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Err } from '@hazae41/result';
|
|
2
|
+
import { RpcId } from './request.js';
|
|
3
|
+
|
|
4
|
+
interface RpcErrorInit {
|
|
5
|
+
readonly code: number;
|
|
6
|
+
readonly message: string;
|
|
7
|
+
readonly data: unknown;
|
|
8
|
+
}
|
|
9
|
+
interface RpcErrInit {
|
|
10
|
+
readonly jsonrpc: "2.0";
|
|
11
|
+
readonly id: RpcId;
|
|
12
|
+
readonly error: RpcErrorInit;
|
|
13
|
+
}
|
|
14
|
+
declare class RpcError extends Error {
|
|
15
|
+
#private;
|
|
16
|
+
readonly code: number;
|
|
17
|
+
readonly message: string;
|
|
18
|
+
readonly data: unknown;
|
|
19
|
+
readonly name: string;
|
|
20
|
+
static readonly codes: {
|
|
21
|
+
readonly ParseError: -32700;
|
|
22
|
+
readonly InvalidRequest: -32600;
|
|
23
|
+
readonly MethodNotFound: -32601;
|
|
24
|
+
readonly InvalidParams: -32602;
|
|
25
|
+
readonly InternalError: -32603;
|
|
26
|
+
};
|
|
27
|
+
static readonly messages: {
|
|
28
|
+
readonly ParseError: "Parse error";
|
|
29
|
+
readonly InvalidRequest: "Invalid Request";
|
|
30
|
+
readonly MethodNotFound: "Method not found";
|
|
31
|
+
readonly InvalidParams: "Invalid params";
|
|
32
|
+
readonly InternalError: "Internal error";
|
|
33
|
+
readonly ServerError: "Server error";
|
|
34
|
+
};
|
|
35
|
+
constructor(code: number, message: string, data?: unknown);
|
|
36
|
+
static from(init: RpcErrorInit): RpcError;
|
|
37
|
+
/**
|
|
38
|
+
* Used by JSON.stringify
|
|
39
|
+
*/
|
|
40
|
+
toJSON(): {
|
|
41
|
+
code: number;
|
|
42
|
+
message: string;
|
|
43
|
+
data: unknown;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
declare class RpcParseError extends RpcError {
|
|
47
|
+
#private;
|
|
48
|
+
readonly name: string;
|
|
49
|
+
static readonly code: -32700;
|
|
50
|
+
static readonly message: "Parse error";
|
|
51
|
+
constructor();
|
|
52
|
+
}
|
|
53
|
+
declare class RpcInvalidRequestError extends RpcError {
|
|
54
|
+
#private;
|
|
55
|
+
readonly name: string;
|
|
56
|
+
static readonly code: -32600;
|
|
57
|
+
static readonly message: "Invalid Request";
|
|
58
|
+
constructor();
|
|
59
|
+
}
|
|
60
|
+
declare class RpcMethodNotFoundError extends RpcError {
|
|
61
|
+
#private;
|
|
62
|
+
readonly name: string;
|
|
63
|
+
static readonly code: -32601;
|
|
64
|
+
static readonly message: "Method not found";
|
|
65
|
+
constructor();
|
|
66
|
+
}
|
|
67
|
+
declare class RpcInvalidParamsError extends RpcError {
|
|
68
|
+
#private;
|
|
69
|
+
readonly name: string;
|
|
70
|
+
static readonly code: -32602;
|
|
71
|
+
static readonly message: "Invalid params";
|
|
72
|
+
constructor();
|
|
73
|
+
}
|
|
74
|
+
declare class RpcInternalError extends RpcError {
|
|
75
|
+
#private;
|
|
76
|
+
readonly name: string;
|
|
77
|
+
static readonly code: -32603;
|
|
78
|
+
static readonly message: "Internal error";
|
|
79
|
+
constructor();
|
|
80
|
+
}
|
|
81
|
+
declare class RpcErr extends Err<RpcError> {
|
|
82
|
+
readonly id: RpcId;
|
|
83
|
+
readonly error: RpcError;
|
|
84
|
+
readonly jsonrpc = "2.0";
|
|
85
|
+
constructor(id: RpcId, error: RpcError);
|
|
86
|
+
static from(init: RpcErrInit): RpcErr;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export { RpcErr, type RpcErrInit, RpcError, type RpcErrorInit, RpcInternalError, RpcInvalidParamsError, RpcInvalidRequestError, RpcMethodNotFoundError, RpcParseError };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Ok } from '@hazae41/result';
|
|
2
|
+
import { RpcId } from './request.js';
|
|
3
|
+
|
|
4
|
+
interface RpcOkInit<T = unknown> {
|
|
5
|
+
readonly jsonrpc: "2.0";
|
|
6
|
+
readonly id: RpcId;
|
|
7
|
+
readonly result: T;
|
|
8
|
+
}
|
|
9
|
+
declare namespace RpcOkInit {
|
|
10
|
+
function from<T>(response: RpcOk<T>): RpcOkInit<T>;
|
|
11
|
+
}
|
|
12
|
+
declare class RpcOk<T = unknown> extends Ok<T> {
|
|
13
|
+
readonly id: RpcId;
|
|
14
|
+
readonly result: T;
|
|
15
|
+
readonly jsonrpc = "2.0";
|
|
16
|
+
constructor(id: RpcId, result: T);
|
|
17
|
+
static from<T>(init: RpcOkInit<T>): RpcOk<T>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { RpcOk, RpcOkInit };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
type RpcId = number | string | null;
|
|
2
|
+
type RpcRequestPreinit<T = unknown> = undefined extends T ? RpcParamlessRequestPreinit<T> : RpcParamfulRequestPreinit<T>;
|
|
3
|
+
interface RpcParamfulRequestPreinit<T = unknown> {
|
|
4
|
+
readonly method: string;
|
|
5
|
+
readonly params: NonNullable<T>;
|
|
6
|
+
}
|
|
7
|
+
interface RpcParamlessRequestPreinit<T = unknown> {
|
|
8
|
+
readonly method: string;
|
|
9
|
+
readonly params?: T;
|
|
10
|
+
}
|
|
11
|
+
type RpcRequestInit<T = unknown> = undefined extends T ? RpcParamlessRequestInit<T> : RpcParamfulRequestInit<T>;
|
|
12
|
+
interface RpcParamfulRequestInit<T = unknown> {
|
|
13
|
+
readonly id: RpcId;
|
|
14
|
+
readonly method: string;
|
|
15
|
+
readonly params: NonNullable<T>;
|
|
16
|
+
}
|
|
17
|
+
interface RpcParamlessRequestInit<T = unknown> {
|
|
18
|
+
readonly id: RpcId;
|
|
19
|
+
readonly method: string;
|
|
20
|
+
readonly params?: T;
|
|
21
|
+
}
|
|
22
|
+
declare class RpcRequest<T> {
|
|
23
|
+
readonly id: RpcId;
|
|
24
|
+
readonly method: string;
|
|
25
|
+
readonly params?: T | undefined;
|
|
26
|
+
readonly jsonrpc: "2.0";
|
|
27
|
+
constructor(id: RpcId, method: string, params?: T | undefined);
|
|
28
|
+
static from<T>(init: RpcRequestInit<T>): RpcRequest<T | NonNullable<T>>;
|
|
29
|
+
toJSON(): {
|
|
30
|
+
jsonrpc: "2.0";
|
|
31
|
+
id: RpcId;
|
|
32
|
+
method: string;
|
|
33
|
+
params: T | undefined;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { type RpcId, type RpcParamfulRequestInit, type RpcParamfulRequestPreinit, type RpcParamlessRequestInit, type RpcParamlessRequestPreinit, RpcRequest, type RpcRequestInit, type RpcRequestPreinit };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Ok, Err, Result } from '@hazae41/result';
|
|
2
|
+
import { RpcErrInit, RpcErr } from './err.js';
|
|
3
|
+
import { RpcOkInit, RpcOk } from './ok.js';
|
|
4
|
+
import { RpcId } from './request.js';
|
|
5
|
+
|
|
6
|
+
type RpcResponseInit<T = unknown> = RpcOkInit<T> | RpcErrInit;
|
|
7
|
+
type RpcResponse<T = unknown> = RpcOk<T> | RpcErr;
|
|
8
|
+
declare namespace RpcResponse {
|
|
9
|
+
function from<T>(init: RpcResponseInit<T>): RpcErr | RpcOk<T>;
|
|
10
|
+
function rewrap<T extends Ok.Infer<T>>(id: RpcId, result: T): RpcOk<Ok.Inner<T>>;
|
|
11
|
+
function rewrap<T extends Err.Infer<T>>(id: RpcId, result: T): RpcErr;
|
|
12
|
+
function rewrap<T extends Result.Infer<T>>(id: RpcId, result: T): RpcResponse<Ok.Inner<T>>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { RpcResponse, type RpcResponseInit };
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "module",
|
|
3
|
+
"name": "@hazae41/jsonrpc",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Rust-like JSON-RPC for TypeScript",
|
|
6
|
+
"homepage": "https://github.com/hazae41/jsonrpc",
|
|
7
|
+
"repository": "github:hazae41/jsonrpc",
|
|
8
|
+
"author": "hazae41",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"main": "./dist/cjs/index.cjs",
|
|
11
|
+
"module": "./dist/esm/index.mjs",
|
|
12
|
+
"types": "./dist/types/index.d.ts",
|
|
13
|
+
"sideEffects": false,
|
|
14
|
+
"files": [
|
|
15
|
+
"./dist/esm",
|
|
16
|
+
"./dist/cjs",
|
|
17
|
+
"./dist/types"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "rimraf dist && rollup -c",
|
|
21
|
+
"test": "node ./dist/test/index.test.mjs",
|
|
22
|
+
"prepare": "npm run build"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@hazae41/phobos": "^1.0.10",
|
|
26
|
+
"@rollup/plugin-typescript": "^11.1.3",
|
|
27
|
+
"@types/node": "^20.6.0",
|
|
28
|
+
"rimraf": "^5.0.1",
|
|
29
|
+
"rollup": "^3.29.0",
|
|
30
|
+
"rollup-plugin-dts": "^6.0.1",
|
|
31
|
+
"rollup-plugin-node-externals": "^6.1.1",
|
|
32
|
+
"typescript": "^5.2.2"
|
|
33
|
+
},
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/types/index.d.ts",
|
|
37
|
+
"import": "./dist/esm/index.mjs",
|
|
38
|
+
"require": "./dist/cjs/index.cjs"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"keywords": [
|
|
42
|
+
"jsonrpc",
|
|
43
|
+
"rpc",
|
|
44
|
+
"result",
|
|
45
|
+
"rust",
|
|
46
|
+
"data",
|
|
47
|
+
"error",
|
|
48
|
+
"catching",
|
|
49
|
+
"ok",
|
|
50
|
+
"err",
|
|
51
|
+
"unwrap",
|
|
52
|
+
"wrap",
|
|
53
|
+
"typescript",
|
|
54
|
+
"esmodules",
|
|
55
|
+
"tested",
|
|
56
|
+
"unit-tested"
|
|
57
|
+
],
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"@hazae41/result": "^1.1.4"
|
|
60
|
+
}
|
|
61
|
+
}
|