@xxxaz/json-rpc-schema-typing 0.10.29 → 0.11.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.
Files changed (168) hide show
  1. package/README.md +93 -4
  2. package/cjs/JsonRpcException.js +4 -5
  3. package/cjs/JsonRpcException.js.map +1 -1
  4. package/cjs/JsonRpcMethod.js +22 -8
  5. package/cjs/JsonRpcMethod.js.map +1 -1
  6. package/cjs/JsonRpcValidator.js +12 -4
  7. package/cjs/JsonRpcValidator.js.map +1 -1
  8. package/cjs/JsonSchemaValidator.js +12 -5
  9. package/cjs/JsonSchemaValidator.js.map +1 -1
  10. package/cjs/WebSocketWrapper.js +8 -3
  11. package/cjs/WebSocketWrapper.js.map +1 -1
  12. package/cjs/client/JsonRpcClient.js +77 -14
  13. package/cjs/client/JsonRpcClient.js.map +1 -1
  14. package/cjs/client/JsonRpcHttp2Client.js +8 -6
  15. package/cjs/client/JsonRpcHttp2Client.js.map +1 -1
  16. package/cjs/client/JsonRpcHttpClient.js +5 -5
  17. package/cjs/client/JsonRpcHttpClient.js.map +1 -1
  18. package/cjs/client/JsonRpcMessagePortClient.js +4 -5
  19. package/cjs/client/JsonRpcMessagePortClient.js.map +1 -1
  20. package/cjs/client/JsonRpcWebSocketClient.js +5 -6
  21. package/cjs/client/JsonRpcWebSocketClient.js.map +1 -1
  22. package/cjs/client/index.js +1 -1
  23. package/cjs/client/index.js.map +1 -1
  24. package/cjs/index.js +3 -3
  25. package/cjs/index.js.map +1 -1
  26. package/cjs/router/FileSystemRouter.js +5 -3
  27. package/cjs/router/FileSystemRouter.js.map +1 -1
  28. package/cjs/router/JsonRpcRouter.js.map +1 -1
  29. package/cjs/router/OpenRpc.js +141 -0
  30. package/cjs/router/OpenRpc.js.map +1 -0
  31. package/cjs/router/StaticRouter.js +41 -8
  32. package/cjs/router/StaticRouter.js.map +1 -1
  33. package/cjs/router/hashObject.js +7 -4
  34. package/cjs/router/hashObject.js.map +1 -1
  35. package/cjs/router/index.js +1 -0
  36. package/cjs/router/index.js.map +1 -1
  37. package/cjs/schemas/Complex.js +10 -13
  38. package/cjs/schemas/Complex.js.map +1 -1
  39. package/cjs/schemas/Primitive.js.map +1 -1
  40. package/cjs/schemas/Structure.js +5 -4
  41. package/cjs/schemas/Structure.js.map +1 -1
  42. package/cjs/schemas/index.js +1 -1
  43. package/cjs/schemas/index.js.map +1 -1
  44. package/cjs/server/JsonRpcHttpReceiver.js +17 -7
  45. package/cjs/server/JsonRpcHttpReceiver.js.map +1 -1
  46. package/cjs/server/JsonRpcMessagePortReceiver.js +3 -4
  47. package/cjs/server/JsonRpcMessagePortReceiver.js.map +1 -1
  48. package/cjs/server/JsonRpcServer.js +12 -6
  49. package/cjs/server/JsonRpcServer.js.map +1 -1
  50. package/cjs/server/JsonRpcWebSocketReceiver.js +3 -4
  51. package/cjs/server/JsonRpcWebSocketReceiver.js.map +1 -1
  52. package/cjs/server/index.js +1 -1
  53. package/cjs/server/index.js.map +1 -1
  54. package/cjs/utility.js +8 -14
  55. package/cjs/utility.js.map +1 -1
  56. package/esm/JsonRpcException.js +4 -5
  57. package/esm/JsonRpcException.js.map +1 -1
  58. package/esm/JsonRpcMethod.js +22 -8
  59. package/esm/JsonRpcMethod.js.map +1 -1
  60. package/esm/JsonRpcValidator.js +12 -4
  61. package/esm/JsonRpcValidator.js.map +1 -1
  62. package/esm/JsonSchemaValidator.js +13 -6
  63. package/esm/JsonSchemaValidator.js.map +1 -1
  64. package/esm/WebSocketWrapper.js +8 -3
  65. package/esm/WebSocketWrapper.js.map +1 -1
  66. package/esm/client/JsonRpcClient.js +78 -15
  67. package/esm/client/JsonRpcClient.js.map +1 -1
  68. package/esm/client/JsonRpcHttp2Client.js +10 -8
  69. package/esm/client/JsonRpcHttp2Client.js.map +1 -1
  70. package/esm/client/JsonRpcHttpClient.js +8 -8
  71. package/esm/client/JsonRpcHttpClient.js.map +1 -1
  72. package/esm/client/JsonRpcMessagePortClient.js +6 -7
  73. package/esm/client/JsonRpcMessagePortClient.js.map +1 -1
  74. package/esm/client/JsonRpcWebSocketClient.js +8 -9
  75. package/esm/client/JsonRpcWebSocketClient.js.map +1 -1
  76. package/esm/client/index.js +1 -1
  77. package/esm/client/index.js.map +1 -1
  78. package/esm/index.js +3 -3
  79. package/esm/index.js.map +1 -1
  80. package/esm/router/FileSystemRouter.js +7 -5
  81. package/esm/router/FileSystemRouter.js.map +1 -1
  82. package/esm/router/JsonRpcRouter.js +1 -1
  83. package/esm/router/JsonRpcRouter.js.map +1 -1
  84. package/esm/router/OpenRpc.js +138 -0
  85. package/esm/router/OpenRpc.js.map +1 -0
  86. package/esm/router/StaticRouter.js +42 -9
  87. package/esm/router/StaticRouter.js.map +1 -1
  88. package/esm/router/hashObject.js +7 -4
  89. package/esm/router/hashObject.js.map +1 -1
  90. package/esm/router/index.js +1 -0
  91. package/esm/router/index.js.map +1 -1
  92. package/esm/schemas/Complex.js +10 -13
  93. package/esm/schemas/Complex.js.map +1 -1
  94. package/esm/schemas/Primitive.js.map +1 -1
  95. package/esm/schemas/Structure.js +6 -5
  96. package/esm/schemas/Structure.js.map +1 -1
  97. package/esm/schemas/index.js +1 -1
  98. package/esm/schemas/index.js.map +1 -1
  99. package/esm/server/JsonRpcHttpReceiver.js +19 -9
  100. package/esm/server/JsonRpcHttpReceiver.js.map +1 -1
  101. package/esm/server/JsonRpcMessagePortReceiver.js +3 -4
  102. package/esm/server/JsonRpcMessagePortReceiver.js.map +1 -1
  103. package/esm/server/JsonRpcServer.js +15 -9
  104. package/esm/server/JsonRpcServer.js.map +1 -1
  105. package/esm/server/JsonRpcWebSocketReceiver.js +4 -5
  106. package/esm/server/JsonRpcWebSocketReceiver.js.map +1 -1
  107. package/esm/server/index.js +1 -1
  108. package/esm/server/index.js.map +1 -1
  109. package/esm/utility.js +8 -14
  110. package/esm/utility.js.map +1 -1
  111. package/package.json +4 -1
  112. package/src/JsonRpcException.ts +29 -26
  113. package/src/JsonRpcMethod.ts +173 -33
  114. package/src/JsonRpcValidator.ts +28 -15
  115. package/src/JsonSchemaValidator.ts +54 -25
  116. package/src/WebSocketWrapper.ts +36 -19
  117. package/src/client/JsonRpcClient.ts +188 -58
  118. package/src/client/JsonRpcHttp2Client.ts +55 -34
  119. package/src/client/JsonRpcHttpClient.ts +56 -30
  120. package/src/client/JsonRpcMessagePortClient.ts +36 -27
  121. package/src/client/JsonRpcWebSocketClient.ts +38 -21
  122. package/src/client/index.ts +1 -1
  123. package/src/index.ts +4 -7
  124. package/src/router/FileSystemRouter.ts +39 -21
  125. package/src/router/JsonRpcRouter.ts +50 -24
  126. package/src/router/OpenRpc.ts +262 -0
  127. package/src/router/StaticRouter.ts +115 -16
  128. package/src/router/hashObject.ts +11 -6
  129. package/src/router/index.ts +1 -0
  130. package/src/schemas/Complex.ts +33 -28
  131. package/src/schemas/Primitive.ts +0 -1
  132. package/src/schemas/Structure.ts +18 -9
  133. package/src/schemas/index.ts +1 -1
  134. package/src/server/JsonRpcHttpReceiver.ts +67 -29
  135. package/src/server/JsonRpcMessagePortReceiver.ts +27 -16
  136. package/src/server/JsonRpcServer.ts +59 -29
  137. package/src/server/JsonRpcWebSocketReceiver.ts +32 -25
  138. package/src/server/index.ts +1 -1
  139. package/src/types.ts +72 -43
  140. package/src/utility.ts +13 -19
  141. package/types/JsonRpcException.d.ts +2 -2
  142. package/types/JsonRpcMethod.d.ts +70 -3
  143. package/types/JsonRpcValidator.d.ts +3 -3
  144. package/types/JsonSchemaValidator.d.ts +2 -2
  145. package/types/WebSocketWrapper.d.ts +2 -2
  146. package/types/client/JsonRpcClient.d.ts +20 -9
  147. package/types/client/JsonRpcHttp2Client.d.ts +8 -6
  148. package/types/client/JsonRpcHttpClient.d.ts +7 -5
  149. package/types/client/JsonRpcMessagePortClient.d.ts +3 -3
  150. package/types/client/JsonRpcWebSocketClient.d.ts +4 -4
  151. package/types/client/index.d.ts +1 -1
  152. package/types/index.d.ts +3 -3
  153. package/types/router/FileSystemRouter.d.ts +3 -3
  154. package/types/router/JsonRpcRouter.d.ts +2 -2
  155. package/types/router/OpenRpc.d.ts +101 -0
  156. package/types/router/StaticRouter.d.ts +40 -4
  157. package/types/router/hashObject.d.ts +1 -1
  158. package/types/router/index.d.ts +1 -0
  159. package/types/schemas/Complex.d.ts +4 -4
  160. package/types/schemas/Structure.d.ts +5 -2
  161. package/types/schemas/index.d.ts +1 -1
  162. package/types/server/JsonRpcHttpReceiver.d.ts +2 -2
  163. package/types/server/JsonRpcMessagePortReceiver.d.ts +2 -2
  164. package/types/server/JsonRpcServer.d.ts +2 -2
  165. package/types/server/JsonRpcWebSocketReceiver.d.ts +1 -1
  166. package/types/server/index.d.ts +1 -1
  167. package/types/types.d.ts +12 -6
  168. package/types/utility.d.ts +2 -2
