@lsby/net-core 0.3.44 → 0.4.0-beta.10

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 (180) hide show
  1. package/dist/bin/{gen-list → gen-api-list}/bin.cjs +22 -21
  2. package/dist/{cjs/bin/gen-list → bin/gen-api-list}/index.cjs +21 -20
  3. package/dist/{cjs/interface/interface-inst.cjs → bin/gen-api-type/addition.cjs} +7 -8
  4. package/dist/bin/gen-api-type/bin.cjs +196 -0
  5. package/dist/bin/gen-api-type/index.cjs +195 -0
  6. package/dist/bin/gen-table-list/bin.cjs +157 -0
  7. package/dist/bin/gen-table-list/index.cjs +156 -0
  8. package/dist/bin/gen-table-type/addition.cjs +64 -0
  9. package/dist/bin/gen-table-type/bin.cjs +219 -0
  10. package/dist/bin/gen-table-type/index.cjs +218 -0
  11. package/dist/bin/gen-test/bin.cjs +16 -15
  12. package/dist/bin/gen-test/index.cjs +15 -14
  13. package/dist/cjs/action/action.cjs +2 -2
  14. package/dist/cjs/bin/{gen-list → gen-api-list}/bin.cjs +22 -21
  15. package/dist/{bin/gen-list → cjs/bin/gen-api-list}/index.cjs +21 -20
  16. package/dist/cjs/bin/gen-api-type/addition.cjs +30 -0
  17. package/dist/cjs/bin/gen-api-type/bin.cjs +196 -0
  18. package/dist/cjs/bin/gen-api-type/index.cjs +195 -0
  19. package/dist/cjs/bin/gen-table-list/bin.cjs +157 -0
  20. package/dist/cjs/bin/gen-table-list/bin.d.cts +1 -0
  21. package/dist/cjs/bin/gen-table-list/index.cjs +156 -0
  22. package/dist/cjs/bin/gen-table-list/index.d.cts +3 -0
  23. package/dist/cjs/bin/gen-table-type/addition.cjs +64 -0
  24. package/dist/cjs/bin/gen-table-type/addition.d.cts +3 -0
  25. package/dist/cjs/bin/gen-table-type/bin.cjs +219 -0
  26. package/dist/cjs/bin/gen-table-type/bin.d.cts +1 -0
  27. package/dist/cjs/bin/gen-table-type/index.cjs +218 -0
  28. package/dist/cjs/bin/gen-table-type/index.d.cts +3 -0
  29. package/dist/cjs/bin/gen-test/bin.cjs +16 -15
  30. package/dist/cjs/bin/gen-test/index.cjs +15 -14
  31. package/dist/cjs/global/global.cjs +2 -2
  32. package/dist/cjs/global/ws.cjs +2 -2
  33. package/dist/cjs/index.cjs +322 -250
  34. package/dist/cjs/index.d.cts +9 -8
  35. package/dist/cjs/interface-api/interface-base.cjs +57 -0
  36. package/dist/cjs/interface-api/interface-base.d.cts +44 -0
  37. package/dist/cjs/interface-api/interface-logic.cjs +111 -0
  38. package/dist/cjs/interface-api/interface-logic.d.cts +61 -0
  39. package/dist/cjs/interface-api/interface-result.cjs +48 -0
  40. package/dist/cjs/interface-api/interface-result.d.cts +31 -0
  41. package/dist/cjs/{interface → interface-api}/interface-test.cjs +1 -1
  42. package/dist/cjs/interface-table/interface-table.cjs +35 -0
  43. package/dist/cjs/interface-table/interface-table.d.cts +97 -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 +7 -7
  48. package/dist/cjs/plugin/extend/json.d.cts +3 -5
  49. package/dist/cjs/plugin/extend/urlencoded.cjs +6 -6
  50. package/dist/cjs/plugin/extend/web-socket.cjs +9 -9
  51. package/dist/cjs/plugin/extend/web-socket.d.cts +2 -2
  52. package/dist/cjs/plugin/plug.d.cts +10 -5
  53. package/dist/cjs/server/server.cjs +204 -67
  54. package/dist/cjs/server/server.d.cts +19 -6
  55. package/dist/cjs/tools/tools.cjs +1 -1
  56. package/dist/cjs/tools/types.cjs +18 -0
  57. package/dist/cjs/tools/types.d.cts +5 -0
  58. package/dist/esm/action/action.js +1 -1
  59. package/dist/esm/bin/gen-api-list/bin.d.ts +1 -0
  60. package/dist/esm/bin/{gen-list → gen-api-list}/bin.js +4 -4
  61. package/dist/esm/bin/gen-api-list/index.d.ts +3 -0
  62. package/dist/esm/bin/{gen-list → gen-api-list}/index.js +1 -1
  63. package/dist/esm/bin/gen-api-type/addition.d.ts +3 -0
  64. package/dist/esm/bin/{gen-type → gen-api-type}/addition.js +1 -1
  65. package/dist/esm/bin/gen-api-type/bin.d.ts +1 -0
  66. package/dist/esm/bin/gen-api-type/bin.js +17 -0
  67. package/dist/esm/bin/gen-api-type/index.d.ts +3 -0
  68. package/dist/esm/bin/gen-api-type/index.js +7 -0
  69. package/dist/esm/bin/gen-table-list/bin.d.ts +1 -0
  70. package/dist/esm/bin/gen-table-list/bin.js +16 -0
  71. package/dist/esm/bin/gen-table-list/index.d.ts +3 -0
  72. package/dist/esm/bin/gen-table-list/index.js +6 -0
  73. package/dist/esm/bin/gen-table-type/addition.d.ts +3 -0
  74. package/dist/esm/bin/gen-table-type/addition.js +6 -0
  75. package/dist/esm/bin/gen-table-type/bin.d.ts +1 -0
  76. package/dist/esm/bin/gen-table-type/bin.js +17 -0
  77. package/dist/esm/bin/gen-table-type/index.d.ts +3 -0
  78. package/dist/esm/bin/gen-table-type/index.js +7 -0
  79. package/dist/esm/bin/gen-test/bin.js +2 -2
  80. package/dist/esm/bin/gen-test/index.js +1 -1
  81. package/dist/esm/{chunk-6AW5SSYA.js → chunk-2G4PSYTL.js} +5 -5
  82. package/dist/esm/{chunk-JX5MRJL6.js → chunk-43ZE4ZNH.js} +1 -1
  83. package/dist/esm/{chunk-5WR5VNYH.js → chunk-47ICFQXW.js} +2 -2
  84. package/dist/esm/chunk-4HFR4KRY.js +23 -0
  85. package/dist/esm/chunk-4T2MZJJ5.js +122 -0
  86. package/dist/esm/chunk-63YFVECY.js +11 -0
  87. package/dist/esm/chunk-7RPSQQZA.js +199 -0
  88. package/dist/esm/{chunk-WIZEBP6C.js → chunk-BC5MM5IX.js} +15 -14
  89. package/dist/esm/chunk-CPOABMEY.js +40 -0
  90. package/dist/esm/chunk-DAKGERGA.js +0 -0
  91. package/dist/esm/{chunk-BC6IISWS.js → chunk-DGDZQLIJ.js} +1 -1
  92. package/dist/esm/{chunk-EAVNASDB.js → chunk-FIQSBTYJ.js} +2 -2
  93. package/dist/esm/chunk-G45OAMTZ.js +149 -0
  94. package/dist/esm/{chunk-N7TPWCQ5.js → chunk-GLZWRYH6.js} +1 -1
  95. package/dist/esm/{chunk-PVE5VI5K.js → chunk-IGHJCQ2S.js} +1 -1
  96. package/dist/esm/chunk-JVDSGTFS.js +6 -0
  97. package/dist/esm/chunk-JXGP4GSQ.js +56 -0
  98. package/dist/esm/{chunk-GVIGQG5Y.js → chunk-LLLXAZBC.js} +6 -6
  99. package/dist/esm/chunk-RS244OBR.js +33 -0
  100. package/dist/esm/{chunk-F7TZXXFE.js → chunk-RUSBZSSK.js} +18 -17
  101. package/dist/esm/{chunk-64WWIZ43.js → chunk-UHOWN2M5.js} +67 -52
  102. package/dist/esm/{chunk-AVB7KPZC.js → chunk-XOR7HWL4.js} +8 -8
  103. package/dist/esm/global/global.js +2 -2
  104. package/dist/esm/global/ws.js +1 -1
  105. package/dist/esm/index.d.ts +9 -8
  106. package/dist/esm/index.js +33 -41
  107. package/dist/esm/interface-api/interface-base.d.ts +44 -0
  108. package/dist/esm/{interface/interface-inst.js → interface-api/interface-base.js} +1 -1
  109. package/dist/esm/interface-api/interface-logic.d.ts +61 -0
  110. package/dist/esm/interface-api/interface-logic.js +8 -0
  111. package/dist/esm/interface-api/interface-result.d.ts +31 -0
  112. package/dist/esm/interface-api/interface-result.js +8 -0
  113. package/dist/esm/{interface → interface-api}/interface-test.js +1 -1
  114. package/dist/esm/interface-table/interface-table.d.ts +97 -0
  115. package/dist/esm/interface-table/interface-table.js +6 -0
  116. package/dist/esm/plugin/extend/chinese-path.d.ts +1 -1
  117. package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
  118. package/dist/esm/plugin/extend/custom-data.js +3 -3
  119. package/dist/esm/plugin/extend/json.d.ts +3 -5
  120. package/dist/esm/plugin/extend/json.js +4 -4
  121. package/dist/esm/plugin/extend/urlencoded.js +3 -3
  122. package/dist/esm/plugin/extend/web-socket.d.ts +2 -2
  123. package/dist/esm/plugin/extend/web-socket.js +3 -3
  124. package/dist/esm/plugin/plug.d.ts +10 -5
  125. package/dist/esm/server/server.d.ts +19 -6
  126. package/dist/esm/server/server.js +5 -3
  127. package/dist/esm/tools/tools.js +1 -1
  128. package/dist/esm/tools/types.d.ts +5 -0
  129. package/dist/esm/tools/types.js +1 -0
  130. package/package.json +18 -8
  131. package/dist/bin/gen-type/addition.cjs +0 -148
  132. package/dist/bin/gen-type/bin.cjs +0 -299
  133. package/dist/bin/gen-type/index.cjs +0 -298
  134. package/dist/cjs/bin/gen-type/addition.cjs +0 -148
  135. package/dist/cjs/bin/gen-type/bin.cjs +0 -299
  136. package/dist/cjs/bin/gen-type/index.cjs +0 -298
  137. package/dist/cjs/interface/extend/json-base.cjs +0 -141
  138. package/dist/cjs/interface/extend/json-base.d.cts +0 -18
  139. package/dist/cjs/interface/extend/json-wrap.cjs +0 -181
  140. package/dist/cjs/interface/extend/json-wrap.d.cts +0 -28
  141. package/dist/cjs/interface/interface-inst.d.cts +0 -16
  142. package/dist/cjs/interface/interface-type.cjs +0 -53
  143. package/dist/cjs/interface/interface-type.d.cts +0 -28
  144. package/dist/cjs/result/result.cjs +0 -138
  145. package/dist/cjs/result/result.d.cts +0 -34
  146. package/dist/esm/bin/gen-type/bin.js +0 -17
  147. package/dist/esm/bin/gen-type/index.js +0 -7
  148. package/dist/esm/chunk-4V2TOQZ2.js +0 -58
  149. package/dist/esm/chunk-FAW4GTXP.js +0 -29
  150. package/dist/esm/chunk-G4P3OAFL.js +0 -7
  151. package/dist/esm/chunk-KRQ6KUVY.js +0 -124
  152. package/dist/esm/chunk-SF5Z34AP.js +0 -29
  153. package/dist/esm/chunk-UUUCTDAN.js +0 -98
  154. package/dist/esm/chunk-WF7MUELD.js +0 -45
  155. package/dist/esm/interface/extend/json-base.d.ts +0 -18
  156. package/dist/esm/interface/extend/json-base.js +0 -11
  157. package/dist/esm/interface/extend/json-wrap.d.ts +0 -28
  158. package/dist/esm/interface/extend/json-wrap.js +0 -14
  159. package/dist/esm/interface/interface-inst.d.ts +0 -16
  160. package/dist/esm/interface/interface-type.d.ts +0 -28
  161. package/dist/esm/interface/interface-type.js +0 -6
  162. package/dist/esm/result/result.d.ts +0 -34
  163. package/dist/esm/result/result.js +0 -19
  164. /package/dist/bin/{gen-list → gen-api-list}/bin.d.cts +0 -0
  165. /package/dist/bin/{gen-list → gen-api-list}/index.d.cts +0 -0
  166. /package/dist/bin/{gen-type → gen-api-type}/addition.d.cts +0 -0
  167. /package/dist/bin/{gen-type → gen-api-type}/bin.d.cts +0 -0
  168. /package/dist/bin/{gen-type → gen-api-type}/index.d.cts +0 -0
  169. /package/dist/{cjs/bin/gen-list → bin/gen-table-list}/bin.d.cts +0 -0
  170. /package/dist/{cjs/bin/gen-list → bin/gen-table-list}/index.d.cts +0 -0
  171. /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/addition.d.cts +0 -0
  172. /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/bin.d.cts +0 -0
  173. /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/index.d.cts +0 -0
  174. /package/dist/{esm/bin/gen-list/bin.d.ts → cjs/bin/gen-api-list/bin.d.cts} +0 -0
  175. /package/dist/{esm/bin/gen-list/index.d.ts → cjs/bin/gen-api-list/index.d.cts} +0 -0
  176. /package/dist/{esm/bin/gen-type/addition.d.ts → cjs/bin/gen-api-type/addition.d.cts} +0 -0
  177. /package/dist/{esm/bin/gen-type/bin.d.ts → cjs/bin/gen-api-type/bin.d.cts} +0 -0
  178. /package/dist/{esm/bin/gen-type/index.d.ts → cjs/bin/gen-api-type/index.d.cts} +0 -0
  179. /package/dist/cjs/{interface → interface-api}/interface-test.d.cts +0 -0
  180. /package/dist/esm/{interface → interface-api}/interface-test.d.ts +0 -0
