@lsby/net-core 0.3.36 → 0.3.38

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 (53) hide show
  1. package/dist/bin/gen-type/addition.cjs +14 -0
  2. package/dist/bin/gen-type/bin.cjs +51 -8
  3. package/dist/bin/gen-type/index.cjs +51 -8
  4. package/dist/cjs/bin/gen-type/addition.cjs +14 -0
  5. package/dist/cjs/bin/gen-type/bin.cjs +51 -8
  6. package/dist/cjs/bin/gen-type/index.cjs +51 -8
  7. package/dist/cjs/global/global.cjs +24 -0
  8. package/dist/cjs/global/global.d.cts +3 -1
  9. package/dist/cjs/global/ws.cjs +46 -0
  10. package/dist/cjs/global/ws.d.cts +13 -0
  11. package/dist/cjs/index.cjs +121 -19
  12. package/dist/cjs/index.d.cts +2 -1
  13. package/dist/cjs/interface/extend/json-base.cjs +49 -2
  14. package/dist/cjs/interface/extend/json-wrap.cjs +49 -2
  15. package/dist/cjs/plugin/extend/json.cjs +49 -2
  16. package/dist/cjs/plugin/extend/web-socket.cjs +111 -0
  17. package/dist/cjs/plugin/extend/web-socket.d.cts +22 -0
  18. package/dist/cjs/plugin/plug.d.cts +2 -1
  19. package/dist/cjs/result/result.cjs +49 -2
  20. package/dist/cjs/server/server.cjs +57 -15
  21. package/dist/cjs/tools/tools.cjs +52 -0
  22. package/dist/cjs/tools/tools.d.cts +4 -0
  23. package/dist/esm/bin/gen-type/addition.js +1 -1
  24. package/dist/esm/bin/gen-type/bin.js +2 -2
  25. package/dist/esm/bin/gen-type/index.js +2 -2
  26. package/dist/esm/{chunk-7RH7Z7VC.js → chunk-3DVNMDUP.js} +38 -9
  27. package/dist/esm/{chunk-AMBUPXY3.js → chunk-54IJ3ZGJ.js} +8 -5
  28. package/dist/esm/chunk-AUPZZGG7.js +45 -0
  29. package/dist/esm/{chunk-AHCV3LQ7.js → chunk-BC6IISWS.js} +7 -0
  30. package/dist/esm/{chunk-XM66T73O.js → chunk-BEJF4KW3.js} +34 -16
  31. package/dist/esm/chunk-EAVNASDB.js +22 -0
  32. package/dist/esm/chunk-ES4NZ4EM.js +27 -0
  33. package/dist/esm/{chunk-PVTF4VYK.js → chunk-HOFWZLG5.js} +1 -1
  34. package/dist/esm/{chunk-B55VVACL.js → chunk-KNZTLDS7.js} +1 -1
  35. package/dist/esm/{chunk-OMGVOLYE.js → chunk-KRQ6KUVY.js} +14 -0
  36. package/dist/esm/{chunk-IPDMEQ3O.js → chunk-PKE7OYIU.js} +6 -3
  37. package/dist/esm/global/global.d.ts +3 -1
  38. package/dist/esm/global/global.js +2 -1
  39. package/dist/esm/global/ws.d.ts +13 -0
  40. package/dist/esm/global/ws.js +6 -0
  41. package/dist/esm/index.d.ts +2 -1
  42. package/dist/esm/index.js +15 -9
  43. package/dist/esm/interface/extend/json-base.js +5 -3
  44. package/dist/esm/interface/extend/json-wrap.js +5 -3
  45. package/dist/esm/plugin/extend/json.js +4 -2
  46. package/dist/esm/plugin/extend/web-socket.d.ts +22 -0
  47. package/dist/esm/plugin/extend/web-socket.js +9 -0
  48. package/dist/esm/plugin/plug.d.ts +2 -1
  49. package/dist/esm/result/result.js +4 -2
  50. package/dist/esm/server/server.js +3 -2
  51. package/dist/esm/tools/tools.d.ts +4 -0
  52. package/dist/esm/tools/tools.js +8 -0
  53. package/package.json +3 -1
@@ -67,6 +67,17 @@ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType>
67
67
  : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>
68
68
  : never
69
69
  : never