package/README.md CHANGED
@@ -1,6 +1,95 @@
1
1
  # json-rpc-schema-typing
2
2
 
3
- ### TODO
4
- - JWT対応
5
- - ドキュメント生成
6
- - npm CommonJSパッケージの整理
3
+ > 最終更新: 2026-07-07
4
+
5
+ スキーマファーストな JSON-RPC 2.0 フレームワーク。**メソッドのスキーマ (JSON Schema) を単一の真実源**とし、
6
+ サーバの実行時検証とクライアントの静的型付けを**同じスキーマから導出**することで、端から端まで型安全を担保する。
7
+
8
+ ## 設計思想 (型安全の担保)
9
+
10
+ - **スキーマが真実源**: 各メソッドの引数 (`$params`) / 返り値 (`$return`) を JSON Schema で宣言する。ここから TypeScript 型 (`FromSchema`) と実行時バリデーション (ajv) の両方が導出される。
11
+ - **検証はサーバに一本化**: サーバは受信した params と応答の return をスキーマで検証する。クライアントは基本これを信頼する。
12
+ - **クライアントは型で守る**: クライアントの `.rpc.<namespace>.<method>(params)` は呼び出しシグネチャ・返り値が静的に型付けされる。存在しないメソッド・誤った引数はコンパイルエラーになる。
13
+ - **`any` に落とさない**: クライアントの `Schema` ジェネリクスは `AnySchemaShape` で制約され (`= any` のデフォルトを持たない)。型引数を省いた構築は「素通しで any」にはならず、必ず適合検証を通る。
14
+ - **一時キャストは関数内に閉じる**: ランタイム型ガード (`JsonRpcMethodDefinition.isDefinition` 等) で検証した内容を局所キャストで扱う場合も、**関数の戻り値型を検証済みの型に固定**し、`unknown`/緩い型を呼び出し側へ漏らさない (例: `StaticRouter.resolveChild`)。
15
+
16
+ ## 構成要素
17
+
18
+ ### スキーマビルダ (`@xxxaz/json-rpc-schema-typing`)
19
+
20
+ `$Object` / `$Array` / `$Tuple` / `$String` / `$Number` / `$Integer` / `$Boolean` / `$Null` /
21
+ `$Or` / `$And` / `$Xor` / `$Optional` / `$Enum` / `$EnumKeys` / `$EnumValues` / `$Omit` / `$Override` / `$Expand`。
22
+ `FromSchema<typeof schema>` で JSON Schema から TS 型を取り出す。
23
+
24
+ ### メソッド定義 (`JsonRpcMethodDefinition.builder`)
25
+
26
+ スキーマとハンドラを 1 つの定義に束ねる (fluent builder)。
27
+
28
+ ```ts
29
+ export default JsonRpcMethodDefinition.builder
30
+ .contextClass(Context) // ハンドラの this 型
31
+ .meta({ summary: '...', description: '...', tags: ['ns'], result: { name: 'result' } }) // OpenRPC 用メタ (任意)
32
+ .paramsByName({ id: $Number }) // by-name ($Object) / .paramsByPosition(...) で by-position ($Tuple) / .params(raw) も可
33
+ .return($String)
34
+ .define(async function ({ id }) {
35
+ /* handler */ return 'ok';
36
+ });
37
+ ```
38
+
39
+ - `.meta()` は OpenRPC 出力用の付随情報 (`summary` / `description` / `tags` / `result{name}` / `params` 別説明 / `errors` / `examples` / `deprecated`)。呼び出し型には影響しない。
40
+
41
+ ### ルータ (`./router`)
42
+
43
+ メソッドパス → 定義への解決を担う。
44
+
45
+ - **`FileSystemRouter`**: ディレクトリを走査し、各ファイルの default export (`JsonRpcMethodDefinition`) をメソッドとして解決する (規約ベース)。
46
+ - **`StaticRouter`** (別名 **`LazyRouter`**): 明示的な route map から解決する。各エントリは
47
+ 「定義そのもの」「入れ子 route map」「`Promise`」に加え、**lazy thunk `() => import('./x.js')`** を受ける。
48
+ thunk は呼び出し時に解決し、ES module の `default` を unwrap する (= handler の遅延ロードでコールドスタートを抑える)。
49
+ - **型ヘルパー** `SchemaTree<Routes>` / `LazyDef<T>`: route thunk map の**型**から「メソッドパス ↔ スキーマ」を束ねた単一型を導出する (クライアントのジェネリクスに渡せる)。
50
+
51
+ ### サーバ (`./server`)
52
+
53
+ `JsonRpcServer` / `JsonRpcHttpReceiver` / `JsonRpcWebSocketReceiver` / `JsonRpcMessagePortReceiver`。
54
+ ルータで解決 → `$params` 検証 → ハンドラ実行 → `$return` 検証 → JSON-RPC 応答。
55
+
56
+ ### クライアント (`./client`)
57
+
58
+ `JsonRpcClient` (基底) / `JsonRpcHttpClient` / `JsonRpcHttp2Client` / `JsonRpcWebSocketClient` / `JsonRpcMessagePortClient`。
59
+
60
+ - ジェネリクス `Schema extends AnySchemaShape` (必須・適合検証あり)。
61
+ - **`schema` 値は任意**。渡すと従来どおり実行時検証つき。**省略すると純粋なパスビルダ Proxy** として動作し (実行時検証なし・サーバ検証に一本化)、型は `Schema` ジェネリクスから導出される。
62
+ - 型のみを与える使い方 (route thunk map の型を `import type` で渡す) では、クライアント bundle に実行時スキーマ値もサーバコードも載らない。
63
+
64
+ ```ts
65
+ // 実行時スキーマ値あり (従来)
66
+ new JsonRpcHttpClient({ schema, postUrl });
67
+ // 型のみ (route thunk map の型を渡す・値は渡さない)
68
+ import type { hostRoutes } from 'server/host/routes';
69
+ new JsonRpcHttpClient<typeof hostRoutes>({ postUrl });
70
+ ```
71
+
72
+ ### OpenRPC 出力 (`./router` の emitter)
73
+
74
+ ルータ (全解決) + 各定義の `.meta()` から **OpenRPC Document** を生成する。`method.name` はパス、`paramStructure` は
75
+ `$params` の型 (object → by-name / array → by-position) から自動導出。document-level の `info` / `servers` / タグ定義は
76
+ emitter に渡す。`mcp` / `readonly` などのタグ規約で MCP ブリッジ等の下流に流用できる。
77
+
78
+ ## 開発
79
+
80
+ ```sh
81
+ npm run build # tsc (types/esm/cjs 3 config) + post-build
82
+ npm test # jest (実行時テスト + tsc 全体型検査 test/TypeCheck.test.ts)
83
+ npm run lint # biome check (静的解析)
84
+ npm run format # biome check --write (整形 + safe fix)
85
+ ```
86
+
87
+ - **静的解析**: `biome.json` で設定。本ライブラリは型操作が主体なため `noExplicitAny` / `noParameterProperties` /
88
+ `noAssignInExpressions` はライブラリのイディオムとして off。整形は 4-space / single quote / trailing comma。
89
+ - **型検査**: `strict: true`。`test/TypeCheck.test.ts` が whole-program tsc を実行し、型レベルの回帰を検出する。
90
+
91
+ ## TODO
92
+
93
+ - JWT 対応
94
+ - OpenRPC 出力のリファレンス整備 (examples / links / $ref 集約)
95
+ - npm CommonJS パッケージの整理
@@ -42,14 +42,14 @@ class JsonRpcException extends Error {
42
42
  if (!JsonRpcException.isPrototypeOf(cls))
43
43
  return;
44
44
  const ex = cls;
45
- if (!this.#defined.has(ex) && ex.code) {
46
- this.#defined.set(ex, name);
45
+ if (!JsonRpcException.#defined.has(ex) && ex.code) {
46
+ JsonRpcException.#defined.set(ex, name);
47
47
  }
48
48
  });
