@lsby/net-core 0.4.0-beta.2 → 0.4.0-beta.3

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 (111) hide show
  1. package/dist/bin/gen-list/bin.cjs +15 -14
  2. package/dist/bin/gen-list/index.cjs +13 -12
  3. package/dist/bin/gen-table-list/bin.cjs +157 -0
  4. package/dist/bin/gen-table-list/bin.d.cts +1 -0
  5. package/dist/bin/gen-table-list/index.cjs +156 -0
  6. package/dist/bin/gen-table-list/index.d.cts +3 -0
  7. package/dist/bin/gen-table-type/addition.cjs +58 -0
  8. package/dist/bin/gen-table-type/addition.d.cts +3 -0
  9. package/dist/bin/gen-table-type/bin.cjs +208 -0
  10. package/dist/bin/gen-table-type/bin.d.cts +1 -0
  11. package/dist/bin/gen-table-type/index.cjs +207 -0
  12. package/dist/bin/gen-table-type/index.d.cts +3 -0
  13. package/dist/bin/gen-test/bin.cjs +16 -15
  14. package/dist/bin/gen-test/index.cjs +15 -14
  15. package/dist/bin/gen-type/bin.cjs +13 -12
  16. package/dist/bin/gen-type/index.cjs +12 -11
  17. package/dist/cjs/action/action.cjs +2 -2
  18. package/dist/cjs/bin/gen-list/bin.cjs +15 -14
  19. package/dist/cjs/bin/gen-list/index.cjs +13 -12
  20. package/dist/cjs/bin/gen-table-list/bin.cjs +157 -0
  21. package/dist/cjs/bin/gen-table-list/bin.d.cts +1 -0
  22. package/dist/cjs/bin/gen-table-list/index.cjs +156 -0
  23. package/dist/cjs/bin/gen-table-list/index.d.cts +3 -0
  24. package/dist/cjs/bin/gen-table-type/addition.cjs +58 -0
  25. package/dist/cjs/bin/gen-table-type/addition.d.cts +3 -0
  26. package/dist/cjs/bin/gen-table-type/bin.cjs +208 -0
  27. package/dist/cjs/bin/gen-table-type/bin.d.cts +1 -0
  28. package/dist/cjs/bin/gen-table-type/index.cjs +207 -0
  29. package/dist/cjs/bin/gen-table-type/index.d.cts +3 -0
  30. package/dist/cjs/bin/gen-test/bin.cjs +16 -15
  31. package/dist/cjs/bin/gen-test/index.cjs +15 -14
  32. package/dist/cjs/bin/gen-type/bin.cjs +13 -12
  33. package/dist/cjs/bin/gen-type/index.cjs +12 -11
  34. package/dist/cjs/global/global.cjs +2 -2
  35. package/dist/cjs/global/ws.cjs +2 -2
  36. package/dist/cjs/index.cjs +227 -87
  37. package/dist/cjs/index.d.cts +3 -2
  38. package/dist/cjs/interface/interface-base.d.cts +4 -4
  39. package/dist/cjs/interface/interface-logic.cjs +16 -10
  40. package/dist/cjs/interface/interface-logic.d.cts +34 -15
  41. package/dist/cjs/interface/interface-result.d.cts +2 -2
  42. package/dist/cjs/interface-table/interface-table.cjs +59 -0
  43. package/dist/cjs/interface-table/interface-table.d.cts +95 -0
  44. package/dist/cjs/plugin/extend/chinese-path.d.cts +1 -1
  45. package/dist/cjs/plugin/extend/custom-data.cjs +2 -2
  46. package/dist/cjs/plugin/extend/custom-data.d.cts +1 -1
  47. package/dist/cjs/plugin/extend/json.cjs +5 -5
  48. package/dist/cjs/plugin/extend/urlencoded.cjs +4 -4
  49. package/dist/cjs/plugin/extend/web-socket.cjs +7 -7
  50. package/dist/cjs/plugin/extend/web-socket.d.cts +2 -2
  51. package/dist/cjs/plugin/plug.d.cts +1 -1
  52. package/dist/cjs/server/server.cjs +187 -68
  53. package/dist/cjs/server/server.d.cts +15 -2
  54. package/dist/cjs/tools/tools.cjs +1 -1
  55. package/dist/esm/action/action.js +1 -1
  56. package/dist/esm/bin/gen-list/bin.js +3 -3
  57. package/dist/esm/bin/gen-list/index.js +1 -1
  58. package/dist/esm/bin/gen-table-list/bin.d.ts +1 -0
  59. package/dist/esm/bin/gen-table-list/bin.js +16 -0
  60. package/dist/esm/bin/gen-table-list/index.d.ts +3 -0
  61. package/dist/esm/bin/gen-table-list/index.js +6 -0
  62. package/dist/esm/bin/gen-table-type/addition.d.ts +3 -0
  63. package/dist/esm/bin/gen-table-type/addition.js +6 -0
  64. package/dist/esm/bin/gen-table-type/bin.d.ts +1 -0
  65. package/dist/esm/bin/gen-table-type/bin.js +17 -0
  66. package/dist/esm/bin/gen-table-type/index.d.ts +3 -0
  67. package/dist/esm/bin/gen-table-type/index.js +7 -0
  68. package/dist/esm/bin/gen-test/bin.js +2 -2
  69. package/dist/esm/bin/gen-test/index.js +1 -1
  70. package/dist/esm/bin/gen-type/bin.js +2 -2
  71. package/dist/esm/bin/gen-type/index.js +1 -1
  72. package/dist/esm/{chunk-F7TZXXFE.js → chunk-2QVSQMI7.js} +13 -12
  73. package/dist/esm/{chunk-JX5MRJL6.js → chunk-43ZE4ZNH.js} +1 -1
  74. package/dist/esm/{chunk-5WR5VNYH.js → chunk-47ICFQXW.js} +2 -2
  75. package/dist/esm/{chunk-6AW5SSYA.js → chunk-6Y4UXWIN.js} +3 -3
  76. package/dist/esm/{chunk-GVIGQG5Y.js → chunk-7Y3YE4M5.js} +4 -4
  77. package/dist/esm/chunk-AAZFVBDH.js +144 -0
  78. package/dist/esm/chunk-CSKAQDJA.js +204 -0
  79. package/dist/esm/{chunk-AVB7KPZC.js → chunk-CSOONB3X.js} +6 -6
  80. package/dist/esm/{chunk-BC6IISWS.js → chunk-DGDZQLIJ.js} +1 -1
  81. package/dist/esm/{chunk-BOCS6H24.js → chunk-ELSBYQPF.js} +12 -11
  82. package/dist/esm/{chunk-EAVNASDB.js → chunk-FIQSBTYJ.js} +2 -2
  83. package/dist/esm/{chunk-PVE5VI5K.js → chunk-IGHJCQ2S.js} +1 -1
  84. package/dist/esm/chunk-IY26L2UM.js +122 -0
  85. package/dist/esm/{chunk-EZ7OJFSQ.js → chunk-QGSMHYVT.js} +15 -9
  86. package/dist/esm/chunk-RG6U5R37.js +34 -0
  87. package/dist/esm/chunk-XICLHBEA.js +34 -0
  88. package/dist/esm/{chunk-WIZEBP6C.js → chunk-YATLUSDZ.js} +15 -14
  89. package/dist/esm/global/global.js +2 -2
  90. package/dist/esm/global/ws.js +1 -1
  91. package/dist/esm/index.d.ts +3 -2
  92. package/dist/esm/index.js +16 -10
  93. package/dist/esm/interface/interface-base.d.ts +4 -4
  94. package/dist/esm/interface/interface-logic.d.ts +34 -15
  95. package/dist/esm/interface/interface-logic.js +3 -3
  96. package/dist/esm/interface/interface-result.d.ts +2 -2
  97. package/dist/esm/interface-table/interface-table.d.ts +95 -0
  98. package/dist/esm/interface-table/interface-table.js +8 -0
  99. package/dist/esm/plugin/extend/chinese-path.d.ts +1 -1
  100. package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
  101. package/dist/esm/plugin/extend/custom-data.js +3 -3
  102. package/dist/esm/plugin/extend/json.js +4 -4
  103. package/dist/esm/plugin/extend/urlencoded.js +3 -3
  104. package/dist/esm/plugin/extend/web-socket.d.ts +2 -2
  105. package/dist/esm/plugin/extend/web-socket.js +3 -3
  106. package/dist/esm/plugin/plug.d.ts +1 -1
  107. package/dist/esm/server/server.d.ts +15 -2
  108. package/dist/esm/server/server.js +5 -4
  109. package/dist/esm/tools/tools.js +1 -1
  110. package/package.json +14 -4
  111. package/dist/esm/chunk-3ERQ6GCK.js +0 -101