70
+ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, A = InterfaceWsType> = A extends []
71
+ ? never
72
+ : A extends [infer x, ...infer xs]
73
+ ? 'path' extends keyof x
74
+ ? x['path'] extends Path
75
+ ? 'data' extends keyof x
76
+ ? x['data']
77
+ : never
78
+ : \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, xs>
79
+ : never
80
+ : never
70
81
  export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []
71
82
  ? never
72
83
  : A extends [infer x, ...infer xs]
@@ -126,6 +137,9 @@ export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84
126
137
  export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(
127
138
  \u8DEF\u5F84: \u8DEF\u5F84,
128
139
  \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,
140
+ ws\u4FE1\u606F\u56DE\u8C03?: (\u4FE1\u606F: \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<\u8DEF\u5F84>) => void,
141
+ ws\u5173\u95ED\u56DE\u8C03?: (\u4FE1\u606F: CloseEvent) => void,
142
+ ws\u9519\u8BEF\u56DE\u8C03?: (\u4FE1\u606F: Event) => void,
129
143
  ) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>
130
144
  `;
131
145
  // Annotate the CommonJS export names for ESM import in node:
@@ -79,6 +79,17 @@ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType>
79
79
  : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>
80
80
  : never
81
81
  : never
82
+ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, A = InterfaceWsType> = A extends []
83
+ ? never
84
+ : A extends [infer x, ...infer xs]
85
+ ? 'path' extends keyof x
86
+ ? x['path'] extends Path
87
+ ? 'data' extends keyof x
88
+ ? x['data']
89
+ : never
90
+ : \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, xs>
91
+ : never
92
+ : never
82
93
  export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []
83
94
  ? never
84
95
  : A extends [infer x, ...infer xs]
@@ -138,6 +149,9 @@ export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84
138
149
  export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(
139
150
  \u8DEF\u5F84: \u8DEF\u5F84,
140
151
  \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,
152
+ ws\u4FE1\u606F\u56DE\u8C03?: (\u4FE1\u606F: \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<\u8DEF\u5F84>) => void,
153
+ ws\u5173\u95ED\u56DE\u8C03?: (\u4FE1\u606F: CloseEvent) => void,
154
+ ws\u9519\u8BEF\u56DE\u8C03?: (\u4FE1\u606F: Event) => void,
141
155
  ) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>
142
156
  `;
143
157
 
@@ -179,12 +193,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
179
193
  await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
180
194
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
181
195
  var \u4EE3\u7801 = [
182
- `import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
196
+ `import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C, \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
183
197
  `import { z } from 'zod'`,
184
198
  `import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
185
199
  ``,
186
200
  `
187
- type \u8BA1\u7B97\u7ED3\u679C =
201
+ type JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C =
188
202
  typeof \u5BFC\u5165 extends \u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
189
203
  ? Path extends string
190
204
  ? {
@@ -196,6 +210,19 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
196
210
  }
197
211
  : never
198
212
  : never
213
+ type WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C =
214
+ typeof \u5BFC\u5165 extends \u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
215
+ ? Path extends string
216
+ ? \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<PreApis> extends infer R
217
+ ? {} extends R
218
+ ? never
219
+ : {
220
+ path: Path
221
+ data: \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<PreApis>
222
+ }
223
+ : never
224
+ : never
225
+ : never
199
226
  `
200
227
  ];
201
228
  return import_typescript.default.createSourceFile(
@@ -219,12 +246,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
219
246
  oldProgram: \u9879\u76EE
220
247
  });
221
248
  var \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
222
- var \u68C0\u67E5\u7ED3\u679C = [];
249
+ var JSON\u7ED3\u679C = [];
250
+ var WS\u7ED3\u679C = [];
223
251
  for (var \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
224
252
  import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (node) => {
225
- if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
253
+ if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
254
+ const type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
255
+ JSON\u7ED3\u679C.push(
256
+ \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
257
+ type,
258
+ void 0,
259
+ import_typescript.default.TypeFormatFlags.NoTruncation | import_typescript.default.TypeFormatFlags.AllowUniqueESSymbolType | import_typescript.default.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
260
+ )
261
+ );
262
+ } else if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
226
263
  const type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
227
- \u68C0\u67E5\u7ED3\u679C.push(
264
+ WS\u7ED3\u679C.push(
228
265
  \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
229
266
  type,
230
267
  void 0,
@@ -234,9 +271,15 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
234
271
  }
235
272
  });
236
273
  }
237
- var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
238
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
239
- var \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, \u9644\u52A0\u4EE3\u7801];
274
+ var \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
275
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
276
+ var \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
277
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_WS.length} \u4E2Aws\u63A5\u53E3\u7C7B\u578B`);
278
+ var \u6700\u7EC8\u4EE3\u7801 = [
279
+ `export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C_JSON.join(",")}]`,
280
+ `export type InterfaceWsType = [${\u6700\u7EC8\u7ED3\u679C_WS.join(",")}]`,
281
+ \u9644\u52A0\u4EE3\u7801
282
+ ];
240
283
  await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