@@ -33,8 +33,8 @@ __export(urlencoded_exports, {
33
33
  \u8868\u5355\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u89E3\u6790\u63D2\u4EF6
34
34
  });
35
35
  module.exports = __toCommonJS(urlencoded_exports);
36
- var import_node_util = require("util");
37
36
  var import_express = __toESM(require("express"), 1);
37
+ var import_node_util = require("util");
38
38
 
39
39
  // src/global/global.ts
40
40
  var import_ts_global = require("@lsby/ts-global");
@@ -49,10 +49,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
49
49
  this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
50
50
  }
51
51
  async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
52
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
52
+ return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
53
53
  }
54
54
  async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
55
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
55
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
56
56
  }
57
57
  async \u5220\u9664\u8FDE\u63A5(id) {
58
58
  delete this.\u8FDE\u63A5\u8868[id];
@@ -95,9 +95,9 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
95
95
  })
96
96
  );
97
97
  let parseResult = t.safeParse(req.body);
98
- if (!parseResult.success) {
99
- await log.err("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error);
100
- throw new Error((0, import_node_util.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
98
+ if (parseResult.success === false) {
99
+ await log.error("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error);
100
+ throw new Error((0, import_node_util.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error));
101
101
  }
102
102
  return parseResult.data;
103
103
  });
@@ -38,10 +38,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
38
38
  this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
39
39
  }
40
40
  async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
41
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
41
+ return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
42
42
  }
43
43
  async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
44
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
44
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
45
45
  }