@@ -36,6 +36,7 @@ __export(src_exports, {
36
36
  \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6: () => \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6,
37
37
  \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
38
38
  \u622A\u65AD\u5B57\u7B26\u4E32: () => \u622A\u65AD\u5B57\u7B26\u4E32,
39
+ \u6241\u5E73\u5316\u6761\u4EF6\u7EC4: () => \u6241\u5E73\u5316\u6761\u4EF6\u7EC4,
39
40
  \u63A5\u53E3: () => \u63A5\u53E3,
40
41
  \u63A5\u53E3\u6D4B\u8BD5: () => \u63A5\u53E3\u6D4B\u8BD5,
41
42
  \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
@@ -43,6 +44,7 @@ __export(src_exports, {
43
44
  \u63D2\u4EF6: () => \u63D2\u4EF6,
44
45
  \u670D\u52A1\u5668: () => \u670D\u52A1\u5668,
45
46
  \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6: () => \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
47
+ \u865A\u62DF\u8868: () => \u865A\u62DF\u8868,
46
48
  \u8868\u5355\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u89E3\u6790\u63D2\u4EF6,
47
49
  \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32: () => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32
48
50
  });
@@ -89,8 +91,8 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
89
91
  static \u5E76\u884C\u7EC4\u5408(arr, f) {
90
92
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
91
93
  let \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570)));