241
284
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
242
285
  if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
@@ -84,6 +84,17 @@ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType>
84
84
  : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>
85
85
  : never
86
86
  : never
87
+ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, A = InterfaceWsType> = A extends []
88
+ ? never
89
+ : A extends [infer x, ...infer xs]
90
+ ? 'path' extends keyof x
91
+ ? x['path'] extends Path
92
+ ? 'data' extends keyof x
93
+ ? x['data']
94
+ : never
95
+ : \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, xs>
96
+ : never
97
+ : never
87
98
  export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []
88
99
  ? never
89
100
  : A extends [infer x, ...infer xs]
@@ -143,6 +154,9 @@ export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84
143
154
  export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(
144
155
  \u8DEF\u5F84: \u8DEF\u5F84,
145
156
  \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,
157
+ ws\u4FE1\u606F\u56DE\u8C03?: (\u4FE1\u606F: \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<\u8DEF\u5F84>) => void,
158
+ ws\u5173\u95ED\u56DE\u8C03?: (\u4FE1\u606F: CloseEvent) => void,
159
+ ws\u9519\u8BEF\u56DE\u8C03?: (\u4FE1\u606F: Event) => void,
146
160
  ) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>
147
161
  `;
148
162
 
@@ -184,12 +198,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
184
198
  await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
185
199
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
186
200
  var \u4EE3\u7801 = [
187
- `import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
201
+ `import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C, \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
188
202
  `import { z } from 'zod'`,
189
203
  `import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
190
204
  ``,
191
205
  `
192
- type \u8BA1\u7B97\u7ED3\u679C =
206
+ type JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C =
193
207
  typeof \u5BFC\u5165 extends \u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
194
208
  ? Path extends string
195
209
  ? {
@@ -201,6 +215,19 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
201
215
  }
202
216
  : never
203
217
  : never
218
+ type WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C =
219
+ typeof \u5BFC\u5165 extends \u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
220
+ ? Path extends string
221
+ ? \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<PreApis> extends infer R
222
+ ? {} extends R
223
+ ? never
224
+ : {
225
+ path: Path
226
+ data: \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<PreApis>
227
+ }
228
+ : never
229
+ : never
230
+ : never
204
231
  `
205
232
  ];
206
233
  return import_typescript.default.createSourceFile(
@@ -224,12 +251,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
224
251
  oldProgram: \u9879\u76EE
225
252
  });
226
253
  var \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
227
- var \u68C0\u67E5\u7ED3\u679C = [];
254
+ var JSON\u7ED3\u679C = [];
255
+ var WS\u7ED3\u679C = [];
228
256
  for (var \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
229
257
  import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (node) => {
230
- if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
258
+ if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
259
+ const type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
260
+ JSON\u7ED3\u679C.push(
261
+ \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
262
+ type,
263
+ void 0,
264
+ import_typescript.default.TypeFormatFlags.NoTruncation | import_typescript.default.TypeFormatFlags.AllowUniqueESSymbolType | import_typescript.default.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
265
+ )
266
+ );
267
+ } else if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
231
268
  const type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
232
- \u68C0\u67E5\u7ED3\u679C.push(
269
+ WS\u7ED3\u679C.push(
233
270
  \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
234
271
  type,
235
272
  void 0,
@@ -239,9 +276,15 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
239
276
  }
240
277
  });
241
278
  }