46
46
  async \u5220\u9664\u8FDE\u63A5(id) {
47
47
  delete this.\u8FDE\u63A5\u8868[id];
@@ -81,7 +81,7 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
81
81
  ws\u64CD\u4F5C: import_zod.z.object({
82
82
  \u53D1\u9001ws\u4FE1\u606F: import_zod.z.function(import_zod.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod.z.promise(import_zod.z.void())),
83
83
  \u5173\u95EDws\u8FDE\u63A5: import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void()))
84
- }).or(import_zod.z.undefined())
84
+ }).or(import_zod.z.null())
85
85
  }),
86
86
  async (req, _res, \u9644\u52A0\u53C2\u6570) => {
87
87
  let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("ws\u63D2\u4EF6");
@@ -89,13 +89,13 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
89
89
  let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
90
90
  let ws\u53E5\u67C4 = null;
91
91
  await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
92
- if (typeof wsId == "string") {
92
+ if (typeof wsId === "string") {
93
93
  await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4");
94
94
  ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(wsId);
95
95
  }
96
- if (!ws\u53E5\u67C4) {
97
- await log.err("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
98
- return { ws\u64CD\u4F5C: void 0 };
96
+ if (ws\u53E5\u67C4 === null) {
97
+ await log.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
98
+ return { ws\u64CD\u4F5C: null };
99
99
  }
100
100
  let \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
101
101
  await log.debug("WebSocket \u53E5\u67C4\u5DF2\u51C6\u5907\u597D");
@@ -105,8 +105,8 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
105
105
  await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
106
106
  return new Promise((res, rej) => {
107
107
  \u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
108
- if (err) {
109
- log.err("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err }).catch(console.error);
108
+ if ((err ?? null) !== null) {
109
+ log.error("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err }).catch(console.error);
110
110
  return rej(err);
111
111
  }
112
112
  log.debug("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F").catch(console.error);
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取Task插件类型 as _Task____ } from '../plug.cjs';
3
- import 'express';
4
3
  import '@lsby/ts-fp-data';
4
+ import 'express';
5
5
 
6
6
  declare class WebSocket插件<信息 extends z.AnyZodObject> extends __<z.ZodObject<{
7
7
  ws操作: z.ZodUnion<[
@@ -9,7 +9,7 @@ declare class WebSocket插件<信息 extends z.AnyZodObject> extends __<z.ZodObj
9
9
  发送ws信息: z.ZodFunction<z.ZodTuple<[信息], null>, z.ZodPromise<z.ZodVoid>>;
10
10
  关闭ws连接: z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>;
11
11
  }>,
12
- z.ZodUndefined
12
+ z.ZodNull
13
13
  ]>;
14
14
  }>> {
15
15
  private log;
@@ -1,17 +1,22 @@
1
+ import { Task } from '@lsby/ts-fp-data';
1
2
  import { Request, Response } from 'express';
2
3
  import { z } from 'zod';
3
- import { Task } from '@lsby/ts-fp-data';
4
4
 
5
- type 附加参数类型 = {
5
+ type 插件附加参数 = {
6
6
  请求id: string;
7
7
  };
8
+ /**
9
+ * 类似express中的中间件, 做一些前置过程, 例如解析参数, 解析文件等.
10
+ *
11
+ * 可以被注入在"接口逻辑"中, 为其提供前置数据.
12
+ */
8
13
  declare class 插件<Obj extends z.AnyZodObject> {
9
14
  private 类型;
10
15
  private 实现;
11
16
  protected readonly __类型保持符号?: Obj;
12
- constructor(类型: Obj, 实现: (req: Request, res: Response, 附加参数: 附加参数类型) => Promise<z.infer<Obj>>);
17
+ constructor(类型: Obj, 实现: (req: Request, res: Response, 附加参数: 插件附加参数) => Promise<z.infer<Obj>>);
13
18
  获得类型(): Obj;
14
- 运行(req: Request, res: Response, 附加参数: 附加参数类型): Promise<z.infer<Obj>>;
19
+ 运行(req: Request, res: Response, 附加参数: 插件附加参数): Promise<z.infer<Obj>>;
15
20
  }
16
21
  type 任意插件 = 插件<any>;
17
22
  type 包装插件项<A> = Task<A>;
@@ -21,4 +26,4 @@ type 取Task插件类型<A> = A extends Task<infer x> ? x : never;
21
26
  type 取插件内部ts类型<A> = A extends 插件<infer x> ? z.infer<x> : never;
22
27
  type 合并插件结果<Arr extends Array<插件项类型>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<插件项类型> ? z.infer<取Task插件内部类型<插件项>> & 合并插件结果<xs> : {} : {} : {};
23
28
 
24
- export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type 插件项类型, type 附加参数类型 };
29
+ export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type 插件附加参数, type 插件项类型 };
@@ -33,8 +33,8 @@ __export(server_exports, {
33
33
  \u670D\u52A1\u5668: () => \u670D\u52A1\u5668
34
34
  });
35
35
  module.exports = __toCommonJS(server_exports);
36
- var import_node_os = require("os");
37
36
  var import_express = __toESM(require("express"), 1);
37
+ var import_node_os = require("os");
38
38
  var import_short_uuid = __toESM(require("short-uuid"), 1);
39
39
  var import_ws2 = require("ws");
40
40
 
@@ -51,10 +51,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
51
51
  this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
52
52
  }
53
53
  async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
54
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
54
+ return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
55
55
  }
56
56
  async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
57
- return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
57
+ return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
58
58
  }
59
59
  async \u5220\u9664\u8FDE\u63A5(id) {
60
60
  delete this.\u8FDE\u63A5\u8868[id];
@@ -71,90 +71,227 @@ var Global = new import_ts_global.GlobalService([
71
71
  })
72
72
  ]);
73
73
 
74
+ // src/interface-api/interface-result.ts
75
+ var \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 = class {
76
+ };
77
+ var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
78
+ \u5B9E\u73B0(\u6570\u636E) {
79
+ switch (\u6570\u636E.getTag()) {
80
+ case "Left": {
81
+ return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
82
+ }
83
+ case "Right": {
84
+ return { status: "success", data: \u6570\u636E.assertRight().getRight() };
85
+ }
86
+ default: {
87
+ throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
88
+ }
89
+ }
90
+ }
91
+ };
92
+
93
+ // src/tools/tools.ts
94
+ function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
95
+ let \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
96
+ if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
97
+ return \u5185\u5BB9.slice(0, \u6700\u5927\u65E5\u5FD7\u957F\u5EA6) + "...";
98
+ return \u5185\u5BB9;
99
+ }
100
+ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
101
+ if (typeof \u6570\u636E === "string")
102
+ return \u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E);
103
+ if (Array.isArray(\u6570\u636E))
104
+ return \u6570\u636E.map((\u9879) => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u9879));
105
+ if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
106
+ let \u65B0\u6570\u636E = {};
107
+ for (let key in \u6570\u636E) {
108
+ if (\u6570\u636E.hasOwnProperty(key) === true)
109
+ \u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
110
+ }
111
+ return \u65B0\u6570\u636E;
112
+ }
113
+ return \u6570\u636E;
114
+ }
115
+
74
116
  // src/server/server.ts