92
- let \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
93
- if (\u9519\u8BEF)
94
+ let \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0] ?? null;
95
+ if (\u9519\u8BEF !== null)
94
96
  return \u9519\u8BEF;
95
97
  let \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
96
98
  return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
@@ -228,10 +230,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
228
230
  this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
229
231
  }
230
232
  async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
231
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
233
+ return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
232
234
  }
233
235
  async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
234
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
236
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
235
237
  }
236
238
  async \u5220\u9664\u8FDE\u63A5(id) {
237
239
  delete this.\u8FDE\u63A5\u8868[id];
@@ -253,30 +255,36 @@ var \u63A5\u53E3\u903B\u8F91 = class _\u63A5\u53E3\u903B\u8F91 {
253
255
  static \u6DF7\u5408(\u903B\u8F91\u4EEC) {
254
256
  return \u903B\u8F91\u4EEC.reduce((s, a) => s.\u6DF7\u5408(a));
255
257
  }
256
- static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0) {
257
- return new class extends _\u63A5\u53E3\u903B\u8F91 {
258
+ static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0, \u903B\u8F91\u9644\u52A0\u53C2\u6570) {
259
+ let c = new class extends _\u63A5\u53E3\u903B\u8F91 {
258
260
  \u83B7\u5F97\u63D2\u4EF6\u4EEC() {
259
261
  return \u63D2\u4EF6\u4EEC;
260
262
  }
261
- \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570) {
262
- return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
263
+ \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702) {
264
+ return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702);
263
265
  }
264
266
  }();
267
+ c.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = \u903B\u8F91\u9644\u52A0\u53C2\u6570 ?? {};
268
+ return c;
265
269
  }
266
- async \u8FD0\u884C(req, res, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
267
- let log = (await Global.getItem("log")).extend(\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u63A5\u53E3\u903B\u8F91");
270
+ \u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = {};
271
+ \u8BBE\u7F6E\u903B\u8F91\u9644\u52A0\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
272
+ return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020(this.\u83B7\u5F97\u63D2\u4EF6\u4EEC(), this.\u5B9E\u73B0, \u8BBE\u7F6E\u53C2\u6570);
273
+ }
274
+ async \u8FD0\u884C(req, res, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
275
+ let log = (await Global.getItem("log")).extend(\u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u63A5\u53E3\u903B\u8F91");
268
276
  let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
269
277
  await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
270
278
  let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
271
279
  for (let \u63D2\u4EF62 of \u63D2\u4EF6\u4EEC) {
272
280
  let \u63D2\u4EF6\u672C\u4F53 = await \u63D2\u4EF62.run();
273
- let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
281
+ let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
274
282
  \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
275
283
  }
276
284
  let \u5408\u5E76\u63D2\u4EF6\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => Object.assign(s, a), {});
277
285
  await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
278
286
  await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
279
- let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
287
+ let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, Object.assign(this.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570));
280
288
  await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
281
289
  return \u5B9E\u73B0\u7ED3\u679C;
282
290
  }
@@ -324,6 +332,36 @@ var \u63A5\u53E3\u6D4B\u8BD5 = class {
324
332
  }
325
333
  };
326
334
 
335
+ // src/interface-table/interface-table.ts
336
+ var \u865A\u62DF\u8868 = class {
337
+ constructor(\u6784\u9020\u53C2\u6570) {
338
+ this.\u6784\u9020\u53C2\u6570 = \u6784\u9020\u53C2\u6570;
339
+ }
340
+ static \u8D44\u6E90\u8DEF\u5F84;
341
+ };
342
+ function \u6241\u5E73\u5316\u6761\u4EF6\u7EC4(\u6761\u4EF6\u7EC4) {
343
+ let \u6241\u5E73\u5316\u6761\u4EF6 = [];
344
+ for (let \u6761\u4EF6\u7EC4\u9879 of \u6761\u4EF6\u7EC4) {
345
+ switch (\u6761\u4EF6\u7EC4\u9879.\u6A21\u5F0F) {
346
+ case "\u76F4\u63A5\u6761\u4EF6":
347
+ \u6241\u5E73\u5316\u6761\u4EF6.push({
348
+ \u7EC4\u5408\u6A21\u5F0F: "\u4E0E",
349
+ \u6761\u4EF6: \u6761\u4EF6\u7EC4\u9879.\u503C
350
+ });
351
+ break;
352
+ case "\u7EC4\u5408\u6761\u4EF6":
353
+ for (let \u6761\u4EF6\u9879 of \u6761\u4EF6\u7EC4\u9879.\u6761\u4EF6\u4EEC) {
354
+ \u6241\u5E73\u5316\u6761\u4EF6.push({
355
+ \u7EC4\u5408\u6A21\u5F0F: \u6761\u4EF6\u7EC4\u9879.\u7EC4\u5408\u6A21\u5F0F,
356
+ \u6761\u4EF6: \u6761\u4EF6\u9879
357
+ });
358
+ }
359
+ break;
360
+ }
361
+ }
362
+ return \u6241\u5E73\u5316\u6761\u4EF6;
363
+ }
364
+
327
365
  // src/plugin/extend/chinese-path.ts