242
- var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
243
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
244
- var \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, \u9644\u52A0\u4EE3\u7801];
279
+ var \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
280
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
281
+ var \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
282
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_WS.length} \u4E2Aws\u63A5\u53E3\u7C7B\u578B`);
283
+ var \u6700\u7EC8\u4EE3\u7801 = [
284
+ `export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C_JSON.join(",")}]`,
285
+ `export type InterfaceWsType = [${\u6700\u7EC8\u7ED3\u679C_WS.join(",")}]`,
286
+ \u9644\u52A0\u4EE3\u7801
287
+ ];
245
288
  await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
246
289
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
247
290
  if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
@@ -67,6 +67,17 @@ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType>
67
67
  : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>
68
68
  : never
69
69
  : never
70
+ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, A = InterfaceWsType> = A extends []
71
+ ? never
72
+ : A extends [infer x, ...infer xs]
73
+ ? 'path' extends keyof x
74
+ ? x['path'] extends Path
75
+ ? 'data' extends keyof x
76
+ ? x['data']
77
+ : never
78
+ : \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, xs>
79
+ : never
80
+ : never
70
81
  export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []
71
82
  ? never
72
83
  : A extends [infer x, ...infer xs]
@@ -126,6 +137,9 @@ export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84
126
137
  export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(
127
138
  \u8DEF\u5F84: \u8DEF\u5F84,
128
139
  \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,
140
+ ws\u4FE1\u606F\u56DE\u8C03?: (\u4FE1\u606F: \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<\u8DEF\u5F84>) => void,
141
+ ws\u5173\u95ED\u56DE\u8C03?: (\u4FE1\u606F: CloseEvent) => void,
142
+ ws\u9519\u8BEF\u56DE\u8C03?: (\u4FE1\u606F: Event) => void,
129
143
  ) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>
130
144
  `;
131
145
  // Annotate the CommonJS export names for ESM import in node:
@@ -79,6 +79,17 @@ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType>
79
79
  : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>
80
80
  : never
81
81
  : never
82
+ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, A = InterfaceWsType> = A extends []
83
+ ? never
84
+ : A extends [infer x, ...infer xs]
85
+ ? 'path' extends keyof x
86
+ ? x['path'] extends Path
87
+ ? 'data' extends keyof x
88
+ ? x['data']
89
+ : never
90
+ : \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, xs>
91
+ : never
92
+ : never
82
93
  export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []
83
94
  ? never
84
95
  : A extends [infer x, ...infer xs]
@@ -138,6 +149,9 @@ export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84
138
149
  export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(
139
150
  \u8DEF\u5F84: \u8DEF\u5F84,
140
151
  \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,
152
+ ws\u4FE1\u606F\u56DE\u8C03?: (\u4FE1\u606F: \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<\u8DEF\u5F84>) => void,
153
+ ws\u5173\u95ED\u56DE\u8C03?: (\u4FE1\u606F: CloseEvent) => void,
154
+ ws\u9519\u8BEF\u56DE\u8C03?: (\u4FE1\u606F: Event) => void,
141
155
  ) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>
142
156
  `;
143
157
 
@@ -179,12 +193,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
179
193
  await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
180
194
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
181
195
  var \u4EE3\u7801 = [
182
- `import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
196
+ `import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C, \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
183
197
  `import { z } from 'zod'`,
184
198
  `import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
185
199
  ``,
186
200
  `
187
- type \u8BA1\u7B97\u7ED3\u679C =
201
+ type JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C =
188
202
  typeof \u5BFC\u5165 extends \u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
189
203
  ? Path extends string
190
204
  ? {
@@ -196,6 +210,19 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
196
210
  }
197
211
  : never
198
212
  : never
213
+ type WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C =
214
+ typeof \u5BFC\u5165 extends \u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
215
+ ? Path extends string
216
+ ? \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<PreApis> extends infer R
217
+ ? {} extends R
218
+ ? never
219
+ : {
220
+ path: Path
221
+ data: \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<PreApis>
222
+ }
223
+ : never
224
+ : never
225
+ : never
199
226
  `
200
227
  ];
201
228
  return import_typescript.default.createSourceFile(
@@ -219,12 +246,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
219
246
  oldProgram: \u9879\u76EE
220
247
  });
221
248
  var \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