75
117
  var \u670D\u52A1\u5668 = class {
76
- constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
118
+ constructor(\u63A5\u53E3\u4EEC, \u865A\u62DF\u8868\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
77
119
  this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
120
+ this.\u865A\u62DF\u8868\u4EEC = \u865A\u62DF\u8868\u4EEC;
78
121
  this.\u7AEF\u53E3 = \u7AEF\u53E3;
79
122
  this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
80
123
  }
81
124
  log = Global.getItem("log");
82
125
  async run() {
83
126
  let app = (0, import_express.default)();
84
- app.use(async (req, res) => {
85
- let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
86
- let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
87
- try {
88
- let \u8BF7\u6C42\u8DEF\u5F84 = req.path;
89
- let \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
90
- await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
91
- await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
92
- let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => {
93
- let \u63A5\u53E3\u7C7B\u578B = \u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
94
- return \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u8DEF\u5F84() && \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u65B9\u6CD5();
95
- });
96
- if (\u76EE\u6807\u63A5\u53E3 != null) {
97
- await log.debug("\u547D\u4E2D\u63A5\u53E3");
98
- let \u63A5\u53E3\u7C7B\u578B = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
99
- let \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
100
- await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
101
- let \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF6) => await (await \u63D2\u4EF6.run()).\u8FD0\u884C(req, res, { \u8BF7\u6C42id })))).reduce((s, a) => Object.assign(s, a), {});
102
- await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
103
- await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u903B\u8F91...");
104
- let \u63A5\u53E3\u7ED3\u679C = await \u76EE\u6807\u63A5\u53E3.\u63A5\u53E3\u5B9E\u73B0(\u63D2\u4EF6\u7ED3\u679C);
105
- await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
106
- await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
107
- await \u63A5\u53E3\u7ED3\u679C.run(req, res, { \u8BF7\u6C42id });
108
- await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
109
- return;
110
- }
111
- await log.debug("\u6CA1\u6709\u547D\u4E2D\u63A5\u53E3");
112
- if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 && req.method.toLowerCase() == "get") {
113
- await log.debug("\u5C1D\u8BD5\u5339\u914D\u9759\u6001\u8D44\u6E90...");
114
- import_express.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
115
- setHeaders: async () => {
116
- await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
117
- }
118
- })(req, res, async () => {
119
- await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
120
- await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
121
- res.status(404);
122
- res.end();
123
- });
127
+ app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
128
+ let server = app.listen(this.\u7AEF\u53E3);
129
+ await this.\u521D\u59CB\u5316WebSocket(server);
130
+ return { ip: this.\u83B7\u53D6\u672C\u5730\u5730\u5740(), server };
131
+ }
132
+ async \u5904\u7406\u8BF7\u6C42(req, res) {
133
+ let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
134
+ let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
135
+ try {
136
+ let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
137
+ let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
138
+ await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
139
+ let \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 ?? null;
140
+ if (\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== null && \u8BF7\u6C42\u65B9\u6CD5 === "get" && await this.\u5904\u7406\u9759\u6001\u8D44\u6E90(req, res, log)) {
141
+ return;
142
+ }
143
+ let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => \u8BF7\u6C42\u65B9\u6CD5 === \u63A5\u53E3.\u83B7\u5F97\u65B9\u6CD5() && \u8BF7\u6C42\u8DEF\u5F84 === \u63A5\u53E3.\u83B7\u5F97\u8DEF\u5F84()) ?? null;
144
+ if (\u76EE\u6807\u63A5\u53E3 !== null) {
145
+ await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, log, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42id);
146
+ return;
147
+ }
148
+ if (\u8BF7\u6C42\u65B9\u6CD5 === "post") {
149
+ let \u76EE\u6807\u865A\u62DF\u8868 = this.\u865A\u62DF\u8868\u4EEC.find((\u865A\u62DF\u8868) => \u8BF7\u6C42\u8DEF\u5F84.startsWith(\u865A\u62DF\u8868.\u8D44\u6E90\u8DEF\u5F84)) ?? null;
150
+ if (\u76EE\u6807\u865A\u62DF\u8868 !== null) {
151
+ 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);
152
+ if (\u865A\u62DF\u8868\u64CD\u4F5C !== null) {
153
+ await this.\u5904\u7406\u865A\u62DF\u8868\u903B\u8F91(req, res, log, \u865A\u62DF\u8868\u64CD\u4F5C, \u76EE\u6807\u865A\u62DF\u8868, \u8BF7\u6C42id);
154
+ return;
155
+ }
124
156
  }