328
366
  var import_node_url = require("url");
329
367
  var import_zod = require("zod");
@@ -368,8 +406,8 @@ var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
368
406
  };
369
407
 
370
408
  // src/plugin/extend/json.ts
371
- var import_node_util = require("util");
372
409
  var import_express = __toESM(require("express"), 1);
410
+ var import_node_util = require("util");
373
411
 
374
412
  // src/tools/tools.ts
375
413
  function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
@@ -386,7 +424,7 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
386
424
  if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
387
425
  let \u65B0\u6570\u636E = {};
388
426
  for (let key in \u6570\u636E) {
389
- if (\u6570\u636E.hasOwnProperty(key))
427
+ if (\u6570\u636E.hasOwnProperty(key) === true)
390
428
  \u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
391
429
  }
392
430
  return \u65B0\u6570\u636E;
@@ -407,7 +445,7 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
407
445
  );
408
446
  await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.body));
409
447
  let parseResult = t.safeParse(req.body);
410
- if (!parseResult.success) {
448
+ if (parseResult.success === false) {
411
449
  await log.err("\u89E3\u6790 JSON \u5931\u8D25\uFF1A%o", parseResult.error);
412
450
  throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %O", parseResult.error));
413
451
  }
@@ -418,8 +456,8 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
418
456
  };
419
457
 
420
458
  // src/plugin/extend/urlencoded.ts
421
- var import_node_util2 = require("util");
422
459
  var import_express2 = __toESM(require("express"), 1);
460
+ var import_node_util2 = require("util");
423
461
  var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
424
462
  log = Global.getItem("log");
425
463
  constructor(t, opt) {
@@ -431,7 +469,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
431
469
  })
432
470
  );
433
471
  let parseResult = t.safeParse(req.body);
434
- if (!parseResult.success) {
472
+ if (parseResult.success === false) {
435
473
  await log.err("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error);
436
474
  throw new Error((0, import_node_util2.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
437
475
  }
@@ -450,7 +488,7 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
450
488
  ws\u64CD\u4F5C: import_zod2.z.object({
451
489
  \u53D1\u9001ws\u4FE1\u606F: import_zod2.z.function(import_zod2.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod2.z.promise(import_zod2.z.void())),
452
490
  \u5173\u95EDws\u8FDE\u63A5: import_zod2.z.function(import_zod2.z.tuple([]), import_zod2.z.promise(import_zod2.z.void()))
453
- }).or(import_zod2.z.undefined())
491
+ }).or(import_zod2.z.null())
454
492
  }),