222
- var \u68C0\u67E5\u7ED3\u679C = [];
249
+ var JSON\u7ED3\u679C = [];
250
+ var WS\u7ED3\u679C = [];
223
251
  for (var \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
224
252
  import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (node) => {
225
- if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
253
+ if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
254
+ const type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
255
+ JSON\u7ED3\u679C.push(
256
+ \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
257
+ type,
258
+ void 0,
259
+ import_typescript.default.TypeFormatFlags.NoTruncation | import_typescript.default.TypeFormatFlags.AllowUniqueESSymbolType | import_typescript.default.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
260
+ )
261
+ );
262
+ } else if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
226
263
  const type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
227
- \u68C0\u67E5\u7ED3\u679C.push(
264
+ WS\u7ED3\u679C.push(
228
265
  \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
229
266
  type,
230
267
  void 0,
@@ -234,9 +271,15 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
234
271
  }
235
272
  });
236
273
  }
237
- var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
238
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
239
- var \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, \u9644\u52A0\u4EE3\u7801];
274
+ var \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
275
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
276
+ var \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
277
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_WS.length} \u4E2Aws\u63A5\u53E3\u7C7B\u578B`);
278
+ var \u6700\u7EC8\u4EE3\u7801 = [
279
+ `export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C_JSON.join(",")}]`,
280
+ `export type InterfaceWsType = [${\u6700\u7EC8\u7ED3\u679C_WS.join(",")}]`,
281
+ \u9644\u52A0\u4EE3\u7801
282
+ ];
240
283
  await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
241
284
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
242
285
  if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
@@ -84,6 +84,17 @@ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType>
84
84
  : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>
85
85
  : never
86
86
  : never
87
+ export type \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, A = InterfaceWsType> = A extends []
88
+ ? never
89
+ : A extends [infer x, ...infer xs]
90
+ ? 'path' extends keyof x
91
+ ? x['path'] extends Path
92
+ ? 'data' extends keyof x
93
+ ? x['data']
94
+ : never
95
+ : \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<Path, xs>
96
+ : never
97
+ : never
87
98
  export type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []
88
99
  ? never
89
100
  : A extends [infer x, ...infer xs]
@@ -143,6 +154,9 @@ export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84
143
154
  export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(
144
155
  \u8DEF\u5F84: \u8DEF\u5F84,
145
156
  \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,
157
+ ws\u4FE1\u606F\u56DE\u8C03?: (\u4FE1\u606F: \u4ECE\u8DEF\u5F84\u83B7\u5F97WS\u53C2\u6570<\u8DEF\u5F84>) => void,
158
+ ws\u5173\u95ED\u56DE\u8C03?: (\u4FE1\u606F: CloseEvent) => void,
159
+ ws\u9519\u8BEF\u56DE\u8C03?: (\u4FE1\u606F: Event) => void,
146
160
  ) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>
147
161
  `;
148
162
 
@@ -184,12 +198,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
184
198
  await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
185
199
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
186
200
  var \u4EE3\u7801 = [
187
- `import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
201
+ `import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C, \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
188
202
  `import { z } from 'zod'`,
189
203
  `import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
190
204
  ``,
191
205
  `
192
- type \u8BA1\u7B97\u7ED3\u679C =
206
+ type JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C =
193
207
  typeof \u5BFC\u5165 extends \u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
194
208
  ? Path extends string
195
209
  ? {
@@ -201,6 +215,19 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
201
215
  }
202
216
  : never
203
217
  : never
218
+ type WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C =
219
+ typeof \u5BFC\u5165 extends \u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
220
+ ? Path extends string
221
+ ? \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<PreApis> extends infer R
222
+ ? {} extends R
223
+ ? never
224
+ : {
225
+ path: Path
226
+ data: \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<PreApis>
227
+ }
228
+ : never
229
+ : never
230
+ : never
204
231
  `
205
232
  ];
206
233
  return import_typescript.default.createSourceFile(
@@ -224,12 +251,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
224
251
  oldProgram: \u9879\u76EE
225
252
  });
226
253
  var \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
227
- var \u68C0\u67E5\u7ED3\u679C = [];
254
+ var JSON\u7ED3\u679C = [];
255
+ var WS\u7ED3\u679C = [];
228
256
  for (var \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
229
257
  import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (node) => {
230
- if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
258
+ if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
259
+ const type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
260
+ JSON\u7ED3\u679C.push(
261
+ \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
262
+ type,
263
+ void 0,
264
+ import_typescript.default.TypeFormatFlags.NoTruncation | import_typescript.default.TypeFormatFlags.AllowUniqueESSymbolType | import_typescript.default.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
265
+ )
266
+ );
267
+ } else if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
231
268
  const type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
232
- \u68C0\u67E5\u7ED3\u679C.push(
269
+ WS\u7ED3\u679C.push(
233
270
  \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
234
271
  type,
235
272
  void 0,
@@ -239,9 +276,15 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
239
276
  }
240
277
  });
241
278
  }
242
- var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
243
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
244
- var \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, \u9644\u52A0\u4EE3\u7801];
279
+ var \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
280
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
281
+ var \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
282
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_WS.length} \u4E2Aws\u63A5\u53E3\u7C7B\u578B`);
283
+ var \u6700\u7EC8\u4EE3\u7801 = [
284
+ `export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C_JSON.join(",")}]`,
285
+ `export type InterfaceWsType = [${\u6700\u7EC8\u7ED3\u679C_WS.join(",")}]`,
286
+ \u9644\u52A0\u4EE3\u7801
287
+ ];
245
288
  await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