125
- } catch (e) {
126
- await log.err(e);
127
- res.status(500);
128
- res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
129
157
  }
130
- });
131
- let server = app.listen(this.\u7AEF\u53E3);
158
+ await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
159
+ res.status(404).end();
160
+ } catch (error) {
161
+ await log.error(error);
162
+ res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
163
+ }
164
+ }
165
+ async \u5904\u7406\u9759\u6001\u8D44\u6E90(req, res, log) {
166
+ let \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 ?? null;
167
+ let \u547D\u4E2D = false;
168
+ if (\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== null) {
169
+ await new Promise((resolve) => {
170
+ import_express.default.static(\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
171
+ setHeaders: async () => {
172
+ await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
173
+ \u547D\u4E2D = true;
174
+ resolve();
175
+ }
176
+ })(req, res, () => resolve());
177
+ });
178
+ } else {
179
+ await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
180
+ }
181
+ return \u547D\u4E2D;
182
+ }
183
+ async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, log, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42id) {
184
+ let \u63A5\u53E3\u903B\u8F91 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
185
+ let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
186
+ await log.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
187
+ let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id });
188
+ await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
189
+ let \u6700\u7EC8\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
190
+ await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
191
+ res.send(\u6700\u7EC8\u7ED3\u679C);
192
+ await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
193
+ }
194
+ async \u5904\u7406\u865A\u62DF\u8868\u903B\u8F91(req, res, log, \u865A\u62DF\u8868\u64CD\u4F5C, \u76EE\u6807\u865A\u62DF\u8868, \u8BF7\u6C42id) {
195
+ await log.debug("\u8C03\u7528\u865A\u62DF\u8868\u903B\u8F91...");
196
+ await log.debug("\u8C03\u7528json\u89E3\u6790...");
197
+ await new Promise(
198
+ (pRes, _rej) => import_express.default.json({})(req, res, () => {
199
+ pRes(null);
200
+ })
201
+ );
202
+ await log.debug("json\u89E3\u6790\u5B8C\u6210: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.body));
203
+ await log.debug("\u63D0\u53D6\u6784\u9020\u53C2\u6570...");
204
+ let \u6784\u9020\u53C2\u6570 = req.body?.["construction"] ?? null;
205
+ if (\u6784\u9020\u53C2\u6570 === null)
206
+ throw new Error("\u6784\u9020\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A");
207
+ await log.debug("\u63D0\u53D6\u6784\u9020\u53C2\u6570\u6210\u529F: %o", \u6784\u9020\u53C2\u6570);
208
+ let \u865A\u62DF\u8868\u5B9E\u4F8B = new \u76EE\u6807\u865A\u62DF\u8868(\u6784\u9020\u53C2\u6570);
209
+ let \u7ED3\u679C;
210
+ switch (\u865A\u62DF\u8868\u64CD\u4F5C) {
211
+ case "add": {
212
+ await log.debug("\u8C03\u7528\u903B\u8F91: \u589E");
213
+ \u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u589E(req.body?.["value"]);
214
+ break;
215
+ }
216
+ case "del": {
217
+ await log.debug("\u8C03\u7528\u903B\u8F91: \u5220");
218
+ \u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u5220(req.body?.["where"]);
219
+ break;
220
+ }
221
+ case "set": {
222
+ await log.debug("\u8C03\u7528\u903B\u8F91: \u6539");
223
+ \u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u6539(req.body?.["value"], req.body?.["where"]);
224
+ break;
225
+ }
226
+ case "get": {
227
+ await log.debug("\u8C03\u7528\u903B\u8F91: \u67E5");
228
+ \u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u67E5(req.body?.["where"], req.body?.["page"], req.body?.["sort"]);
229
+ break;
230
+ }
231
+ default: {
232
+ throw new Error(`\u610F\u5916\u7684\u64CD\u4F5C: ${\u865A\u62DF\u8868\u64CD\u4F5C}`);
233
+ }
234
+ }
235
+ let \u6700\u7EC8\u7ED3\u679C = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668().\u5B9E\u73B0(await \u7ED3\u679C.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id }));
236
+ await log.debug("\u8C03\u7528\u7ED3\u675F");
237
+ await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
238
+ res.send(\u6700\u7EC8\u7ED3\u679C);
239
+ await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
240
+ }
241
+ \u89E3\u6790\u865A\u62DF\u8868\u64CD\u4F5C(\u8D44\u6E90\u8DEF\u5F84, \u8BF7\u6C42\u8DEF\u5F84) {
242
+ let \u5206\u89E3 = \u8BF7\u6C42\u8DEF\u5F84.split("/");
243
+ let \u64CD\u4F5C = \u5206\u89E3.at(-1) ?? null;
244
+ let \u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 = \u5206\u89E3.slice(0, -1).join("/");
245
+ if (\u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 !== \u8D44\u6E90\u8DEF\u5F84)
246
+ return null;
247
+ if (\u64CD\u4F5C !== "add" && \u64CD\u4F5C !== "del" && \u64CD\u4F5C !== "set" && \u64CD\u4F5C !== "get")
248
+ return null;
249
+ return \u64CD\u4F5C;
250
+ }
251
+ async \u521D\u59CB\u5316WebSocket(server) {
132
252
  let wss = new import_ws2.WebSocketServer({ server });
253
+ let logBase = (await this.log).extend("web-socket");
133
254
  wss.on("connection", async (ws, req) => {
134
- let log = (await this.log).extend((0, import_short_uuid.default)().new()).extend("WebSocket");
135
- await log.debug(`WebSocket \u8BF7\u6C42\u8FDE\u63A5: ${req.url}`);
255
+ let log = logBase.extend((0, import_short_uuid.default)().new()).extend("WebSocket");
256
+ await log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
257
+ let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
258
+ if (\u5BA2\u6237\u7AEFid === null) {
259
+ await log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
260
+ return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
261
+ }
262
+ await log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
136
263
  let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
137
- let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1];
138
- if (!\u5BA2\u6237\u7AEFid)
139
- return ws.close(4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
140
- if (await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid) == true)
141
- return ws.close(4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
142
- let \u5B58\u5728\u7684\u5BA2\u6237\u7AEFid = \u5BA2\u6237\u7AEFid;
264
+ let \u662F\u5426\u5DF2\u5B58\u5728 = await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
265
+ if (\u662F\u5426\u5DF2\u5B58\u5728) {
266
+ await log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
267
+ return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
268
+ }
143
269
  await WebSocket\u7BA1\u7406\u80052.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
144
- await log.debug(`WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEFid: ${\u5BA2\u6237\u7AEFid}`);
270
+ await log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
145
271
  ws.on("close", async () => {
146
- await log.debug(`WebSocket \u8FDE\u63A5\u5DF2\u5173\u95ED: ${\u5BA2\u6237\u7AEFid}`);
147
- await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5B58\u5728\u7684\u5BA2\u6237\u7AEFid);
272
+ await log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
273
+ await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
148
274
  });
149
275
  ws.on("error", async (err) => {
150
- await log.err(`WebSocket \u51FA\u73B0\u9519\u8BEF ${\u5BA2\u6237\u7AEFid}: %o`, err);
151
- await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5B58\u5728\u7684\u5BA2\u6237\u7AEFid);
276
+ await log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
277
+ await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
152
278
  });
153
279
  });