455
493
  async (req, _res, \u9644\u52A0\u53C2\u6570) => {
456
494
  let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("ws\u63D2\u4EF6");
@@ -458,13 +496,13 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
458
496
  let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
459
497
  let ws\u53E5\u67C4 = null;
460
498
  await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
461
- if (typeof wsId == "string") {
499
+ if (typeof wsId === "string") {
462
500
  await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4");
463
501
  ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(wsId);
464
502
  }
465
- if (!ws\u53E5\u67C4) {
503
+ if (ws\u53E5\u67C4 === null) {
466
504
  await log.err("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
467
- return { ws\u64CD\u4F5C: void 0 };
505
+ return { ws\u64CD\u4F5C: null };
468
506
  }
469
507
  let \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
470
508
  await log.debug("WebSocket \u53E5\u67C4\u5DF2\u51C6\u5907\u597D");
@@ -474,7 +512,7 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
474
512
  await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
475
513
  return new Promise((res, rej) => {
476
514
  \u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
477
- if (err) {
515
+ if ((err ?? null) !== null) {
478
516
  log.err("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err }).catch(console.error);
479
517
  return rej(err);
480
518
  }
@@ -495,93 +533,193 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
495
533
  };
496
534
 
497
535
  // src/server/server.ts
498
- var import_node_os = require("os");
499
536
  var import_express3 = __toESM(require("express"), 1);
537
+ var import_node_os = require("os");
500
538
  var import_short_uuid = __toESM(require("short-uuid"), 1);
501
539
  var import_ws2 = require("ws");
502
540
  var \u670D\u52A1\u5668 = class {
503
- constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
541
+ constructor(\u63A5\u53E3\u4EEC, \u865A\u62DF\u8868\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
504
542
  this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
543
+ this.\u865A\u62DF\u8868\u4EEC = \u865A\u62DF\u8868\u4EEC;
505
544
  this.\u7AEF\u53E3 = \u7AEF\u53E3;
506
545
  this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
507
546
  }
508
547
  log = Global.getItem("log");
509
548
  async run() {
510
549
  let app = (0, import_express3.default)();
511
- app.use(async (req, res) => {
512
- let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
513
- let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
514
- try {
515
- let \u8BF7\u6C42\u8DEF\u5F84 = req.path;
516
- let \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
517
- await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
518
- await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
519
- let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E32) => {
520
- let \u63A5\u53E3\u65B9\u6CD5 = \u63A5\u53E32.\u83B7\u5F97\u65B9\u6CD5();
521
- let \u63A5\u53E3\u8DEF\u5F84 = \u63A5\u53E32.\u83B7\u5F97\u8DEF\u5F84();
522
- return \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u65B9\u6CD5 && \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u8DEF\u5F84;
523
- });
524
- if (\u76EE\u6807\u63A5\u53E3 != null) {
525
- await log.debug("\u547D\u4E2D\u63A5\u53E3");
526
- let \u63A5\u53E3\u903B\u8F912 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
527
- let \u63A5\u53E3\u8FD4\u56DE = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
528
- await log.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
529
- let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id });
530
- await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
531
- await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
532
- let \u6700\u7EC8\u7ED3\u679C = \u63A5\u53E3\u8FD4\u56DE.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
533
- await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
534
- res.send(\u6700\u7EC8\u7ED3\u679C);
535
- await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
536
- return;
537
- }
538
- await log.debug("\u6CA1\u6709\u547D\u4E2D\u63A5\u53E3");
539
- if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 && req.method.toLowerCase() == "get") {
540
- await log.debug("\u5C1D\u8BD5\u5339\u914D\u9759\u6001\u8D44\u6E90...");
541
- import_express3.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
542
- setHeaders: async () => {
543
- await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
544
- }
545
- })(req, res, async () => {
546
- await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
547
- await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
548
- res.status(404);
549
- res.end();
550
- });
550
+ app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
551
+ let server = app.listen(this.\u7AEF\u53E3);
552
+ await this.\u521D\u59CB\u5316WebSocket(server);
553
+ return { ip: this.\u83B7\u53D6\u672C\u5730\u5730\u5740(), server };
554
+ }
555
+ async \u5904\u7406\u8BF7\u6C42(req, res) {
556
+ let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
557
+ let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
558
+ try {
559
+ let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
560
+ let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
561
+ await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
562
+ let \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 ?? null;
563
+ if (\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== null && \u8BF7\u6C42\u65B9\u6CD5 === "get" && await this.\u5904\u7406\u9759\u6001\u8D44\u6E90(req, res, log)) {
564
+ return;
565
+ }
566
+ let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E32) => \u8BF7\u6C42\u65B9\u6CD5 === \u63A5\u53E32.\u83B7\u5F97\u65B9\u6CD5() && \u8BF7\u6C42\u8DEF\u5F84 === \u63A5\u53E32.\u83B7\u5F97\u8DEF\u5F84()) ?? null;
567
+ if (\u76EE\u6807\u63A5\u53E3 !== null) {
568
+ await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, log, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42id);
569
+ return;
570
+ }
571
+ if (\u8BF7\u6C42\u65B9\u6CD5 === "post") {
572
+ let \u76EE\u6807\u865A\u62DF\u8868 = this.\u865A\u62DF\u8868\u4EEC.find((\u865A\u62DF\u88682) => \u8BF7\u6C42\u8DEF\u5F84.startsWith(\u865A\u62DF\u88682.\u8D44\u6E90\u8DEF\u5F84)) ?? null;
573
+ if (\u76EE\u6807\u865A\u62DF\u8868 !== null) {
574
+ let \u865A\u62DF\u8868\u64CD\u4F5C = this.\u89E3\u6790\u865A\u62DF\u8868\u64CD\u4F5C(\u76EE\u6807\u865A\u62DF\u8868.\u8D44\u6E90\u8DEF\u5F84, \u8BF7\u6C42\u8DEF\u5F84);
575
+ if (\u865A\u62DF\u8868\u64CD\u4F5C !== null) {
576
+ await this.\u5904\u7406\u865A\u62DF\u8868\u903B\u8F91(req, res, log, \u865A\u62DF\u8868\u64CD\u4F5C, \u76EE\u6807\u865A\u62DF\u8868, \u8BF7\u6C42id);
577
+ return;
578
+ }
551
579
  }
552
- } catch (e) {
553
- await log.err(e);
554
- res.status(500);
555
- res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
556
580
  }
557
- });
558
- let server = app.listen(this.\u7AEF\u53E3);
581
+ await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
582
+ res.status(404).end();
583
+ } catch (error) {
584
+ await log.err(error);
585
+ res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
586
+ }
587
+ }
588
+ async \u5904\u7406\u9759\u6001\u8D44\u6E90(req, res, log) {
589
+ let \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 ?? null;
590
+ let \u547D\u4E2D = false;
591
+ if (\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== null) {
592
+ await new Promise((resolve) => {
593
+ import_express3.default.static(\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
594
+ setHeaders: async () => {
595
+ await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
596
+ \u547D\u4E2D = true;
597
+ resolve();
598
+ }
599
+ })(req, res, () => resolve());
600
+ });
601
+ } else {
602
+ await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
603
+ }
604
+ return \u547D\u4E2D;
605
+ }
606
+ async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, log, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42id) {
607
+ let \u63A5\u53E3\u903B\u8F912 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
608
+ let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
609
+ await log.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
610
+ let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id });
611
+ await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
612
+ let \u6700\u7EC8\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
613
+ await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
614
+ res.send(\u6700\u7EC8\u7ED3\u679C);
615
+ await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
616
+ }
617
+ async \u5904\u7406\u865A\u62DF\u8868\u903B\u8F91(req, res, log, \u865A\u62DF\u8868\u64CD\u4F5C, \u76EE\u6807\u865A\u62DF\u8868, \u8BF7\u6C42id) {
618
+ await log.debug("\u8C03\u7528\u865A\u62DF\u8868\u903B\u8F91...");
619
+ await log.debug("\u8C03\u7528json\u89E3\u6790...");
620
+ await new Promise(
621
+ (pRes, _rej) => import_express3.default.json({})(req, res, () => {
622
+ pRes(null);
623
+ })
624
+ );
625
+ await log.debug("json\u89E3\u6790\u5B8C\u6210");
626
+ await log.debug("\u865A\u62DF\u8868: %O", \u76EE\u6807\u865A\u62DF\u8868.name);
627
+ await log.debug("\u64CD\u4F5C: %O", \u865A\u62DF\u8868\u64CD\u4F5C);
628
+ await log.debug("\u63D0\u53D6\u6784\u9020\u53C2\u6570...");
629
+ let \u6784\u9020\u53C2\u6570 = req.body?.["construction"] ?? null;
630
+ if (\u6784\u9020\u53C2\u6570 === null)
631
+ throw new Error("\u6784\u9020\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A");
632
+ await log.debug("\u6784\u9020\u53C2\u6570: %O", \u6784\u9020\u53C2\u6570);
633
+ let \u865A\u62DF\u8868\u5B9E\u4F8B = new \u76EE\u6807\u865A\u62DF\u8868(\u6784\u9020\u53C2\u6570);
634
+ let \u7ED3\u679C;
635
+ switch (\u865A\u62DF\u8868\u64CD\u4F5C) {
636
+ case "add": {
637
+ await log.debug("\u8C03\u7528\u903B\u8F91: \u589E");
638
+ \u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u589E(req.body?.["value"]);
639
+ await log.debug("\u8C03\u7528\u7ED3\u675F");
640
+ break;
641
+ }
642
+ case "del": {
643
+ await log.debug("\u8C03\u7528\u903B\u8F91: \u5220");
644
+ \u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u5220(req.body?.["where"]);
645
+ await log.debug("\u8C03\u7528\u7ED3\u675F");
646
+ break;
647
+ }
648
+ case "set": {
649
+ await log.debug("\u8C03\u7528\u903B\u8F91: \u6539");
650
+ \u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u6539(req.body?.["value"], req.body?.["where"]);
651
+ await log.debug("\u8C03\u7528\u7ED3\u675F");
652
+ break;
653
+ }
654
+ case "get": {
655
+ await log.debug("\u8C03\u7528\u903B\u8F91: \u67E5");
656
+ \u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u67E5(req.body?.["where"], req.body?.["page"], req.body?.["sort"]);
657
+ await log.debug("\u8C03\u7528\u7ED3\u675F");
658
+ break;
659
+ }
660
+ default: {
661
+ throw new Error(`\u610F\u5916\u7684\u64CD\u4F5C: ${\u865A\u62DF\u8868\u64CD\u4F5C}`);
662
+ }
663
+ }
664
+ let \u6700\u7EC8\u7ED3\u679C = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668().\u5B9E\u73B0(await \u7ED3\u679C.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id }));
665
+ await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
666
+ res.send(\u6700\u7EC8\u7ED3\u679C);
667
+ await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
668
+ }
669
+ \u89E3\u6790\u865A\u62DF\u8868\u64CD\u4F5C(\u8D44\u6E90\u8DEF\u5F84, \u8BF7\u6C42\u8DEF\u5F84) {
670
+ let \u5206\u89E3 = \u8BF7\u6C42\u8DEF\u5F84.split("/");
671
+ let \u64CD\u4F5C = \u5206\u89E3.at(-1) ?? null;
672
+ let \u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 = \u5206\u89E3.slice(0, -1).join("/");
673
+ if (\u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 !== \u8D44\u6E90\u8DEF\u5F84)
674
+ return null;
675
+ if (\u64CD\u4F5C !== "add" && \u64CD\u4F5C !== "del" && \u64CD\u4F5C !== "set" && \u64CD\u4F5C !== "get")
676
+ return null;
677
+ return \u64CD\u4F5C;
678
+ }
679
+ async \u521D\u59CB\u5316WebSocket(server) {
559
680
  let wss = new import_ws2.WebSocketServer({ server });
681
+ let logBase = (await this.log).extend("web-socket");
560
682
  wss.on("connection", async (ws, req) => {
561
- let log = (await this.log).extend((0, import_short_uuid.default)().new()).extend("WebSocket");
562
- await log.debug(`WebSocket \u8BF7\u6C42\u8FDE\u63A5: ${req.url}`);
683
+ let log = logBase.extend((0, import_short_uuid.default)().new()).extend("WebSocket");
684
+ await log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
685
+ let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
686
+ if (\u5BA2\u6237\u7AEFid === null) {
687
+ await log.err("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
688
+ return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
689
+ }
690
+ await log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
563
691
  let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
564
- let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1];
565
- if (!\u5BA2\u6237\u7AEFid)
566
- return ws.close(4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
567
- if (await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid) == true)
568
- return ws.close(4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
569
- let \u5B58\u5728\u7684\u5BA2\u6237\u7AEFid = \u5BA2\u6237\u7AEFid;
692
+ let \u662F\u5426\u5DF2\u5B58\u5728 = await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
693
+ if (\u662F\u5426\u5DF2\u5B58\u5728) {
694
+ await log.err("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
695
+ return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
696
+ }
570
697
  await WebSocket\u7BA1\u7406\u80052.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
571
- await log.debug(`WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEFid: ${\u5BA2\u6237\u7AEFid}`);
698
+ await log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
572
699
  ws.on("close", async () => {
573
- await log.debug(`WebSocket \u8FDE\u63A5\u5DF2\u5173\u95ED: ${\u5BA2\u6237\u7AEFid}`);
574
- await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5B58\u5728\u7684\u5BA2\u6237\u7AEFid);
700
+ await log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
701
+ await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
575
702
  });
576
703
  ws.on("error", async (err) => {
577
- await log.err(`WebSocket \u51FA\u73B0\u9519\u8BEF ${\u5BA2\u6237\u7AEFid}: %o`, err);
578
- await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5B58\u5728\u7684\u5BA2\u6237\u7AEFid);
704
+ await log.err("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
705
+ await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
579
706
  });
580
707
  });
581
- return {
582
- ip: Object.values((0, import_node_os.networkInterfaces)()).flat().flatMap((address) => address !== void 0 ? [address] : []).map((wrappedAddress) => wrappedAddress.address).map((address) => `http://${address}:${this.\u7AEF\u53E3}`),
583
- server
584
- };
708
+ wss.on("listening", async () => {
709
+ let log = logBase;
710
+ await log.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
711
+ });
712
+ wss.on("error", async (err) => {
713
+ let log = logBase;
714
+ await log.err("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
715
+ });
716
+ }
717
+ async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, code, reason) {
718
+ await log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u539F\u56E0: ${reason}`);
719
+ ws.close(code, reason);
720
+ }
721
+ \u83B7\u53D6\u672C\u5730\u5730\u5740() {
722
+ return Object.values((0, import_node_os.networkInterfaces)()).flatMap((iface) => iface ?? []).map((address) => `http://${address.address}:${this.\u7AEF\u53E3}`);
585
723
  }
586
724
  };