49
49
  }
50
50
  static deserialize(error) {
51
51
  const { code, message, data } = error;
52
- for (const cls of this.#defined.keys()) {
52
+ for (const cls of JsonRpcException.#defined.keys()) {
53
53
  if (cls.code !== code)
54
54
  continue;
55
55
  return new cls(message, data);
@@ -64,8 +64,7 @@ class JsonRpcException extends Error {
64
64
  }
65
65
  data;
66
66
  get name() {
67
- return JsonRpcException.#defined.get(this.constructor)
68
- ?? this.constructor.name;
67
+ return (JsonRpcException.#defined.get(this.constructor) ?? this.constructor.name);
69
68
  }
70
69
  get code() {
71
70
  return this.constructor.code;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRpcException.js","sourceRoot":"","sources":["../src/JsonRpcException.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonRpcException.js","sourceRoot":"","sources":["../src/JsonRpcException.ts"],"names":[],"mappings":"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"}
@@ -8,14 +8,23 @@ class JsonRpcMethodDefinition {
8
8
  $params;
9
9
  $return;
10
10
  $contextClass;
11
+ $meta;
11
12
  static method = methodKey;
12
13
  [methodKey];
13
- constructor(method, $params, $return, $contextClass) {
14
+ constructor(method, $params, $return, $contextClass, $meta) {
14
15
  this.$params = $params;
15
16
  this.$return = $return;
16
17
  this.$contextClass = $contextClass;
18
+ this.$meta = $meta;
17
19
  this[methodKey] = method;
18
20
  }
21
+ // instanceof はモジュール実体が二重ロードされた際に一致しないため、duck-typing でも判定する
22
+ static isDefinition(obj) {
23
+ if (obj instanceof JsonRpcMethodDefinition)
24
+ return true;
25
+ const key = obj?.constructor?.method;
26
+ return typeof key === 'symbol' && obj[key] instanceof Function;
27
+ }
19
28
  $apply(ctx, params) {
20
29
  if (this.$contextClass && !(ctx instanceof this.$contextClass)) {
21
30
  const passedCtxType = ctx?.constructor?.name ?? typeof ctx;
@@ -34,28 +43,33 @@ class DefinitionBuilder {
34
43
  $contextClass;
35
44
  $params;
36
45
  $return;
37
- constructor($contextClass, $params, $return) {
46
+ $meta;
47
+ constructor($contextClass, $params, $return, $meta) {
38
48
  this.$contextClass = $contextClass;
39
49
  this.$params = $params;
40
50
  this.$return = $return;
51
+ this.$meta = $meta;
41
52
  }
42
53
  define(method) {
43
- return new JsonRpcMethodDefinition(method, this.$params, this.$return, this.$contextClass);
54
+ return new JsonRpcMethodDefinition(method, this.$params, this.$return, this.$contextClass, this.$meta);
44
55
  }
45
56
  contextClass(contextClass) {
46
- return new DefinitionBuilder(contextClass, this.$params, this.$return);
57
+ return new DefinitionBuilder(contextClass, this.$params, this.$return, this.$meta);
58
+ }
59
+ meta(meta) {
60
+ return new DefinitionBuilder(this.$contextClass, this.$params, this.$return, meta);
47
61
  }
48
62
  params(params) {
49
- return new DefinitionBuilder(this.$contextClass, params, this.$return);
63
+ return new DefinitionBuilder(this.$contextClass, params, this.$return, this.$meta);
50
64
  }
51
65
  paramsByName(params) {
52
- return new DefinitionBuilder(this.$contextClass, (0, Structure_js_1.$Object)(params), this.$return);
66
+ return new DefinitionBuilder(this.$contextClass, (0, Structure_js_1.$Object)(params), this.$return, this.$meta);
53
67
  }
54
68
  paramsByPosition(...params) {
55
- return new DefinitionBuilder(this.$contextClass, (0, Structure_js_1.$Tuple)(...params), this.$return);
69
+ return new DefinitionBuilder(this.$contextClass, (0, Structure_js_1.$Tuple)(...params), this.$return, this.$meta);
56
70
  }
57
71
  return(rtn) {
58
- return new DefinitionBuilder(this.$contextClass, this.$params, rtn);
72
+ return new DefinitionBuilder(this.$contextClass, this.$params, rtn, this.$meta);
59
73
  }
60
74
  /** @deprecated paramsByPosition を使用してください */
61
75
  paramsSchema(...params) {
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRpcMethod.js","sourceRoot":"","sources":["../src/JsonRpcMethod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonRpcMethod.js","sourceRoot":"","sources":["../src/JsonRpcMethod.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,12 @@ class JsonRpcValidator {
7
7
  schema;
8
8
  constructor(schema) {
9
9
  this.schema = schema;
10
- this.#paramValidator = schema.$params ? new JsonSchemaValidator_js_1.JsonSchemaValidator(schema.$params) : null;
11
- this.#returnValidator = schema.$return ? new JsonSchemaValidator_js_1.JsonSchemaValidator(schema.$return) : null;
10
+ this.#paramValidator = schema.$params
11
+ ? new JsonSchemaValidator_js_1.JsonSchemaValidator(schema.$params)
12
+ : null;
13
+ this.#returnValidator = schema.$return
14
+ ? new JsonSchemaValidator_js_1.JsonSchemaValidator(schema.$return)
15
+ : null;
12
16
  }
13
17
  #paramValidator;
14
18
  #returnValidator;
@@ -17,7 +21,9 @@ class JsonRpcValidator {
17
21
  return params;
18
22
  const validated = this.#paramValidator.validate(params);
19
23
  if (!validated.valid && validated.errors.length > 0) {
20
- const message = validated.errors.map(({ instancePath, message }) => `params${instancePath ?? ''}: ${message}`).join('\n');
24
+ const message = validated.errors
25
+ .map(({ instancePath, message }) => `params${instancePath ?? ''}: ${message}`)
26
+ .join('\n');
21
27
  throw new JsonRpcException_js_1.InvalidParams(message, validated.errors);
22
28
  }
23
29
  return params;
@@ -27,7 +33,9 @@ class JsonRpcValidator {
27
33
  return result;
28
34
  const validated = this.#returnValidator.validate(result);
29
35
  if (!validated.valid && validated.errors.length > 0) {
30
- const message = validated.errors.map(({ instancePath, message }) => `return.${instancePath ?? ''}: ${message}`).join('\n');
36
+ const message = validated.errors
37
+ .map(({ instancePath, message }) => `return.${instancePath ?? ''}: ${message}`)
38
+ .join('\n');
31
39
  throw new JsonRpcException_js_1.InvalidReturn(message, validated.errors);
32
40
  }
33
41
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRpcValidator.js","sourceRoot":"","sources":["../src/JsonRpcValidator.ts"],"names":[],"mappings":";;;AAGA,+DAAqE;AACrE,qEAA+D;AAI/D,MAAa,gBAAgB;IAKJ;IAArB,YAAqB,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,4CAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,IAAI,CAAC;QACtF,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,4CAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,CAAC;IACD,eAAe,CAA4B;IAC3C,gBAAgB,CAA4B;IAE5C,cAAc,CAAC,MAAe;QAC1B,IAAG,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO,MAA+B,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,IAAG,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,SAAS,YAAY,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1H,MAAM,IAAI,mCAAa,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAA+B,CAAC;IAC3C,CAAC;IAED,cAAc,CAAC,MAAe;QAC1B,IAAG,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,MAA+B,CAAC;QAClE,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,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,UAAU,YAAY,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3H,MAAM,IAAI,mCAAa,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAA+B,CAAC;IAC3C,CAAC;CAEJ;AAhCD,4CAgCC"}
1
+ {"version":3,"file":"JsonRpcValidator.js","sourceRoot":"","sources":["../src/JsonRpcValidator.ts"],"names":[],"mappings":";;;AACA,+DAAqE;AAErE,qEAA+D;AAK/D,MAAa,gBAAgB;IAKJ;IAArB,YAAqB,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO;YACjC,CAAC,CAAC,IAAI,4CAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO;YAClC,CAAC,CAAC,IAAI,4CAAmB,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,mCAAa,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,mCAAa,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAA+B,CAAC;IAC3C,CAAC;CACJ;AA7CD,4CA6CC"}
@@ -45,7 +45,7 @@ function currentFile() {
45
45
  return globalThis.__filename;
46
46
  }
47
47
  try {
48
- return Function("return import.meta.filename")();
48
+ return Function('return import.meta.filename')();
49
49
  }
50
50
  catch (err) {
51
51
  if (!(err instanceof SyntaxError))
@@ -60,7 +60,7 @@ function currentFile() {
60
60
  function* serializeErrors(error) {
61
61
  if (!error)
62
62
  return;
63
- for (const { propertyName, message, schemaPath, data, keyword, instancePath, params } of error) {
63
+ for (const { propertyName, message, schemaPath, data, keyword, instancePath, params, } of error) {
64
64
  const err = {};
65
65
  if (propertyName)
66
66
  err.propertyName = propertyName;
@@ -116,12 +116,17 @@ class JsonSchemaValidator {
116
116
  const id = crypto.randomUUID();
117
117
  const listener = Promise.withResolvers();
118
118
  listeners[id] = listener;
119
- worker.postMessage({ method: methodName, schema: this.schema, data, id });
119
+ worker.postMessage({
120
+ method: methodName,
121
+ schema: this.schema,
122
+ data,
123
+ id,
124
+ });
120
125
  return listener.promise;
121
126
  }
122
127
  }
123
128
  exports.JsonSchemaValidator = JsonSchemaValidator;
124
- let workers = new WeakMap();
129
+ const workers = new WeakMap();
125
130
  let listeners = {};
126
131
  async function getWorker(key) {
127
132
  if (workers.has(key))
@@ -162,7 +167,9 @@ function onMessage(data) {
162
167
  }
163
168
  }
164
169
  function onError(err) {
165
- Object.values(listeners).forEach(({ reject }) => reject(err));
170
+ Object.values(listeners).forEach(({ reject }) => {
171
+ reject(err);
172
+ });
166
173
  listeners = {};
167
174
  }
168
175
  function onFaild(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"JsonSchemaValidator.js","sourceRoot":"","sources":["../src/JsonSchemaValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAgF;AAIhF,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,aAA8C,CAAC;IACnF,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,OAAO,MAAM,EAAE,GAAG,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAYD,QAAS,CAAC,CAAC,eAAe,CAAC,KAA0B;IACjD,IAAG,CAAC,KAAK;QAAE,OAAO;IAClB,KAAI,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QAC5F,MAAM,GAAG,GAAG,EAAqB,CAAC;QAClC,IAAG,YAAY;YAAE,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;QACjD,IAAG,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,IAAG,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAG,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,IAAG,YAAY;YAAE,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;QACjD,IAAG,UAAU;YAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;QAC3C,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,KAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,GAAG,wDAAwD,CAAC;AAE5E,MAAa,mBAAmB;IAEf;IADb,YACa,MAA2B,EACpC,UAAuB;QADd,WAAM,GAAN,MAAM,CAAqB;QAGpC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAG,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,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;CACJ;AAxCD,kDAwCC;AAGD,IAAI,OAAO,GAAgC,IAAI,OAAO,EAAE,CAAC;AACzD,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,wDAAa,gBAAgB,GAAC,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,IAA0D;IACzE,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,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,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;IAEhC,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,wDAAa,gBAAgB,GAAC,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"}
1
+ {"version":3,"file":"JsonSchemaValidator.js","sourceRoot":"","sources":["../src/JsonSchemaValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAKa;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,MAAa,mBAAmB;IAEf;IADb,YACa,MAA2B,EACpC,UAAuB;QADd,WAAM,GAAN,MAAM,CAAqB;QAGpC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAG,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;AA7CD,kDA6CC;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,wDAAa,gBAAgB,GAAC,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,wDAAa,gBAAgB,GAAC,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"}
@@ -45,7 +45,7 @@ class NodeWebSocketWrapper {
45
45
  return JSON.parse(await new Blob([data]).text());
46
46
  }
47
47
  const json = data instanceof Array
48
- ? data.map(d => JSON.parse(d.toString())).join('')
48
+ ? data.map((d) => JSON.parse(d.toString())).join('')
49
49
  : data.toString();
50
50
  return JSON.parse(json);
51
51
  }
@@ -60,8 +60,13 @@ class BrowserWebSocketWrapper {
60
60
  this.listener = listener;
61
61
  this.closedListener = closedListener;
62
62
  socket.addEventListener('message', this.#onMessage);
63
- socket.addEventListener('close', ev => {
64
- closedListener({ code: ev.code, reason: ev.reason, wasClean: ev.wasClean, wrapper: this });
63
+ socket.addEventListener('close', (ev) => {
64
+ closedListener({
65
+ code: ev.code,
66
+ reason: ev.reason,
67
+ wasClean: ev.wasClean,
68
+ wrapper: this,
69
+ });
65
70
  this.socket.removeEventListener('message', this.#onMessage);
66
71
  });
67
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketWrapper.js","sourceRoot":"","sources":["../src/WebSocketWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketWrapper.js","sourceRoot":"","sources":["../src/WebSocketWrapper.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonRpcClient = exports.$methodPath = exports.$requestStack = exports.$generateId = void 0;
4
4
  const stream_api_json_1 = require("@xxxaz/stream-api-json");
5
+ const utility_1 = require("@xxxaz/stream-api-json/utility");
5
6
  const JsonRpcException_js_1 = require("../JsonRpcException.js");
6
7
  const JsonRpcValidator_js_1 = require("../JsonRpcValidator.js");
7
- const utility_1 = require("@xxxaz/stream-api-json/utility");
8
8
  const utility_js_1 = require("../utility.js");
9
9
  exports.$generateId = Symbol('GenereteId');
10
10
  exports.$requestStack = Symbol('RequestsStack');
@@ -18,7 +18,8 @@ class JsonRpcClient {
18
18
  this.#schema = options.schema;
19
19
  this.#postRpc = options.post;
20
20
  this.#postBatch = options.batch ?? options.post;
21
- this[exports.$generateId] = options.generateId ?? JsonRpcClient.defaultIdGenerator;
21
+ this[exports.$generateId] =
22
+ options.generateId ?? JsonRpcClient.defaultIdGenerator;
22
23
  }
23
24
  static async defaultIdGenerator() {
24
25
  return crypto.randomUUID();
@@ -37,7 +38,10 @@ class JsonRpcClient {
37
38
  async postBatch(requests) {
38
39
  const waits = new Map(requests
39
40
  .filter(({ request: { id } }) => id != null)
40
- .map(({ request, promise }) => [request.id, { request, promise }]));
41
+ .map(({ request, promise }) => [
42
+ request.id,
43
+ { request, promise },
44
+ ]));
41
45
  const noWaits = new Set(requests.filter(({ request: { id } }) => id == null));
42
46
  try {
43
47
  const requestList = requests.map(({ request: r }) => r);
@@ -46,7 +50,7 @@ class JsonRpcClient {
46
50
  if (streamJson instanceof stream_api_json_1.ParsingJsonArray) {
47
51
  const results = [];
48
52
  for await (const responseStream of streamJson) {
49
- const res = await responseStream.all() ?? {};
53
+ const res = (await responseStream.all()) ?? {};
50
54
  results.push(res);
51
55
  const { id, error } = res;
52
56
  const { promise } = waits.get(id) ?? {};
@@ -98,22 +102,29 @@ class JsonRpcClient {
98
102
  for (const { promise, request } of waits.values()) {
99
103
  promise.reject(new JsonRpcException_js_1.ClientUncaughtError('Orphan rpc request.', request));
100
104
  }
101
- noWaits.forEach(({ promise }) => promise.resolve());
105
+ noWaits.forEach(({ promise }) => {
106
+ promise.resolve();
107
+ });
102
108
  }
103
109
  }
110
+ #proxy(stack) {
111
+ return this.#schema
112
+ ? proxyRpc(stack, this.#schema)
113
+ : proxyPathRpc(stack);
114
+ }
104
115
  #rpc;
105
116
  get rpc() {
106
- return this.#rpc ??= proxyRpc(new NoStack(this), this.#schema);
117
+ return (this.#rpc ??= this.#proxy(new NoStack(this)));
107
118
  }
108
119
  #batch;
109
120
  get batch() {
110
- return this.#batch ??= proxyRpc(new BatchStack(this), this.#schema);
121
+ return (this.#batch ??= this.#proxy(new BatchStack(this)));
111
122
  }
112
123
  kickBatch() {
113
124
  return this.batch[exports.$requestStack].kick();
114
125
  }
115
126
  lazy(delayMs = 0) {
116
- return proxyRpc(new LazyStack(this, delayMs), this.#schema);
127
+ return this.#proxy(new LazyStack(this, delayMs));
117
128
  }
118
129
  }
119
130
  exports.JsonRpcClient = JsonRpcClient;
@@ -126,7 +137,9 @@ class RequestsStack {
126
137
  const jsonrpc = '2.0';
127
138
  const method = methodPath.join('.');
128
139
  const id = requireId ? await this.client[exports.$generateId]() : null;
129
- return id ? { jsonrpc, id, method, params } : { jsonrpc, method, params };
140
+ return id
141
+ ? { jsonrpc, id, method, params }
142
+ : { jsonrpc, method, params };
130
143
  }
131
144
  }
132
145
  class NoStack extends RequestsStack {
@@ -142,8 +155,7 @@ class BatchStack extends RequestsStack {
142
155
  }
143
156
  stack(requireId, methodPath, params) {
144
157
  const resolver = new utility_1.LazyResolvers();
145
- const wait = this.buildRequest(requireId, methodPath, params)
146
- .then((request) => ({ request, promise: resolver }));
158
+ const wait = this.buildRequest(requireId, methodPath, params).then((request) => ({ request, promise: resolver }));
147
159
  this.#requests.push(wait);
148
160
  return resolver.promise;
149
161
  }
@@ -184,10 +196,60 @@ function proxyRpc(stack, schema, methodPath = []) {
184
196
  const cache = { [exports.$requestStack]: stack };
185
197
  return new Proxy(schema, {
186
198
  get(_, key) {
187
- return cache[key] ??= pickProperty(key);
188
- }
199
+ return (cache[key] ??= pickProperty(key));
200
+ },
189
201
  });
190
202
  }
203
+ /**
204
+ * スキーマ値を持たない純パスビルダ Proxy。
205
+ * プロパティアクセスでメソッドパスを積み、呼び出しで送信する。実行時検証は行わない。
206
+ * - 単一引数が配列以外のオブジェクトの場合は by-name (params オブジェクト) として送信
207
+ * - それ以外は by-position (params 配列) として送信
208
+ */
209
+ function proxyPathRpc(stack, methodPath = []) {
210
+ const cache = {};
211
+ const trigger = pathTriggerFunction(stack, methodPath);
212
+ return new Proxy(trigger, {
213
+ get(target, key) {
214
+ if (key === exports.$requestStack)
215
+ return stack;
216
+ if (key === exports.$methodPath)
217
+ return methodPath;
218
+ // await 誤爆 (thenable 判定) や JSON.stringify を子パス化しない
219
+ if (typeof key !== 'string' || key === 'then' || key === 'toJSON')
220
+ return Reflect.get(target, key);
221
+ if (key === 'notice')
222
+ return target.notice;
223
+ return (cache[key] ??= proxyPathRpc(stack, [...methodPath, key]));
224
+ },
225
+ });
226
+ }
227
+ function pathTriggerFunction(stack, methodPath) {
228
+ const normalizeParams = (params) => params.length === 1 &&
229
+ params[0] !== null &&
230
+ typeof params[0] === 'object' &&
231
+ !Array.isArray(params[0])
232
+ ? params[0]
233
+ : params;
234
+ const assertPath = () => {
235
+ if (!methodPath.length)
236
+ throw new JsonRpcException_js_1.ClientUncaughtError('Method path is empty.', null);
237
+ };
238
+ const fn = async (...params) => {
239
+ assertPath();
240
+ const response = (await stack.stack(true, methodPath, normalizeParams(params))) ??
241
+ {};
242
+ if ('error' in response) {
243
+ throw JsonRpcException_js_1.JsonRpcException.deserialize(response.error);
244
+ }
245
+ return response.result;
246
+ };
247
+ fn.notice = (...params) => {
248
+ assertPath();
249
+ stack.stack(false, methodPath, normalizeParams(params));
250
+ };
251
+ return fn;
252
+ }
191
253
  function triggerFunction(stack, schema, methodPath) {
192
254
  const validator = new JsonRpcValidator_js_1.JsonRpcValidator(schema);
193
255
  const validateParams = (params) => {
@@ -205,7 +267,8 @@ function triggerFunction(stack, schema, methodPath) {
205
267
  };
206
268
  const fn = async (...params) => {
207
269
  params = validateParams(params);
208
- const response = await stack.stack(true, methodPath, params) ?? {};
270
+ const response = (await stack.stack(true, methodPath, params)) ??
271
+ {};
209
272
  if ('error' in response) {
210
273
  throw JsonRpcException_js_1.JsonRpcException.deserialize(response.error);
211
274
  }
@@ -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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"}