154
- return {
155
- 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}`),
156
- server
157
- };
280
+ wss.on("listening", async () => {
281
+ let log = logBase;
282
+ await log.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
283
+ });
284
+ wss.on("error", async (err) => {
285
+ let log = logBase;
286
+ await log.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
287
+ });
288
+ }
289
+ async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, code, reason) {
290
+ await log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u539F\u56E0: ${reason}`);
291
+ ws.close(code, reason);
292
+ }
293
+ \u83B7\u53D6\u672C\u5730\u5730\u5740() {
294
+ return Object.values((0, import_node_os.networkInterfaces)()).flatMap((iface) => iface ?? []).map((address) => `http://${address.address}:${this.\u7AEF\u53E3}`);
158
295
  }
159
296
  };
160
297
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,22 +1,35 @@
1
1
  import * as http from 'node:http';
2
- import { 任意接口 as ____ } from '../interface/interface-inst.cjs';
2
+ import { 任意接口 as ____ } from '../interface-api/interface-base.cjs';
3
+ import { 任意虚拟表 as _____ } from '../interface-table/interface-table.cjs';
3
4
  import 'zod';
4
- import '../plugin/plug.cjs';
5
- import 'express';
5
+ import '../interface-api/interface-logic.cjs';
6
6
  import '@lsby/ts-fp-data';