587
725
  // Annotate the CommonJS export names for ESM import in node:
@@ -592,6 +730,7 @@ var \u670D\u52A1\u5668 = class {
592
730
  \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6,
593
731
  \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
594
732
  \u622A\u65AD\u5B57\u7B26\u4E32,
733
+ \u6241\u5E73\u5316\u6761\u4EF6\u7EC4,
595
734
  \u63A5\u53E3,
596
735
  \u63A5\u53E3\u6D4B\u8BD5,
597
736
  \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
@@ -599,6 +738,7 @@ var \u670D\u52A1\u5668 = class {
599
738
  \u63D2\u4EF6,
600
739
  \u670D\u52A1\u5668,
601
740
  \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
741
+ \u865A\u62DF\u8868,
602
742
  \u8868\u5355\u89E3\u6790\u63D2\u4EF6,
603
743
  \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32
604
744
  });
@@ -1,8 +1,9 @@
1
1
  export { 业务行为, 业务行为参数类型, 业务行为返回类型, 业务行为错误类型, 计算业务行为参数, 计算业务行为返回, 计算业务行为错误 } from './action/action.cjs';
2
2
  export { 任意接口, 接口, 接口方法类型, 接口路径类型, 获得接口方法类型, 获得接口正确形式, 获得接口结果转换器类型, 获得接口路径类型, 获得接口逻辑类型, 获得接口错误形式 } from './interface/interface-base.cjs';
