@xxxaz/json-rpc-schema-typing 0.10.30 → 0.11.1
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 +93 -4
- package/cjs/JsonRpcException.js +4 -5
- package/cjs/JsonRpcException.js.map +1 -1
- package/cjs/JsonRpcMethod.js +22 -8
- package/cjs/JsonRpcMethod.js.map +1 -1
- package/cjs/JsonRpcValidator.js +12 -4
- package/cjs/JsonRpcValidator.js.map +1 -1
- package/cjs/JsonSchemaValidator.js +12 -5
- package/cjs/JsonSchemaValidator.js.map +1 -1
- package/cjs/WebSocketWrapper.js +8 -3
- package/cjs/WebSocketWrapper.js.map +1 -1
- package/cjs/client/JsonRpcClient.js +77 -14
- package/cjs/client/JsonRpcClient.js.map +1 -1
- package/cjs/client/JsonRpcHttp2Client.js +8 -6
- package/cjs/client/JsonRpcHttp2Client.js.map +1 -1
- package/cjs/client/JsonRpcHttpClient.js +5 -5
- package/cjs/client/JsonRpcHttpClient.js.map +1 -1
- package/cjs/client/JsonRpcMessagePortClient.js +4 -5
- package/cjs/client/JsonRpcMessagePortClient.js.map +1 -1
- package/cjs/client/JsonRpcWebSocketClient.js +5 -6
- package/cjs/client/JsonRpcWebSocketClient.js.map +1 -1
- package/cjs/client/index.js +1 -1
- package/cjs/client/index.js.map +1 -1
- package/cjs/index.js +3 -3
- package/cjs/index.js.map +1 -1
- package/cjs/router/FileSystemRouter.js +3 -3
- package/cjs/router/FileSystemRouter.js.map +1 -1
- package/cjs/router/JsonRpcRouter.js.map +1 -1
- package/cjs/router/OpenRpc.js +141 -0
- package/cjs/router/OpenRpc.js.map +1 -0
- package/cjs/router/StaticRouter.js +42 -8
- package/cjs/router/StaticRouter.js.map +1 -1
- package/cjs/router/hashObject.js +7 -4
- package/cjs/router/hashObject.js.map +1 -1
- package/cjs/router/index.js +1 -0
- package/cjs/router/index.js.map +1 -1
- package/cjs/schemas/Complex.js +10 -13
- package/cjs/schemas/Complex.js.map +1 -1
- package/cjs/schemas/Primitive.js.map +1 -1
- package/cjs/schemas/Structure.js +5 -4
- package/cjs/schemas/Structure.js.map +1 -1
- package/cjs/schemas/index.js +1 -1
- package/cjs/schemas/index.js.map +1 -1
- package/cjs/server/JsonRpcHttpReceiver.js +11 -6
- package/cjs/server/JsonRpcHttpReceiver.js.map +1 -1
- package/cjs/server/JsonRpcMessagePortReceiver.js +3 -4
- package/cjs/server/JsonRpcMessagePortReceiver.js.map +1 -1
- package/cjs/server/JsonRpcServer.js +12 -6
- package/cjs/server/JsonRpcServer.js.map +1 -1
- package/cjs/server/JsonRpcWebSocketReceiver.js +3 -4
- package/cjs/server/JsonRpcWebSocketReceiver.js.map +1 -1
- package/cjs/server/index.js +1 -1
- package/cjs/server/index.js.map +1 -1
- package/cjs/utility.js +8 -14
- package/cjs/utility.js.map +1 -1
- package/esm/JsonRpcException.js +4 -5
- package/esm/JsonRpcException.js.map +1 -1
- package/esm/JsonRpcMethod.js +22 -8
- package/esm/JsonRpcMethod.js.map +1 -1
- package/esm/JsonRpcValidator.js +12 -4
- package/esm/JsonRpcValidator.js.map +1 -1
- package/esm/JsonSchemaValidator.js +13 -6
- package/esm/JsonSchemaValidator.js.map +1 -1
- package/esm/WebSocketWrapper.js +8 -3
- package/esm/WebSocketWrapper.js.map +1 -1
- package/esm/client/JsonRpcClient.js +78 -15
- package/esm/client/JsonRpcClient.js.map +1 -1
- package/esm/client/JsonRpcHttp2Client.js +10 -8
- package/esm/client/JsonRpcHttp2Client.js.map +1 -1
- package/esm/client/JsonRpcHttpClient.js +8 -8
- package/esm/client/JsonRpcHttpClient.js.map +1 -1
- package/esm/client/JsonRpcMessagePortClient.js +6 -7
- package/esm/client/JsonRpcMessagePortClient.js.map +1 -1
- package/esm/client/JsonRpcWebSocketClient.js +8 -9
- package/esm/client/JsonRpcWebSocketClient.js.map +1 -1
- package/esm/client/index.js +1 -1
- package/esm/client/index.js.map +1 -1
- package/esm/index.js +3 -3
- package/esm/index.js.map +1 -1
- package/esm/router/FileSystemRouter.js +5 -5
- package/esm/router/FileSystemRouter.js.map +1 -1
- package/esm/router/JsonRpcRouter.js +1 -1
- package/esm/router/JsonRpcRouter.js.map +1 -1
- package/esm/router/OpenRpc.js +138 -0
- package/esm/router/OpenRpc.js.map +1 -0
- package/esm/router/StaticRouter.js +43 -9
- package/esm/router/StaticRouter.js.map +1 -1
- package/esm/router/hashObject.js +7 -4
- package/esm/router/hashObject.js.map +1 -1
- package/esm/router/index.js +1 -0
- package/esm/router/index.js.map +1 -1
- package/esm/schemas/Complex.js +10 -13
- package/esm/schemas/Complex.js.map +1 -1
- package/esm/schemas/Primitive.js.map +1 -1
- package/esm/schemas/Structure.js +6 -5
- package/esm/schemas/Structure.js.map +1 -1
- package/esm/schemas/index.js +1 -1
- package/esm/schemas/index.js.map +1 -1
- package/esm/server/JsonRpcHttpReceiver.js +13 -8
- package/esm/server/JsonRpcHttpReceiver.js.map +1 -1
- package/esm/server/JsonRpcMessagePortReceiver.js +3 -4
- package/esm/server/JsonRpcMessagePortReceiver.js.map +1 -1
- package/esm/server/JsonRpcServer.js +15 -9
- package/esm/server/JsonRpcServer.js.map +1 -1
- package/esm/server/JsonRpcWebSocketReceiver.js +4 -5
- package/esm/server/JsonRpcWebSocketReceiver.js.map +1 -1
- package/esm/server/index.js +1 -1
- package/esm/server/index.js.map +1 -1
- package/esm/utility.js +8 -14
- package/esm/utility.js.map +1 -1
- package/package.json +4 -1
- package/src/JsonRpcException.ts +29 -26
- package/src/JsonRpcMethod.ts +173 -33
- package/src/JsonRpcValidator.ts +28 -15
- package/src/JsonSchemaValidator.ts +54 -25
- package/src/WebSocketWrapper.ts +36 -19
- package/src/client/JsonRpcClient.ts +188 -58
- package/src/client/JsonRpcHttp2Client.ts +55 -34
- package/src/client/JsonRpcHttpClient.ts +56 -30
- package/src/client/JsonRpcMessagePortClient.ts +36 -27
- package/src/client/JsonRpcWebSocketClient.ts +38 -21
- package/src/client/index.ts +1 -1
- package/src/index.ts +4 -7
- package/src/router/FileSystemRouter.ts +37 -21
- package/src/router/JsonRpcRouter.ts +50 -24
- package/src/router/OpenRpc.ts +262 -0
- package/src/router/StaticRouter.ts +123 -16
- package/src/router/hashObject.ts +11 -6
- package/src/router/index.ts +1 -0
- package/src/schemas/Complex.ts +33 -28
- package/src/schemas/Primitive.ts +0 -1
- package/src/schemas/Structure.ts +18 -9
- package/src/schemas/index.ts +1 -1
- package/src/server/JsonRpcHttpReceiver.ts +60 -28
- package/src/server/JsonRpcMessagePortReceiver.ts +27 -16
- package/src/server/JsonRpcServer.ts +59 -29
- package/src/server/JsonRpcWebSocketReceiver.ts +32 -25
- package/src/server/index.ts +1 -1
- package/src/types.ts +72 -43
- package/src/utility.ts +13 -19
- package/types/JsonRpcException.d.ts +2 -2
- package/types/JsonRpcMethod.d.ts +70 -3
- package/types/JsonRpcValidator.d.ts +3 -3
- package/types/JsonSchemaValidator.d.ts +2 -2
- package/types/WebSocketWrapper.d.ts +2 -2
- package/types/client/JsonRpcClient.d.ts +20 -9
- package/types/client/JsonRpcHttp2Client.d.ts +8 -6
- package/types/client/JsonRpcHttpClient.d.ts +7 -5
- package/types/client/JsonRpcMessagePortClient.d.ts +3 -3
- package/types/client/JsonRpcWebSocketClient.d.ts +4 -4
- package/types/client/index.d.ts +1 -1
- package/types/index.d.ts +3 -3
- package/types/router/FileSystemRouter.d.ts +3 -3
- package/types/router/JsonRpcRouter.d.ts +2 -2
- package/types/router/OpenRpc.d.ts +101 -0
- package/types/router/StaticRouter.d.ts +49 -4
- package/types/router/hashObject.d.ts +1 -1
- package/types/router/index.d.ts +1 -0
- package/types/schemas/Complex.d.ts +4 -4
- package/types/schemas/Structure.d.ts +5 -2
- package/types/schemas/index.d.ts +1 -1
- package/types/server/JsonRpcHttpReceiver.d.ts +2 -2
- package/types/server/JsonRpcMessagePortReceiver.d.ts +2 -2
- package/types/server/JsonRpcServer.d.ts +2 -2
- package/types/server/JsonRpcWebSocketReceiver.d.ts +1 -1
- package/types/server/index.d.ts +1 -1
- package/types/types.d.ts +12 -6
- package/types/utility.d.ts +2 -2
package/esm/JsonRpcValidator.js
CHANGED
|
@@ -4,8 +4,12 @@ export class JsonRpcValidator {
|
|
|
4
4
|
schema;
|
|
5
5
|
constructor(schema) {
|
|
6
6
|
this.schema = schema;
|
|
7
|
-
this.#paramValidator = schema.$params
|
|
8
|
-
|
|
7
|
+
this.#paramValidator = schema.$params
|
|
8
|
+
? new JsonSchemaValidator(schema.$params)
|
|
9
|
+
: null;
|
|
10
|
+
this.#returnValidator = schema.$return
|
|
11
|
+
? new JsonSchemaValidator(schema.$return)
|
|
12
|
+
: null;
|
|
9
13
|
}
|
|
10
14
|
#paramValidator;
|
|
11
15
|
#returnValidator;
|
|
@@ -14,7 +18,9 @@ export class JsonRpcValidator {
|
|
|
14
18
|
return params;
|
|
15
19
|
const validated = this.#paramValidator.validate(params);
|
|
16
20
|
if (!validated.valid && validated.errors.length > 0) {
|
|
17
|
-
const message = validated.errors
|
|
21
|
+
const message = validated.errors
|
|
22
|
+
.map(({ instancePath, message }) => `params${instancePath ?? ''}: ${message}`)
|
|
23
|
+
.join('\n');
|
|
18
24
|
throw new InvalidParams(message, validated.errors);
|
|
19
25
|
}
|
|
20
26
|
return params;
|
|
@@ -24,7 +30,9 @@ export class JsonRpcValidator {
|
|
|
24
30
|
return result;
|
|
25
31
|
const validated = this.#returnValidator.validate(result);
|
|
26
32
|
if (!validated.valid && validated.errors.length > 0) {
|
|
27
|
-
const message = validated.errors
|
|
33
|
+
const message = validated.errors
|
|
34
|
+
.map(({ instancePath, message }) => `return.${instancePath ?? ''}: ${message}`)
|
|
35
|
+
.join('\n');
|
|
28
36
|
throw new InvalidReturn(message, validated.errors);
|
|
29
37
|
}
|
|
30
38
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonRpcValidator.js","sourceRoot":"","sources":["../src/JsonRpcValidator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JsonRpcValidator.js","sourceRoot":"","sources":["../src/JsonRpcValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAK/D,MAAM,OAAO,gBAAgB;IAKJ;IAArB,YAAqB,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO;YACjC,CAAC,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO;YAClC,CAAC,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC;IACf,CAAC;IACD,eAAe,CAA6B;IAC5C,gBAAgB,CAA6B;IAE7C,cAAc,CAAC,MAAe;QAC1B,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO,MAA+B,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM;iBAC3B,GAAG,CACA,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1B,SAAS,YAAY,IAAI,EAAE,KAAK,OAAO,EAAE,CAChD;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAA+B,CAAC;IAC3C,CAAC;IAED,cAAc,CAAC,MAAe;QAC1B,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,MAA+B,CAAC;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM;iBAC3B,GAAG,CACA,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1B,UAAU,YAAY,IAAI,EAAE,KAAK,OAAO,EAAE,CACjD;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAA+B,CAAC;IAC3C,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ajv } from 'ajv';
|
|
1
|
+
import { Ajv, } from 'ajv';
|
|
2
2
|
const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
3
3
|
const isWebWorker = typeof self !== 'undefined' &&
|
|
4
4
|
typeof self.postMessage === 'function' &&
|
|
@@ -9,7 +9,7 @@ function currentFile() {
|
|
|
9
9
|
return globalThis.__filename;
|
|
10
10
|
}
|
|
11
11
|
try {
|
|
12
|
-
return Function(
|
|
12
|
+
return Function('return import.meta.filename')();
|
|
13
13
|
}
|
|
14
14
|
catch (err) {
|
|
15
15
|
if (!(err instanceof SyntaxError))
|
|
@@ -24,7 +24,7 @@ function currentFile() {
|
|
|
24
24
|
function* serializeErrors(error) {
|
|
25
25
|
if (!error)
|
|
26
26
|
return;
|
|
27
|
-
for (const { propertyName, message, schemaPath, data, keyword, instancePath, params } of error) {
|
|
27
|
+
for (const { propertyName, message, schemaPath, data, keyword, instancePath, params, } of error) {
|
|
28
28
|
const err = {};
|
|
29
29
|
if (propertyName)
|
|
30
30
|
err.propertyName = propertyName;
|
|
@@ -80,11 +80,16 @@ export class JsonSchemaValidator {
|
|
|
80
80
|
const id = crypto.randomUUID();
|
|
81
81
|
const listener = Promise.withResolvers();
|
|
82
82
|
listeners[id] = listener;
|
|
83
|
-
worker.postMessage({
|
|
83
|
+
worker.postMessage({
|
|
84
|
+
method: methodName,
|
|
85
|
+
schema: this.schema,
|
|
86
|
+
data,
|
|
87
|
+
id,
|
|
88
|
+
});
|
|
84
89
|
return listener.promise;
|
|
85
90
|
}
|
|
86
91
|
}
|
|
87
|
-
|
|
92
|
+
const workers = new WeakMap();
|
|
88
93
|
let listeners = {};
|
|
89
94
|
async function getWorker(key) {
|
|
90
95
|
if (workers.has(key))
|
|
@@ -125,7 +130,9 @@ function onMessage(data) {
|
|
|
125
130
|
}
|
|
126
131
|
}
|
|
127
132
|
function onError(err) {
|
|
128
|
-
Object.values(listeners).forEach(({ reject }) =>
|
|
133
|
+
Object.values(listeners).forEach(({ reject }) => {
|
|
134
|
+
reject(err);
|
|
135
|
+
});
|
|
129
136
|
listeners = {};
|
|
130
137
|
}
|
|
131
138
|
function onFaild(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonSchemaValidator.js","sourceRoot":"","sources":["../src/JsonSchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"JsonSchemaValidator.js","sourceRoot":"","sources":["../src/JsonSchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,GAIN,MAAM,KAAK,CAAC;AAIb,MAAM,SAAS,GACX,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AAC5E,MAAM,WAAW,GACb,OAAO,IAAI,KAAK,WAAW;IAC3B,OAAQ,IAAY,CAAC,WAAW,KAAK,UAAU;IAC/C,OAAQ,UAAkB,CAAC,MAAM,KAAK,WAAW,CAAC;AACtD,MAAM,MAAM,GACR,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,CAAE,OAAe,CAAC,QAAQ,EAAE,IAAI,CAAC;AAExE,SAAS,WAAW;IAChB,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC,UAAU,CAAC;IACjC,CAAC;IACD,IAAI,CAAC;QACD,OAAO,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,YAAY,WAAW,CAAC;YAAE,MAAM,GAAG,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,aAErB,CAAC;IAChB,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,OAAO,MAAM,EAAE,GAAG,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAWD,QAAQ,CAAC,CAAC,eAAe,CACrB,KAA4B;IAE5B,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,MAAM,EACP,YAAY,EACZ,OAAO,EACP,UAAU,EACV,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,MAAM,GACT,IAAI,KAAK,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,EAAqB,CAAC;QAClC,IAAI,YAAY;YAAE,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;QAClD,IAAI,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,IAAI,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,IAAI,YAAY;YAAE,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;QAClD,IAAI,UAAU;YAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,CAAC;QACd,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,GAAG,wDAAwD,CAAC;AAE5E,MAAM,OAAO,mBAAmB;IAEf;IADb,YACa,MAA2B,EACpC,UAAuB;QADd,WAAM,GAAN,MAAM,CAAqB;QAGpC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAEQ,IAAI,CAAM;IACV,SAAS,CAAmB;IAErC,QAAQ,CAAC,IAAa;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAExE,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC3D,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,MAAM;YACN,UAAU;SACb,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAa;QAC7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,0BAA0B;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAoB,CAAC;QAC3D,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACzB,MAAM,CAAC,WAAW,CAAC;YACf,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI;YACJ,EAAE;SACL,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;CACJ;AAGD,MAAM,OAAO,GAAgC,IAAI,OAAO,EAAE,CAAC;AAC3D,IAAI,SAAS,GAA2D,EAAE,CAAC;AAC3E,KAAK,UAAU,SAAS,CAAC,GAAW;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAEtD,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,IAAI,MAAkB,CAAC;IACvB,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,SAAS,CAAC,IAIlB;IACG,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,QAAQ,EAAE,CAAC;QACX,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;AACL,CAAC;AACD,SAAS,OAAO,CAAC,GAAU;IACvB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,SAAS,GAAG,EAAE,CAAC;AACnB,CAAC;AACD,SAAS,OAAO,CAAC,IAAoB;IACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,QAAQ,EAAE,CAAC;QACX,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;AACL,CAAC;AAED,CAAC,KAAK,UAAU,oBAAoB;IAOhC,MAAM,SAAS,GAAG,CAAC,GAAgB,EAAE,QAA8B,EAAE,EAAE;QACnE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACjC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9D,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAgB,EAAE,EAAE;YAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO;YACtC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;YACpC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAmB,CAAC;YACnC,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO;YACtC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC,EAAE,CAAC"}
|
package/esm/WebSocketWrapper.js
CHANGED
|
@@ -41,7 +41,7 @@ export class NodeWebSocketWrapper {
|
|
|
41
41
|
return JSON.parse(await new Blob([data]).text());
|
|
42
42
|
}
|
|
43
43
|
const json = data instanceof Array
|
|
44
|
-
? data.map(d => JSON.parse(d.toString())).join('')
|
|
44
|
+
? data.map((d) => JSON.parse(d.toString())).join('')
|
|
45
45
|
: data.toString();
|
|
46
46
|
return JSON.parse(json);
|
|
47
47
|
}
|
|
@@ -55,8 +55,13 @@ export class BrowserWebSocketWrapper {
|
|
|
55
55
|
this.listener = listener;
|
|
56
56
|
this.closedListener = closedListener;
|
|
57
57
|
socket.addEventListener('message', this.#onMessage);
|
|
58
|
-
socket.addEventListener('close', ev => {
|
|
59
|
-
closedListener({
|
|
58
|
+
socket.addEventListener('close', (ev) => {
|
|
59
|
+
closedListener({
|
|
60
|
+
code: ev.code,
|
|
61
|
+
reason: ev.reason,
|
|
62
|
+
wasClean: ev.wasClean,
|
|
63
|
+
wrapper: this,
|
|
64
|
+
});
|
|
60
65
|
this.socket.removeEventListener('message', this.#onMessage);
|
|
61
66
|
});
|
|
62
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketWrapper.js","sourceRoot":"","sources":["../src/WebSocketWrapper.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,aAAa,
|
|
1
|
+
{"version":3,"file":"WebSocketWrapper.js","sourceRoot":"","sources":["../src/WebSocketWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { JsonStreamingParser, ParsingJsonArray } from '@xxxaz/stream-api-json';
|
|
2
|
-
import { ClientUncaughtError, InvalidParams, JsonRpcException } from "../JsonRpcException.js";
|
|
3
|
-
import { JsonRpcValidator } from "../JsonRpcValidator.js";
|
|
4
2
|
import { LazyResolvers } from '@xxxaz/stream-api-json/utility';
|
|
3
|
+
import { ClientUncaughtError, InvalidParams, JsonRpcException, } from '../JsonRpcException.js';
|
|
4
|
+
import { JsonRpcValidator } from '../JsonRpcValidator.js';
|
|
5
5
|
import { stringifyStream } from '../utility.js';
|
|
6
6
|
export const $generateId = Symbol('GenereteId');
|
|
7
7
|
export const $requestStack = Symbol('RequestsStack');
|
|
@@ -15,7 +15,8 @@ export class JsonRpcClient {
|
|
|
15
15
|
this.#schema = options.schema;
|
|
16
16
|
this.#postRpc = options.post;
|
|
17
17
|
this.#postBatch = options.batch ?? options.post;
|
|
18
|
-
this[$generateId] =
|
|
18
|
+
this[$generateId] =
|
|
19
|
+
options.generateId ?? JsonRpcClient.defaultIdGenerator;
|
|
19
20
|
}
|
|
20
21
|
static async defaultIdGenerator() {
|
|
21
22
|
return crypto.randomUUID();
|
|
@@ -34,7 +35,10 @@ export class JsonRpcClient {
|
|
|
34
35
|
async postBatch(requests) {
|
|
35
36
|
const waits = new Map(requests
|
|
36
37
|
.filter(({ request: { id } }) => id != null)
|
|
37
|
-
.map(({ request, promise }) => [
|
|
38
|
+
.map(({ request, promise }) => [
|
|
39
|
+
request.id,
|
|
40
|
+
{ request, promise },
|
|
41
|
+
]));
|
|
38
42
|
const noWaits = new Set(requests.filter(({ request: { id } }) => id == null));
|
|
39
43
|
try {
|
|
40
44
|
const requestList = requests.map(({ request: r }) => r);
|
|
@@ -43,7 +47,7 @@ export class JsonRpcClient {
|
|
|
43
47
|
if (streamJson instanceof ParsingJsonArray) {
|
|
44
48
|
const results = [];
|
|
45
49
|
for await (const responseStream of streamJson) {
|
|
46
|
-
const res = await responseStream.all() ?? {};
|
|
50
|
+
const res = (await responseStream.all()) ?? {};
|
|
47
51
|
results.push(res);
|
|
48
52
|
const { id, error } = res;
|
|
49
53
|
const { promise } = waits.get(id) ?? {};
|
|
@@ -95,22 +99,29 @@ export class JsonRpcClient {
|
|
|
95
99
|
for (const { promise, request } of waits.values()) {
|
|
96
100
|
promise.reject(new ClientUncaughtError('Orphan rpc request.', request));
|
|
97
101
|
}
|
|
98
|
-
noWaits.forEach(({ promise }) =>
|
|
102
|
+
noWaits.forEach(({ promise }) => {
|
|
103
|
+
promise.resolve();
|
|
104
|
+
});
|
|
99
105
|
}
|
|
100
106
|
}
|
|
107
|
+
#proxy(stack) {
|
|
108
|
+
return this.#schema
|
|
109
|
+
? proxyRpc(stack, this.#schema)
|
|
110
|
+
: proxyPathRpc(stack);
|
|
111
|
+
}
|
|
101
112
|
#rpc;
|
|
102
113
|
get rpc() {
|
|
103
|
-
return this.#rpc ??=
|
|
114
|
+
return (this.#rpc ??= this.#proxy(new NoStack(this)));
|
|
104
115
|
}
|
|
105
116
|
#batch;
|
|
106
117
|
get batch() {
|
|
107
|
-
return this.#batch ??=
|
|
118
|
+
return (this.#batch ??= this.#proxy(new BatchStack(this)));
|
|
108
119
|
}
|
|
109
120
|
kickBatch() {
|
|
110
121
|
return this.batch[$requestStack].kick();
|
|
111
122
|
}
|
|
112
123
|
lazy(delayMs = 0) {
|
|
113
|
-
return
|
|
124
|
+
return this.#proxy(new LazyStack(this, delayMs));
|
|
114
125
|
}
|
|
115
126
|
}
|
|
116
127
|
class RequestsStack {
|
|
@@ -122,7 +133,9 @@ class RequestsStack {
|
|
|
122
133
|
const jsonrpc = '2.0';
|
|
123
134
|
const method = methodPath.join('.');
|
|
124
135
|
const id = requireId ? await this.client[$generateId]() : null;
|
|
125
|
-
return id
|
|
136
|
+
return id
|
|
137
|
+
? { jsonrpc, id, method, params }
|
|
138
|
+
: { jsonrpc, method, params };
|
|
126
139
|
}
|
|
127
140
|
}
|
|
128
141
|
class NoStack extends RequestsStack {
|
|
@@ -138,8 +151,7 @@ class BatchStack extends RequestsStack {
|
|
|
138
151
|
}
|
|
139
152
|
stack(requireId, methodPath, params) {
|
|
140
153
|
const resolver = new LazyResolvers();
|
|
141
|
-
const wait = this.buildRequest(requireId, methodPath, params)
|
|
142
|
-
.then((request) => ({ request, promise: resolver }));
|
|
154
|
+
const wait = this.buildRequest(requireId, methodPath, params).then((request) => ({ request, promise: resolver }));
|
|
143
155
|
this.#requests.push(wait);
|
|
144
156
|
return resolver.promise;
|
|
145
157
|
}
|
|
@@ -180,10 +192,60 @@ function proxyRpc(stack, schema, methodPath = []) {
|
|
|
180
192
|
const cache = { [$requestStack]: stack };
|
|
181
193
|
return new Proxy(schema, {
|
|
182
194
|
get(_, key) {
|
|
183
|
-
return cache[key] ??= pickProperty(key);
|
|
184
|
-
}
|
|
195
|
+
return (cache[key] ??= pickProperty(key));
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* スキーマ値を持たない純パスビルダ Proxy。
|
|
201
|
+
* プロパティアクセスでメソッドパスを積み、呼び出しで送信する。実行時検証は行わない。
|
|
202
|
+
* - 単一引数が配列以外のオブジェクトの場合は by-name (params オブジェクト) として送信
|
|
203
|
+
* - それ以外は by-position (params 配列) として送信
|
|
204
|
+
*/
|
|
205
|
+
function proxyPathRpc(stack, methodPath = []) {
|
|
206
|
+
const cache = {};
|
|
207
|
+
const trigger = pathTriggerFunction(stack, methodPath);
|
|
208
|
+
return new Proxy(trigger, {
|
|
209
|
+
get(target, key) {
|
|
210
|
+
if (key === $requestStack)
|
|
211
|
+
return stack;
|
|
212
|
+
if (key === $methodPath)
|
|
213
|
+
return methodPath;
|
|
214
|
+
// await 誤爆 (thenable 判定) や JSON.stringify を子パス化しない
|
|
215
|
+
if (typeof key !== 'string' || key === 'then' || key === 'toJSON')
|
|
216
|
+
return Reflect.get(target, key);
|
|
217
|
+
if (key === 'notice')
|
|
218
|
+
return target.notice;
|
|
219
|
+
return (cache[key] ??= proxyPathRpc(stack, [...methodPath, key]));
|
|
220
|
+
},
|
|
185
221
|
});
|
|
186
222
|
}
|
|
223
|
+
function pathTriggerFunction(stack, methodPath) {
|
|
224
|
+
const normalizeParams = (params) => params.length === 1 &&
|
|
225
|
+
params[0] !== null &&
|
|
226
|
+
typeof params[0] === 'object' &&
|
|
227
|
+
!Array.isArray(params[0])
|
|
228
|
+
? params[0]
|
|
229
|
+
: params;
|
|
230
|
+
const assertPath = () => {
|
|
231
|
+
if (!methodPath.length)
|
|
232
|
+
throw new ClientUncaughtError('Method path is empty.', null);
|
|
233
|
+
};
|
|
234
|
+
const fn = async (...params) => {
|
|
235
|
+
assertPath();
|
|
236
|
+
const response = (await stack.stack(true, methodPath, normalizeParams(params))) ??
|
|
237
|
+
{};
|
|
238
|
+
if ('error' in response) {
|
|
239
|
+
throw JsonRpcException.deserialize(response.error);
|
|
240
|
+
}
|
|
241
|
+
return response.result;
|
|
242
|
+
};
|
|
243
|
+
fn.notice = (...params) => {
|
|
244
|
+
assertPath();
|
|
245
|
+
stack.stack(false, methodPath, normalizeParams(params));
|
|
246
|
+
};
|
|
247
|
+
return fn;
|
|
248
|
+
}
|
|
187
249
|
function triggerFunction(stack, schema, methodPath) {
|
|
188
250
|
const validator = new JsonRpcValidator(schema);
|
|
189
251
|
const validateParams = (params) => {
|
|
@@ -201,7 +263,8 @@ function triggerFunction(stack, schema, methodPath) {
|
|
|
201
263
|
};
|
|
202
264
|
const fn = async (...params) => {
|
|
203
265
|
params = validateParams(params);
|
|
204
|
-
const response = await stack.stack(true, methodPath, params) ??
|
|
266
|
+
const response = (await stack.stack(true, methodPath, params)) ??
|
|
267
|
+
{};
|
|
205
268
|
if ('error' in response) {
|
|
206
269
|
throw JsonRpcException.deserialize(response.error);
|
|
207
270
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonRpcClient.js","sourceRoot":"","sources":["../../src/client/JsonRpcClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JsonRpcClient.js","sourceRoot":"","sources":["../../src/client/JsonRpcClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import http2 from 'http2';
|
|
2
|
-
import { ClientHttpError } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { ClientHttpError } from '../JsonRpcException.js';
|
|
3
|
+
import { readStreamAll } from '../utility.js';
|
|
4
|
+
import { JsonRpcClient } from './JsonRpcClient.js';
|
|
5
5
|
export class JsonRpcHttp2Client extends JsonRpcClient {
|
|
6
6
|
constructor(options) {
|
|
7
7
|
const { schema, generateId, postUrl, batchUrl } = options;
|
|
@@ -17,7 +17,7 @@ export class JsonRpcHttp2Client extends JsonRpcClient {
|
|
|
17
17
|
this.#responseConverter = options.responseConverter;
|
|
18
18
|
this.#initGenerator = async (body) => {
|
|
19
19
|
const init = options.headers;
|
|
20
|
-
const headers =
|
|
20
|
+
const headers = typeof init === 'function'
|
|
21
21
|
? new Headers(await init(body))
|
|
22
22
|
: new Headers(init);
|
|
23
23
|
if (!headers.has('Content-Type')) {
|
|
@@ -46,7 +46,7 @@ export class JsonRpcHttp2Client extends JsonRpcClient {
|
|
|
46
46
|
const clientError = new Promise((_, reject) => {
|
|
47
47
|
client.on('error', (err) => reject(err));
|
|
48
48
|
});
|
|
49
|
-
const { HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS
|
|
49
|
+
const { HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } = http2.constants;
|
|
50
50
|
try {
|
|
51
51
|
const req = client.request({
|
|
52
52
|
...init,
|
|
@@ -63,8 +63,10 @@ export class JsonRpcHttp2Client extends JsonRpcClient {
|
|
|
63
63
|
req.setEncoding('utf8');
|
|
64
64
|
req.write(new Uint8Array(await body.arrayBuffer()));
|
|
65
65
|
req.end();
|
|
66
|
-
const headers = await headerPromise;
|
|
67
|
-
const status = Number(headers[HTTP2_HEADER_STATUS] instanceof Array
|
|
66
|
+
const headers = (await headerPromise);
|
|
67
|
+
const status = Number(headers[HTTP2_HEADER_STATUS] instanceof Array
|
|
68
|
+
? headers[HTTP2_HEADER_STATUS][0]
|
|
69
|
+
: headers[HTTP2_HEADER_STATUS]);
|
|
68
70
|
if (Math.floor(status / 100) !== 2) {
|
|
69
71
|
const message = `${status} Satus Code is not OK`;
|
|
70
72
|
console.warn(new ClientHttpError(message, { headers }));
|
|
@@ -74,7 +76,7 @@ export class JsonRpcHttp2Client extends JsonRpcClient {
|
|
|
74
76
|
req.on('error', (error) => controller.error(error));
|
|
75
77
|
req.on('data', (chunk) => controller.enqueue(chunk));
|
|
76
78
|
req.on('end', () => controller.close());
|
|
77
|
-
}
|
|
79
|
+
},
|
|
78
80
|
});
|
|
79
81
|
return this.#responseConverter
|
|
80
82
|
? this.#responseConverter(stream, headers['content-type'])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonRpcHttp2Client.js","sourceRoot":"","sources":["../../src/client/JsonRpcHttp2Client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"JsonRpcHttp2Client.js","sourceRoot":"","sources":["../../src/client/JsonRpcHttp2Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { responseToTextStream } from
|
|
2
|
-
import { ClientHttpError } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { responseToTextStream } from '@xxxaz/stream-api-json/helpers-browser';
|
|
2
|
+
import { ClientHttpError } from '../JsonRpcException.js';
|
|
3
|
+
import { emptyStrem, readStreamAll } from '../utility.js';
|
|
4
|
+
import { JsonRpcClient } from './JsonRpcClient.js';
|
|
5
5
|
export class JsonRpcHttpClient extends JsonRpcClient {
|
|
6
6
|
constructor(options) {
|
|
7
7
|
const { schema, generateId, postUrl, batchUrl } = options;
|
|
@@ -17,7 +17,7 @@ export class JsonRpcHttpClient extends JsonRpcClient {
|
|
|
17
17
|
this.#responseConverter = options.responseConverter;
|
|
18
18
|
this.#initGenerator = async (body) => {
|
|
19
19
|
const init = options.headers;
|
|
20
|
-
const headers =
|
|
20
|
+
const headers = typeof init === 'function'
|
|
21
21
|
? new Headers(await init(body))
|
|
22
22
|
: new Headers(init);
|
|
23
23
|
if (!headers.has('Content-Type')) {
|
|
@@ -29,9 +29,9 @@ export class JsonRpcHttpClient extends JsonRpcClient {
|
|
|
29
29
|
headers,
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
|
-
const fetcher = options.fetcher
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const fetcher = options.fetcher ||
|
|
33
|
+
('fetch' in globalThis && globalThis.fetch.bind(globalThis)) ||
|
|
34
|
+
null;
|
|
35
35
|
if (!fetcher) {
|
|
36
36
|
throw new Error('Fetch API is not available.');
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonRpcHttpClient.js","sourceRoot":"","sources":["../../src/client/JsonRpcHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonRpcHttpClient.js","sourceRoot":"","sources":["../../src/client/JsonRpcHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LazyResolvers } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { LazyResolvers } from '@xxxaz/stream-api-json/utility';
|
|
2
|
+
import { isRpcResponse, readStreamAll } from '../utility.js';
|
|
3
|
+
import { JsonRpcClient } from './JsonRpcClient.js';
|
|
4
4
|
export class JsonRpcMessagePortClient extends JsonRpcClient {
|
|
5
5
|
#targetOrigin;
|
|
6
6
|
#input;
|
|
@@ -30,12 +30,12 @@ export class JsonRpcMessagePortClient extends JsonRpcClient {
|
|
|
30
30
|
controller.enqueue(JSON.stringify(response));
|
|
31
31
|
}
|
|
32
32
|
controller.close();
|
|
33
|
-
}
|
|
33
|
+
},
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
async #batch(requests) {
|
|
37
37
|
const entries = requests
|
|
38
|
-
.map(req => [req.id, this.#post(req)])
|
|
38
|
+
.map((req) => [req.id, this.#post(req)])
|
|
39
39
|
.filter(([id, promise]) => promise);
|
|
40
40
|
const promises = new Map(entries);
|
|
41
41
|
return new ReadableStream({
|
|
@@ -48,10 +48,9 @@ export class JsonRpcMessagePortClient extends JsonRpcClient {
|
|
|
48
48
|
}
|
|
49
49
|
controller.enqueue(']');
|
|
50
50
|
controller.close();
|
|
51
|
-
}
|
|
51
|
+
},
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
-
;
|
|
55
54
|
#pool = new Map();
|
|
56
55
|
#post(request) {
|
|
57
56
|
let resolver = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonRpcMessagePortClient.js","sourceRoot":"","sources":["../../src/client/JsonRpcMessagePortClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonRpcMessagePortClient.js","sourceRoot":"","sources":["../../src/client/JsonRpcMessagePortClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { LazyResolvers } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { LazyResolvers } from '@xxxaz/stream-api-json/utility';
|
|
2
|
+
import { isRpcResponse, readStreamAll } from '../utility.js';
|
|
3
|
+
import { wrapWebSocket, } from '../WebSocketWrapper.js';
|
|
4
|
+
import { JsonRpcClient } from './JsonRpcClient.js';
|
|
5
5
|
export class JsonRpcWebSocketClient extends JsonRpcClient {
|
|
6
6
|
#socket;
|
|
7
7
|
constructor(options) {
|
|
@@ -39,12 +39,12 @@ export class JsonRpcWebSocketClient extends JsonRpcClient {
|
|
|
39
39
|
controller.enqueue(JSON.stringify(response));
|
|
40
40
|
}
|
|
41
41
|
controller.close();
|
|
42
|
-
}
|
|
42
|
+
},
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
async #batch(requests) {
|
|
46
46
|
const entries = requests
|
|
47
|
-
.map(req => [req.id, this.#post(req)])
|
|
47
|
+
.map((req) => [req.id, this.#post(req)])
|
|
48
48
|
.filter(([id, promise]) => promise);
|
|
49
49
|
const promises = new Map(entries);
|
|
50
50
|
return new ReadableStream({
|
|
@@ -61,10 +61,9 @@ export class JsonRpcWebSocketClient extends JsonRpcClient {
|
|
|
61
61
|
}
|
|
62
62
|
controller.enqueue(']');
|
|
63
63
|
controller.close();
|
|
64
|
-
}
|
|
64
|
+
},
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
-
;
|
|
68
67
|
#pool = new Map();
|
|
69
68
|
#post(request) {
|
|
70
69
|
if (!this.available) {
|
|
@@ -104,7 +103,7 @@ export class JsonRpcWebSocketClient extends JsonRpcClient {
|
|
|
104
103
|
this.#pool.delete(data.id);
|
|
105
104
|
}
|
|
106
105
|
rejectAll(reason) {
|
|
107
|
-
for (const { request: { id }, resolver } of this.#pool.values()) {
|
|
106
|
+
for (const { request: { id }, resolver, } of this.#pool.values()) {
|
|
108
107
|
resolver.resolve({
|
|
109
108
|
jsonrpc: '2.0',
|
|
110
109
|
id: id,
|