7
- import '../result/result.cjs';
8
- import '../interface/interface-type.cjs';
7
+ import 'express';
8
+ import '../plugin/plug.cjs';
9
+ import '../interface-api/interface-result.cjs';
9
10
 
10
11
  declare class 服务器 {
11
12
  private 接口们;
13
+ private 虚拟表们;
12
14
  private 端口;
13
15
  private 静态资源路径?;
14
16
  private log;
15
- constructor(接口们: ____[], 端口: number, 静态资源路径?: string | undefined);
17
+ constructor(接口们: ____[], 虚拟表们: {
18
+ new (构造参数: any): _____;
19
+ 资源路径: string;
20
+ }[], 端口: number, 静态资源路径?: string | undefined);
16
21
  run(): Promise<{
17
22
  ip: string[];
18
23
  server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
19
24
  }>;
25
+ private 处理请求;
26
+ private 处理静态资源;
27
+ private 处理接口逻辑;
28
+ private 处理虚拟表逻辑;
29
+ private 解析虚拟表操作;
30
+ private 初始化WebSocket;
31
+ private 关闭WebSocket连接;
32
+ private 获取本地地址;
20
33
  }
21
34
 
22
35
  export { 服务器 };
@@ -38,7 +38,7 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
38
38
  if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
39
39
  let \u65B0\u6570\u636E = {};