3
- export { 任意的接口逻辑, 可调用的接口逻辑, 接口逻辑, 接口逻辑正确类型, 接口逻辑错误类型, 接口逻辑附加参数类型, 获得接口逻辑插件类型, 获得接口逻辑正确类型, 获得接口逻辑错误类型, 获得接口逻辑附加参数类型 } from './interface/interface-logic.cjs';
4
- export { 任意的接口结果转换器, 常用形式转换器, 接口结果转换器 } from './interface/interface-result.cjs';
3
+ export { 任意接口逻辑, 可调用接口逻辑, 接口逻辑, 接口逻辑正确类型, 接口逻辑错误类型, 接口逻辑附加参数类型, 获得接口逻辑插件类型, 获得接口逻辑正确类型, 获得接口逻辑错误类型, 获得接口逻辑附加参数类型 } from './interface/interface-logic.cjs';
4
+ export { 任意接口结果转换器, 常用形式转换器, 接口结果转换器 } from './interface/interface-result.cjs';
5
5
  export { 接口测试 } from './interface/interface-test.cjs';
6
+ export { 任意虚拟表, 分页选项, 基本类型, 扁平化条件组, 扁平化条件组项, 排序选项, 条件, 条件组, 翻译列描述, 翻译自定义类型, 虚拟表 } from './interface-table/interface-table.cjs';
6
7
  export { 中文路径支持插件 } from './plugin/extend/chinese-path.cjs';