246
289
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
247
290
  if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
@@ -25,9 +25,33 @@ __export(global_exports, {
25
25
  module.exports = __toCommonJS(global_exports);
26
26
  var import_ts_global = require("@lsby/ts-global");
27
27
  var import_ts_log = require("@lsby/ts-log");
28
+
29
+ // src/global/ws.ts
30
+ var WebSocket\u7BA1\u7406\u8005 = class {
31
+ constructor(\u8FDE\u63A5\u8868) {
32
+ this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
33
+ }
34
+ async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
35
+ this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
36
+ }
37
+ async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
38
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
39
+ }
40
+ async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
41
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
42
+ }
43
+ async \u5220\u9664\u8FDE\u63A5(id) {
44
+ delete this.\u8FDE\u63A5\u8868[id];
45
+ }
46
+ };
47
+
48
+ // src/global/global.ts
28
49
  var Global = new import_ts_global.GlobalService([
29
50
  new import_ts_global.GlobalAsyncItem("log", async () => {
30
51
  return new import_ts_log.Log("@lsby:net-core");
52
+ }),
53
+ new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u8005", async () => {
54
+ return new WebSocket\u7BA1\u7406\u8005({});
31
55
  })
32
56
  ]);
33
57
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,6 +1,8 @@
1
1
  import { GlobalService, GlobalAsyncItem } from '@lsby/ts-global';
2
2
  import { Log } from '@lsby/ts-log';
3
+ import { WebSocket管理者 as WebSocket___ } from './ws.cjs';
4
+ import 'ws';
3
5
 
4
- declare var Global: GlobalService<[GlobalAsyncItem<"log", Log>]>;
6
+ declare var Global: GlobalService<[GlobalAsyncItem<"log", Log>, GlobalAsyncItem<"WebSocket管理者", WebSocket___>]>;
5
7
 
6
8
  export { Global };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/global/ws.ts
21
+ var ws_exports = {};
22
+ __export(ws_exports, {
23
+ WebSocket\u7BA1\u7406\u8005: () => WebSocket\u7BA1\u7406\u8005
24
+ });
25
+ module.exports = __toCommonJS(ws_exports);
26
+ var WebSocket\u7BA1\u7406\u8005 = class {
27
+ constructor(\u8FDE\u63A5\u8868) {
28
+ this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
29
+ }
30
+ async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
31
+ this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
32
+ }
33
+ async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
34
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
35
+ }
36
+ async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
37
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
38
+ }
39
+ async \u5220\u9664\u8FDE\u63A5(id) {
40
+ delete this.\u8FDE\u63A5\u8868[id];
41
+ }
42
+ };
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ WebSocket\u7BA1\u7406\u8005
46
+ });
@@ -0,0 +1,13 @@
1
+ import { WebSocket } from 'ws';
2
+
3
+ type 请求id = string;
4
+ declare class WebSocket管理者 {
5
+ private 连接表;
6
+ constructor(连接表: Record<请求id, WebSocket | null>);
7
+ 增加连接(请求id: 请求id, ws句柄: WebSocket): Promise<void>;
8
+ 查询连接存在(请求id: string): Promise<boolean>;
9
+ 获得句柄(请求id: 请求id): Promise<WebSocket | null>;
10
+ 删除连接(id: string): Promise<void>;
11
+ }
12
+
13
+ export { WebSocket管理者 };