40
40
  for (let key in \u6570\u636E) {
41
- if (\u6570\u636E.hasOwnProperty(key))
41
+ if (\u6570\u636E.hasOwnProperty(key) === true)
42
42
  \u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
43
43
  }
44
44
  return \u65B0\u6570\u636E;
@@ -0,0 +1,18 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/tools/types.ts
17
+ var types_exports = {};
18
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,5 @@
1
+ type 去除只读<T> = {
2
+ -readonly [P in keyof T]: T[P];
3
+ };
4
+
5
+ export type { 去除只读 };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  业务行为
3
- } from "../chunk-5WR5VNYH.js";
3
+ } from "../chunk-47ICFQXW.js";
4
4
  export {
5
5
  \u4E1A\u52A1\u884C\u4E3A
6
6
  };
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "../../chunk-F7TZXXFE.js";
4
+ } from "../../chunk-RUSBZSSK.js";
5
5
 
6
- // src/bin/gen-list/bin.ts
7
- import path from "node:path";
6
+ // src/bin/gen-api-list/bin.ts
8
7
  import { Command } from "commander";
8
+ import path from "node:path";
9
9
  var program = new Command();
10
- program.name("\u751F\u6210\u6D4B\u8BD5\u6587\u4EF6").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outFilePath) => {
10
+ program.name("\u751F\u6210\u63A5\u53E3api\u6587\u4EF6\u5217\u8868").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outFilePath) => {
11
11
  let absoluteTsconfigPath = path.resolve(tsconfigPath);
12
12
  let absoluteApiFolderPath = path.resolve(interfaceFolderPath);
13
13
  let absoluteOutputPath = path.resolve(outFilePath);
@@ -0,0 +1,3 @@
1
+ declare function main(tsconfig路径: string, 目标路径: string, 输出文件路径: string): Promise<void>;
2
+
3
+ export { main };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  main
3
- } from "../../chunk-F7TZXXFE.js";
3
+ } from "../../chunk-RUSBZSSK.js";
4
4
  export {
5
5
  main
6
6
  };
@@ -0,0 +1,3 @@
1
+ declare let 附加代码: string;
2
+
3
+ export { 附加代码 };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  附加代码
3
- } from "../../chunk-KRQ6KUVY.js";
3
+ } from "../../chunk-JVDSGTFS.js";
4
4
  export {
5
5
  \u9644\u52A0\u4EE3\u7801
6
6
  };
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ main
4
+ } from "../../chunk-UHOWN2M5.js";
5
+ import "../../chunk-JVDSGTFS.js";
6
+
7
+ // src/bin/gen-api-type/bin.ts
8
+ import { Command } from "commander";
9
+ import path from "node:path";
10
+ var program = new Command();
11
+ program.name("\u751F\u6210api\u63A5\u53E3\u7C7B\u578B\u6587\u4EF6").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outputPath) => {
12
+ let absoluteTsconfigPath = path.resolve(tsconfigPath);
13
+ let absoluteApiFolderPath = path.resolve(interfaceFolderPath);
14
+ let absoluteOutputPath = path.resolve(outputPath);
15
+ await main(absoluteTsconfigPath, absoluteApiFolderPath, absoluteOutputPath);
16
+ });
17
+ program.parse(process.argv);
@@ -0,0 +1,3 @@
1
+ declare function main(tsconfig路径: string, 目标路径: string, 输出文件路径: string): Promise<void>;
2
+
3
+ export { main };
@@ -0,0 +1,7 @@
1
+ import {
2
+ main
3
+ } from "../../chunk-UHOWN2M5.js";
4
+ import "../../chunk-JVDSGTFS.js";
5
+ export {
6
+ main
7
+ };
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node