7
8
  export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
8
9
  export { JSON解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.cjs';
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
- import { 可调用的接口逻辑 as ________, 获得接口逻辑错误类型 as __________, 获得接口逻辑正确类型 as __________$1 } from './interface-logic.cjs';
3
- import { 接口结果转换器 as _______ } from './interface-result.cjs';
4
- import 'express';
2
+ import { 可调用接口逻辑 as _______, 获得接口逻辑错误类型 as __________, 获得接口逻辑正确类型 as __________$1 } from './interface-logic.cjs';
3
+ import { 接口结果转换器 as _______$1 } from './interface-result.cjs';
5
4
  import '@lsby/ts-fp-data';
5
+ import 'express';
6
6
  import '../plugin/plug.cjs';
7
7
 
8
8
  type 接口路径类型 = string;
@@ -10,7 +10,7 @@ type 接口方法类型 = 'get' | 'post';
10
10
  /**
11
11
  * 接口的描述.
12
12
  */
13
- declare class 接口<路径类型 extends 接口路径类型, 方法类型 extends 接口方法类型, 逻辑类型 extends ________, 接口错误形式Zod extends z.ZodTypeAny, 接口正确形式Zod extends z.ZodTypeAny, 接口结果转换器类型 extends _______<__________<逻辑类型>, __________$1<逻辑类型>, z.infer<接口错误形式Zod>, z.infer<接口正确形式Zod>>> {
13
+ declare class 接口<路径类型 extends 接口路径类型, 方法类型 extends 接口方法类型, 逻辑类型 extends _______, 接口错误形式Zod extends z.ZodTypeAny, 接口正确形式Zod extends z.ZodTypeAny, 接口结果转换器类型 extends _______$1<__________<逻辑类型>, __________$1<逻辑类型>, z.infer<接口错误形式Zod>, z.infer<接口正确形式Zod>>> {
14
14
  private 请求路径;
15
15
  private 请求方法;
16
16
  private 接口逻辑;
@@ -37,10 +37,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
37
37
  this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
38
38
  }
39
39
  async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
40
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
40
+ return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
41
41
  }
42
42
  async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
43
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
43
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
44
44
  }
45
45
  async \u5220\u9664\u8FDE\u63A5(id) {
46
46
  delete this.\u8FDE\u63A5\u8868[id];
@@ -62,30 +62,36 @@ var \u63A5\u53E3\u903B\u8F91 = class _\u63A5\u53E3\u903B\u8F91 {
62
62
  static \u6DF7\u5408(\u903B\u8F91\u4EEC) {
63
63
  return \u903B\u8F91\u4EEC.reduce((s, a) => s.\u6DF7\u5408(a));
64
64
  }
65
- static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0) {
66
- return new class extends _\u63A5\u53E3\u903B\u8F91 {
65
+ static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0, \u903B\u8F91\u9644\u52A0\u53C2\u6570) {
66
+ let c = new class extends _\u63A5\u53E3\u903B\u8F91 {
67
67
  \u83B7\u5F97\u63D2\u4EF6\u4EEC() {
68
68
  return \u63D2\u4EF6\u4EEC;
69
69
  }
70
- \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570) {
71
- return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
70
+ \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702) {
71
+ return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702);
72
72
  }
73
73
  }();
74
+ c.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = \u903B\u8F91\u9644\u52A0\u53C2\u6570 ?? {};
75
+ return c;
74
76
  }
75
- async \u8FD0\u884C(req, res, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
76
- let log = (await Global.getItem("log")).extend(\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u63A5\u53E3\u903B\u8F91");
77
+ \u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = {};
78
+ \u8BBE\u7F6E\u903B\u8F91\u9644\u52A0\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
79
+ return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020(this.\u83B7\u5F97\u63D2\u4EF6\u4EEC(), this.\u5B9E\u73B0, \u8BBE\u7F6E\u53C2\u6570);
80
+ }
81
+ async \u8FD0\u884C(req, res, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
82
+ let log = (await Global.getItem("log")).extend(\u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u63A5\u53E3\u903B\u8F91");
77
83
  let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
78
84
  await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
79
85
  let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
80
86
  for (let \u63D2\u4EF6 of \u63D2\u4EF6\u4EEC) {
81
87
  let \u63D2\u4EF6\u672C\u4F53 = await \u63D2\u4EF6.run();
82
- let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
88
+ let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
83
89
  \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
84
90
  }
85
91
  let \u5408\u5E76\u63D2\u4EF6\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => Object.assign(s, a), {});
86
92
  await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
87
93
  await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
88
- let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
94
+ let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, Object.assign(this.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570));
89
95
  await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
90
96
  return \u5B9E\u73B0\u7ED3\u679C;
91
97
  }