@lsby/net-core 0.9.3 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/bin/gen-api-type/bin.cjs +1 -1
  2. package/dist/bin/gen-api-type/index.cjs +1 -1
  3. package/dist/cjs/bin/gen-api-type/bin.cjs +1 -1
  4. package/dist/cjs/bin/gen-api-type/index.cjs +1 -1
  5. package/dist/cjs/global/global.cjs +8 -5
  6. package/dist/cjs/help/help.cjs +21 -0
  7. package/dist/cjs/help/help.d.cts +10 -1
  8. package/dist/cjs/index.cjs +71 -61
  9. package/dist/cjs/index.d.cts +4 -5
  10. package/dist/cjs/interface/interface-base.d.cts +1 -1
  11. package/dist/cjs/interface/interface-logic.cjs +27 -4
  12. package/dist/cjs/interface/interface-logic.d.cts +1 -1
  13. package/dist/cjs/interface/interface-result.cjs +6 -6
  14. package/dist/cjs/interface/interface-result.d.cts +1 -1
  15. package/dist/cjs/interface/interface-retuen.d.cts +14 -0
  16. package/dist/cjs/{interface-base-_3j8cNEe.d.cts → interface-base-CyfrfgWu.d.cts} +31 -3
  17. package/dist/cjs/plugin/extend/custom-data.d.cts +4 -1
  18. package/dist/cjs/plugin/extend/json.cjs +3 -2
  19. package/dist/cjs/plugin/extend/json.d.cts +8 -3
  20. package/dist/cjs/plugin/extend/log-headers.d.cts +1 -1
  21. package/dist/cjs/plugin/extend/query.cjs +3 -2
  22. package/dist/cjs/plugin/extend/query.d.cts +8 -3
  23. package/dist/cjs/plugin/extend/urlencoded.cjs +4 -3
  24. package/dist/cjs/plugin/extend/urlencoded.d.cts +4 -2
  25. package/dist/cjs/plugin/extend/web-socket.cjs +8 -5
  26. package/dist/cjs/plugin/extend/web-socket.d.cts +1 -1
  27. package/dist/cjs/plugin/plug.d.cts +1 -1
  28. package/dist/cjs/server/server.cjs +8 -5
  29. package/dist/cjs/server/server.d.cts +1 -1
  30. package/dist/cjs/wrapper/common-wrapper-return.cjs +3 -3
  31. package/dist/cjs/wrapper/common-wrapper-return.d.cts +12 -3
  32. package/dist/cjs/wrapper/common-wrapper.d.cts +8 -1
  33. package/dist/cjs/wrapper/deferred-result-wrapper.cjs +6 -6
  34. package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +12 -5
  35. package/dist/esm/bin/gen-api-type/bin.js +1 -1
  36. package/dist/esm/bin/gen-api-type/index.js +1 -1
  37. package/dist/esm/{chunk-XEV5RHGZ.js → chunk-3XRAG6DM.js} +4 -3
  38. package/dist/esm/{chunk-3KWXQ7TQ.js → chunk-3ZQFVYIR.js} +3 -3
  39. package/dist/esm/chunk-7LQRWJ3X.js +32 -0
  40. package/dist/esm/{chunk-REQ5ZXOQ.js → chunk-B5DKJ5AV.js} +1 -1
  41. package/dist/esm/{chunk-OH6PZFGR.js → chunk-C5FED6EO.js} +1 -1
  42. package/dist/esm/{chunk-AEG7V7QY.js → chunk-DNJQGD5M.js} +3 -3
  43. package/dist/esm/{chunk-ITCALAYE.js → chunk-E23EZWBE.js} +8 -4
  44. package/dist/esm/{chunk-LZOZF4CS.js → chunk-H7LZCHCE.js} +3 -3
  45. package/dist/esm/{chunk-WECMWUFB.js → chunk-HDPEZW7H.js} +1 -1
  46. package/dist/esm/{chunk-JXTWTY2S.js → chunk-NB2QNDI2.js} +5 -5
  47. package/dist/esm/{chunk-OUDYK6TE.js → chunk-NJKBRPN7.js} +8 -5
  48. package/dist/esm/{chunk-GMYXAJS3.js → chunk-TSDOOGHG.js} +3 -2
  49. package/dist/esm/{chunk-AY6KWNWX.js → chunk-UUXGAK5S.js} +3 -2
  50. package/dist/esm/global/global.js +1 -1
  51. package/dist/esm/help/help.d.ts +10 -1
  52. package/dist/esm/help/help.js +3 -1
  53. package/dist/esm/index.d.ts +4 -5
  54. package/dist/esm/index.js +24 -26
  55. package/dist/esm/interface/interface-base.d.ts +1 -1
  56. package/dist/esm/interface/interface-logic.d.ts +1 -1
  57. package/dist/esm/interface/interface-logic.js +2 -1
  58. package/dist/esm/interface/interface-result.d.ts +1 -1
  59. package/dist/esm/interface/interface-result.js +5 -5
  60. package/dist/esm/interface/interface-retuen.d.ts +14 -0
  61. package/dist/esm/{interface-base-CxLIUGsx.d.ts → interface-base-C1ZNSMJz.d.ts} +31 -3
  62. package/dist/esm/plugin/extend/custom-data.d.ts +4 -1
  63. package/dist/esm/plugin/extend/json.d.ts +8 -3
  64. package/dist/esm/plugin/extend/json.js +1 -1
  65. package/dist/esm/plugin/extend/log-headers.d.ts +1 -1
  66. package/dist/esm/plugin/extend/query.d.ts +8 -3
  67. package/dist/esm/plugin/extend/query.js +1 -1
  68. package/dist/esm/plugin/extend/urlencoded.d.ts +4 -2
  69. package/dist/esm/plugin/extend/urlencoded.js +1 -1
  70. package/dist/esm/plugin/extend/web-socket.d.ts +1 -1
  71. package/dist/esm/plugin/extend/web-socket.js +2 -2
  72. package/dist/esm/plugin/plug.d.ts +1 -1
  73. package/dist/esm/server/server.d.ts +1 -1
  74. package/dist/esm/server/server.js +2 -2
  75. package/dist/esm/wrapper/common-wrapper-return.d.ts +12 -3
  76. package/dist/esm/wrapper/common-wrapper-return.js +4 -4
  77. package/dist/esm/wrapper/common-wrapper.d.ts +8 -1
  78. package/dist/esm/wrapper/common-wrapper.js +2 -2
  79. package/dist/esm/wrapper/deferred-result-wrapper.d.ts +12 -5
  80. package/dist/esm/wrapper/deferred-result-wrapper.js +4 -4
  81. package/package.json +1 -1
  82. package/dist/cjs/plugin/extend/send-file-plugin.cjs +0 -58
  83. package/dist/cjs/plugin/extend/send-file-plugin.d.cts +0 -21
  84. package/dist/esm/chunk-RRUUWHTF.js +0 -22
  85. package/dist/esm/chunk-YMH6HJJF.js +0 -12
  86. package/dist/esm/plugin/extend/send-file-plugin.d.ts +0 -21
  87. package/dist/esm/plugin/extend/send-file-plugin.js +0 -7
@@ -103,7 +103,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
103
103
  ? {
104
104
  path: jsonPath
105
105
  method: jsonMethod
106
- input: jsonMethod extends 'post' ? jsonInput : jsonMethod extends 'get' ? getInput : {}
106
+ input: jsonMethod extends 'post' ? jsonInput['body'] : jsonMethod extends 'get' ? getInput['query'] : {}
107
107
  errorOutput: jsonErrorOutput
108
108
  successOutput: jsonSuccessOutput
109
109
  webSocketData: wsData
@@ -108,7 +108,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
108
108
  ? {
109
109
  path: jsonPath
110
110
  method: jsonMethod
111
- input: jsonMethod extends 'post' ? jsonInput : jsonMethod extends 'get' ? getInput : {}
111
+ input: jsonMethod extends 'post' ? jsonInput['body'] : jsonMethod extends 'get' ? getInput['query'] : {}
112
112
  errorOutput: jsonErrorOutput
113
113
  successOutput: jsonSuccessOutput
114
114
  webSocketData: wsData
@@ -103,7 +103,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
103
103
  ? {
104
104
  path: jsonPath
105
105
  method: jsonMethod
106
- input: jsonMethod extends 'post' ? jsonInput : jsonMethod extends 'get' ? getInput : {}
106
+ input: jsonMethod extends 'post' ? jsonInput['body'] : jsonMethod extends 'get' ? getInput['query'] : {}
107
107
  errorOutput: jsonErrorOutput
108
108
  successOutput: jsonSuccessOutput
109
109
  webSocketData: wsData
@@ -108,7 +108,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
108
108
  ? {
109
109
  path: jsonPath
110
110
  method: jsonMethod
111
- input: jsonMethod extends 'post' ? jsonInput : jsonMethod extends 'get' ? getInput : {}
111
+ input: jsonMethod extends 'post' ? jsonInput['body'] : jsonMethod extends 'get' ? getInput['query'] : {}
112
112
  errorOutput: jsonErrorOutput
113
113
  successOutput: jsonSuccessOutput
114
114
  webSocketData: wsData
@@ -31,11 +31,14 @@ var log = new import_ts_log.Log("@lsby:net-core");
31
31
  var WebSocket\u7BA1\u7406\u5668 = class {
32
32
  constructor(\u8FDE\u63A5\u8868) {
33
33
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
34
- this.\u5B9A\u65F6\u5668ID = setInterval(() => {
35
- this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
36
- this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
37
- });
38
- }, 3e4);
34
+ this.\u5B9A\u65F6\u5668ID = setInterval(
35
+ () => {
36
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
37
+ this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
38
+ });
39
+ },
40
+ 5 * 60 * 1e3
41
+ );
39
42
  }
40
43
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
41
44
  \u6E05\u7406\u51FD\u6570\u8868 = {};
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/help/help.ts
21
21
  var help_exports = {};
22
22
  __export(help_exports, {
23
+ \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76: () => \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76,
23
24
  \u6784\u9020\u5143\u7EC4: () => \u6784\u9020\u5143\u7EC4,
24
25
  \u6784\u9020\u5BF9\u8C61: () => \u6784\u9020\u5BF9\u8C61
25
26
  });
@@ -30,8 +31,28 @@ function \u6784\u9020\u5143\u7EC4(args) {
30
31
  function \u6784\u9020\u5BF9\u8C61(key, value) {
31
32
  return { [key]: value };
32
33
  }
34
+ function \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(target, source) {
35
+ if (typeof source !== "object" || source === null || Object.getPrototypeOf(source) !== Object.prototype) {
36
+ return source;
37
+ }
38
+ if (typeof target !== "object" || target === null || Object.getPrototypeOf(target) !== Object.prototype) {
39
+ return source;
40
+ }
41
+ let result = { ...target };
42
+ for (let key in source) {
43
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
44
+ if (typeof source[key] === "object" && source[key] !== null && Object.getPrototypeOf(source[key]) === Object.prototype && typeof target[key] === "object" && target[key] !== null && Object.getPrototypeOf(target[key]) === Object.prototype) {
45
+ result[key] = \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(target[key], source[key]);
46
+ } else {
47
+ result[key] = source[key];
48
+ }
49
+ }
50
+ }
51
+ return result;
52
+ }
33
53
  // Annotate the CommonJS export names for ESM import in node:
34
54
  0 && (module.exports = {
55
+ \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76,
35
56
  \u6784\u9020\u5143\u7EC4,
36
57
  \u6784\u9020\u5BF9\u8C61
37
58
  });
@@ -1,4 +1,13 @@
1
1
  declare function 构造元组<T extends any[]>(args: [...T]): T;
2
2
  declare function 构造对象<K extends string, V>(key: K, value: V): Record<K, V>;
3
+ type 普通对象 = Record<any, any>;
4
+ type 严格递归合并对象<A, B> = A extends 普通对象 ? B extends 普通对象 ? {
5
+ [K in keyof A | keyof B]: K extends keyof A ? K extends keyof B ? A[K] extends 普通对象 ? B[K] extends 普通对象 ? 严格递归合并对象<A[K], B[K]> : never : never : A[K] : K extends keyof B ? B[K] : never;
6
+ } : never : never;
7
+ /**
8
+ * 深合并两个对象,如果两个值都是普通对象,则递归合并,否则用后者覆盖
9
+ * 只有直接上游是对象原型的对象才算是普通对象
10
+ */
11
+ declare function 普通对象深合并(target: Record<any, any>, source: Record<any, any>): Record<string, any>;
3
12
 
4
- export { 构造元组, 构造对象 };
13
+ export { type 严格递归合并对象, 普通对象深合并, 构造元组, 构造对象 };
@@ -34,12 +34,10 @@ __export(index_exports, {
34
34
  GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6: () => GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
35
35
  JSON\u89E3\u6790\u63D2\u4EF6: () => JSON\u89E3\u6790\u63D2\u4EF6,
36
36
  WebSocket\u63D2\u4EF6: () => WebSocket\u63D2\u4EF6,
37
- \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6: () => \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6,
38
- \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
39
- \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
40
- \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5,
37
+ \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5,
41
38
  \u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
42
39
  \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
40
+ \u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
43
41
  \u5E38\u7528\u8FD4\u56DE\u5668: () => \u5E38\u7528\u8FD4\u56DE\u5668,
44
42
  \u63A5\u53E3: () => \u63A5\u53E3,
45
43
  \u63A5\u53E3\u6D4B\u8BD5: () => \u63A5\u53E3\u6D4B\u8BD5,
@@ -48,9 +46,11 @@ __export(index_exports, {
48
46
  \u63A5\u53E3\u903B\u8F91: () => \u63A5\u53E3\u903B\u8F91,
49
47
  \u63A5\u53E3\u903B\u8F91Base: () => \u63A5\u53E3\u903B\u8F91Base,
50
48
  \u63D2\u4EF6: () => \u63D2\u4EF6,
49
+ \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76: () => \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76,
51
50
  \u670D\u52A1\u5668: () => \u670D\u52A1\u5668,
52
51
  \u6784\u9020\u5143\u7EC4: () => \u6784\u9020\u5143\u7EC4,
53
52
  \u6784\u9020\u5BF9\u8C61: () => \u6784\u9020\u5BF9\u8C61,
53
+ \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
54
54
  \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6: () => \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
55
55
  \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668: () => \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668,
56
56
  \u8868\u5355\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u89E3\u6790\u63D2\u4EF6,
@@ -65,6 +65,25 @@ function \u6784\u9020\u5143\u7EC4(args) {
65
65
  function \u6784\u9020\u5BF9\u8C61(key, value) {
66
66
  return { [key]: value };
67
67
  }
68
+ function \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(target, source) {
69
+ if (typeof source !== "object" || source === null || Object.getPrototypeOf(source) !== Object.prototype) {
70
+ return source;
71
+ }
72
+ if (typeof target !== "object" || target === null || Object.getPrototypeOf(target) !== Object.prototype) {
73
+ return source;
74
+ }
75
+ let result = { ...target };
76
+ for (let key in source) {
77
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
78
+ if (typeof source[key] === "object" && source[key] !== null && Object.getPrototypeOf(source[key]) === Object.prototype && typeof target[key] === "object" && target[key] !== null && Object.getPrototypeOf(target[key]) === Object.prototype) {
79
+ result[key] = \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(target[key], source[key]);
80
+ } else {
81
+ result[key] = source[key];
82
+ }
83
+ }
84
+ }
85
+ return result;
86
+ }
68
87
 
69
88
  // src/interface/interface-base.ts
70
89
  var \u63A5\u53E3 = class {
@@ -134,7 +153,7 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
134
153
  let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF62.\u8FD0\u884C(req, res, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
135
154
  \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
136
155
  }
137
- let \u5408\u5E76\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => ({ ...s, ...a }), {});
156
+ let \u5408\u5E76\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(s, a), {});
138
157
  return \u5408\u5E76\u7ED3\u679C;
139
158
  }
140
159
  async \u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
@@ -142,7 +161,7 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
142
161
  let \u6700\u7EC8\u7ED3\u679C = void 0;
143
162
  try {
144
163
  let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
145
- \u6700\u7EC8\u7ED3\u679C = \u5B9E\u73B0\u7ED3\u679C.map((a) => ({ ...\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...a }));
164
+ \u6700\u7EC8\u7ED3\u679C = \u5B9E\u73B0\u7ED3\u679C.map((a) => \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, a));
146
165
  return \u6700\u7EC8\u7ED3\u679C;
147
166
  } finally {
148
167
  if (\u6E05\u7406\u51FD\u6570 !== void 0) {
@@ -178,9 +197,9 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
178
197
  async (\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) => {
179
198
  let \u4E0A\u5C42\u8C03\u7528\u7ED3\u679C = await this.\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
180
199
  if (\u4E0A\u5C42\u8C03\u7528\u7ED3\u679C.isLeft()) return \u4E0A\u5C42\u8C03\u7528\u7ED3\u679C;
181
- let \u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684 = { ...\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...\u4E0A\u5C42\u8C03\u7528\u7ED3\u679C.assertRight().getRight() };
200
+ let \u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684 = \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4E0A\u5C42\u8C03\u7528\u7ED3\u679C.assertRight().getRight());
182
201
  let \u4E0B\u5C42\u8C03\u7528\u7ED3\u679C = await \u8F93\u5165.\u5B9E\u73B0(\u53C2\u6570, \u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
183
- let \u6700\u7EC8\u8FD4\u56DE\u7ED3\u679C = \u4E0B\u5C42\u8C03\u7528\u7ED3\u679C.map((a) => ({ ...\u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684, ...a }));
202
+ let \u6700\u7EC8\u8FD4\u56DE\u7ED3\u679C = \u4E0B\u5C42\u8C03\u7528\u7ED3\u679C.map((a) => \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(\u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684, a));
184
203
  return \u6700\u7EC8\u8FD4\u56DE\u7ED3\u679C;
185
204
  },
186
205
  \u5408\u5E76\u6E05\u7406,
@@ -219,14 +238,14 @@ var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED
219
238
  }
220
239
  }
221
240
  };
222
- var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
241
+ var \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
223
242
  \u5B9E\u73B0(\u6570\u636E) {
224
243
  switch (\u6570\u636E.getTag()) {
225
244
  case "Left": {
226
245
  return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
227
246
  }
228
247
  case "Right": {
229
- return \u6570\u636E.assertRight().getRight().fn();
248
+ return \u6570\u636E.assertRight().getRight().data;
230
249
  }
231
250
  default: {
232
251
  throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
@@ -295,6 +314,7 @@ var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
295
314
  // src/plugin/extend/json.ts
296
315
  var import_express = __toESM(require("express"), 1);
297
316
  var import_node_util = require("util");
317
+ var import_zod = require("zod");
298
318
 
299
319
  // src/help/interior.ts
300
320
  function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
@@ -320,7 +340,7 @@ var \u70D9\u5370 = Symbol();
320
340
  var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
321
341
  [\u70D9\u5370] = ["JSON\u89E3\u6790\u63D2\u4EF6"];
322
342
  constructor(t, opt) {
323
- super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
343
+ super(import_zod.z.object({ body: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
324
344
  let log2 = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
325
345
  await new Promise(
326
346
  (pRes, _rej) => import_express.default.json(opt)(req, res, () => {
@@ -334,14 +354,14 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
334
354
  throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %o", parseResult.error));
335
355
  }
336
356
  await log2.debug("\u6210\u529F\u89E3\u6790 JSON");
337
- return parseResult.data;
357
+ return { body: parseResult.data };
338
358
  });
339
359
  }
340
360
  };
341
361
 
342
362
  // src/plugin/extend/log-headers.ts
343
- var import_zod = require("zod");
344
- var zod\u7C7B\u578B\u8868\u793A = import_zod.z.object({});
363
+ var import_zod2 = require("zod");
364
+ var zod\u7C7B\u578B\u8868\u793A = import_zod2.z.object({});
345
365
  var \u8C03\u8BD5\u8BF7\u6C42\u5934\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
346
366
  constructor() {
347
367
  super(zod\u7C7B\u578B\u8868\u793A, async (req, res, \u9644\u52A0\u53C2\u6570) => {
@@ -354,11 +374,12 @@ var \u8C03\u8BD5\u8BF7\u6C42\u5934\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
354
374
 
355
375
  // src/plugin/extend/query.ts
356
376
  var import_node_util2 = require("util");
377
+ var import_zod3 = require("zod");
357
378
  var \u70D9\u53702 = Symbol();
358
379
  var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
359
380
  [\u70D9\u53702] = ["GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6"];
360
381
  constructor(t) {
361
- super(t, async (req, _res, \u9644\u52A0\u53C2\u6570) => {
382
+ super(import_zod3.z.object({ query: t }), async (req, _res, \u9644\u52A0\u53C2\u6570) => {
362
383
  let log2 = \u9644\u52A0\u53C2\u6570.log.extend("GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6");
363
384
  await log2.debug("\u51C6\u5907\u89E3\u6790 GET \u53C2\u6570\uFF1A%o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.query)));
364
385
  let parseResult = t.safeParse(req.query);
@@ -367,22 +388,7 @@ var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
367
388
  throw new Error((0, import_node_util2.format)("\u89E3\u6790 GET \u53C2\u6570\u5931\u8D25: %o", parseResult.error));
368
389
  }
369
390
  await log2.debug("\u6210\u529F\u89E3\u6790 GET \u53C2\u6570");
370
- return parseResult.data;
371
- });
372
- }
373
- };
374
-
375
- // src/plugin/extend/send-file-plugin.ts
376
- var import_zod2 = require("zod");
377
- var zod\u7C7B\u578B\u8868\u793A2 = import_zod2.z.object({ sendFile: import_zod2.z.function(import_zod2.z.tuple([import_zod2.z.instanceof(Buffer)]), import_zod2.z.instanceof(Buffer)) });
378
- var \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
379
- constructor() {
380
- super(zod\u7C7B\u578B\u8868\u793A2, async (_req, _res) => {
381
- return {
382
- sendFile: (file) => {
383
- return file;
384
- }
385
- };
391
+ return { query: parseResult.data };
386
392
  });
387
393
  }
388
394
  };
@@ -390,10 +396,11 @@ var \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
390
396
  // src/plugin/extend/urlencoded.ts
391
397
  var import_express2 = __toESM(require("express"), 1);
392
398
  var import_node_util3 = require("util");
399
+ var import_zod4 = require("zod");
393
400
  var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
394
401
  constructor(t, opt) {
395
- super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
396
- let log2 = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
402
+ super(import_zod4.z.object({ form: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
403
+ let log2 = \u9644\u52A0\u53C2\u6570.log.extend("\u8868\u5355\u89E3\u6790\u63D2\u4EF6");
397
404
  await new Promise(
398
405
  (pRes, _rej) => import_express2.default.urlencoded({ extended: true, ...opt })(req, res, () => {
399
406
  pRes(null);
@@ -404,14 +411,14 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
404
411
  await log2.error("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error);
405
412
  throw new Error((0, import_node_util3.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error));
406
413
  }
407
- return parseResult.data;
414
+ return { form: parseResult.data };
408
415
  });
409
416
  }
410
417
  };
411
418
 
412
419
  // src/plugin/extend/web-socket.ts
413
420
  var import_ws2 = require("ws");
414
- var import_zod3 = require("zod");
421
+ var import_zod5 = require("zod");
415
422
 
416
423
  // src/global/global.ts
417
424
  var import_ts_global = require("@lsby/ts-global");
@@ -421,11 +428,14 @@ var log = new import_ts_log.Log("@lsby:net-core");
421
428
  var WebSocket\u7BA1\u7406\u5668 = class {
422
429
  constructor(\u8FDE\u63A5\u8868) {
423
430
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
424
- this.\u5B9A\u65F6\u5668ID = setInterval(() => {
425
- this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
426
- this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
427
- });
428
- }, 3e4);
431
+ this.\u5B9A\u65F6\u5668ID = setInterval(
432
+ () => {
433
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
434
+ this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
435
+ });
436
+ },
437
+ 5 * 60 * 1e3
438
+ );
429
439
  }
430
440
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
431
441
  \u6E05\u7406\u51FD\u6570\u8868 = {};
@@ -476,12 +486,12 @@ var Global = new import_ts_global.GlobalService([
476
486
  var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
477
487
  constructor(\u4FE1\u606F\u63CF\u8FF0) {
478
488
  super(
479
- import_zod3.z.object({
480
- ws\u64CD\u4F5C: import_zod3.z.object({
481
- \u53D1\u9001ws\u4FE1\u606F: import_zod3.z.function(import_zod3.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod3.z.promise(import_zod3.z.void())),
482
- \u5173\u95EDws\u8FDE\u63A5: import_zod3.z.function(import_zod3.z.tuple([]), import_zod3.z.promise(import_zod3.z.void())),
483
- \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570: import_zod3.z.function(import_zod3.z.tuple([import_zod3.z.function(import_zod3.z.tuple([]), import_zod3.z.promise(import_zod3.z.void()))]), import_zod3.z.promise(import_zod3.z.void()))
484
- }).or(import_zod3.z.null())
489
+ import_zod5.z.object({
490
+ ws\u64CD\u4F5C: import_zod5.z.object({
491
+ \u53D1\u9001ws\u4FE1\u606F: import_zod5.z.function(import_zod5.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod5.z.promise(import_zod5.z.void())),
492
+ \u5173\u95EDws\u8FDE\u63A5: import_zod5.z.function(import_zod5.z.tuple([]), import_zod5.z.promise(import_zod5.z.void())),
493
+ \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570: import_zod5.z.function(import_zod5.z.tuple([import_zod5.z.function(import_zod5.z.tuple([]), import_zod5.z.promise(import_zod5.z.void()))]), import_zod5.z.promise(import_zod5.z.void()))
494
+ }).or(import_zod5.z.null())
485
495
  }),
486
496
  async (req, _res, \u9644\u52A0\u53C2\u6570) => {
487
497
  let log2 = \u9644\u52A0\u53C2\u6570.log.extend("webSocket\u63D2\u4EF6");
@@ -691,34 +701,34 @@ var \u670D\u52A1\u5668 = class {
691
701
  var EXPORT_TYPE = Symbol();
692
702
 
693
703
  // src/wrapper/common-wrapper.ts
694
- var import_zod4 = require("zod");
704
+ var import_zod6 = require("zod");
695
705
  var \u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
696
706
  constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod) {
697
- let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod4.z.object({ status: import_zod4.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
698
- let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod4.z.object({ status: import_zod4.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
707
+ let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod6.z.object({ status: import_zod6.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
708
+ let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod6.z.object({ status: import_zod6.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
699
709
  let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668();
700
710
  super(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u8F6C\u6362\u5668, new \u5E38\u7528\u8FD4\u56DE\u5668());
701
711
  }
702
712
  };
703
713
 
704
714
  // src/wrapper/common-wrapper-return.ts
705
- var import_zod5 = require("zod");
706
- var \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
715
+ var import_zod7 = require("zod");
716
+ var \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
707
717
  constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod, \u8FD4\u56DE\u5668\u5B9E\u73B0) {
708
- let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod5.z.object({ status: import_zod5.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
709
- let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod5.z.object({ status: import_zod5.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
718
+ let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod7.z.object({ status: import_zod7.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
719
+ let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod7.z.object({ status: import_zod7.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
710
720
  let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668();
711
721
  super(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u8F6C\u6362\u5668, new \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668(\u8FD4\u56DE\u5668\u5B9E\u73B0));
712
722
  }
713
723
  };
714
724
 
715
725
  // src/wrapper/deferred-result-wrapper.ts
716
- var import_zod6 = require("zod");
717
- var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
726
+ var import_zod8 = require("zod");
727
+ var \u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
718
728
  constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod) {
719
- let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod6.z.object({ status: import_zod6.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
729
+ let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod8.z.object({ status: import_zod8.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
720
730
  let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod;
721
- let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668();
731
+ let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668();
722
732
  super(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u8F6C\u6362\u5668, new \u5E38\u7528\u8FD4\u56DE\u5668());
723
733
  }
724
734
  };
@@ -728,12 +738,10 @@ var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = c
728
738
  GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
729
739
  JSON\u89E3\u6790\u63D2\u4EF6,
730
740
  WebSocket\u63D2\u4EF6,
731
- \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6,
732
- \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
733
- \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
734
- \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5,
741
+ \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5,
735
742
  \u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
736
743
  \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
744
+ \u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
737
745
  \u5E38\u7528\u8FD4\u56DE\u5668,
738
746
  \u63A5\u53E3,
739
747
  \u63A5\u53E3\u6D4B\u8BD5,
@@ -742,9 +750,11 @@ var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = c
742
750
  \u63A5\u53E3\u903B\u8F91,
743
751
  \u63A5\u53E3\u903B\u8F91Base,
744
752
  \u63D2\u4EF6,
753
+ \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76,
745
754
  \u670D\u52A1\u5668,
746
755
  \u6784\u9020\u5143\u7EC4,
747
756
  \u6784\u9020\u5BF9\u8C61,
757
+ \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
748
758
  \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
749
759
  \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668,
750
760
  \u8868\u5355\u89E3\u6790\u63D2\u4EF6,
@@ -1,19 +1,18 @@
1
- export { 构造元组, 构造对象 } from './help/help.cjs';
2
- export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑, z as 任意插件, 兼 as 兼容空对象, B as 取插件内部ts类型, 取 as 取插件内部类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, y as 常用延时直接形式转换器, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, w as 接口结果转换器, 接 as 接口路径类型, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 插 as 插件, A as 插件项类型, 服 as 服务器, 清 as 清理函数类型, 空 as 空对象, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, d as 获得接口逻辑类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, e as 获得接口错误形式, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果, 请 as 请求附加参数类型 } from './interface-base-_3j8cNEe.cjs';
1
+ export { 严格递归合并对象, 普通对象深合并, 构造元组, 构造对象 } from './help/help.cjs';
2
+ export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑, y as 任意插件, 兼 as 兼容空对象, A as 取插件内部ts类型, 取 as 取插件内部类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, w as 接口结果转换器, 接 as 接口路径类型, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 插 as 插件, z as 插件项类型, 服 as 服务器, 清 as 清理函数类型, 直 as 直接形式转换器, 空 as 空对象, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, d as 获得接口逻辑类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, e as 获得接口错误形式, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果, 请 as 请求附加参数类型 } from './interface-base-CyfrfgWu.cjs';
3
3
  export { 任意接口结果返回器, 常用返回器, 接口结果返回器, 自定义返回器 } from './interface/interface-retuen.cjs';
4
4
  export { 接口测试 } from './interface/interface-test.cjs';
5
5
  export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
6
6
  export { JSON解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果, 计算接口逻辑JSON参数 } from './plugin/extend/json.cjs';
7
7
  export { 调试请求头插件 } from './plugin/extend/log-headers.cjs';
8
8
  export { GET参数解析插件, 任意GET参数解析插件, 任意GET参数解析插件项, 合并GET插件结果, 计算接口逻辑GET参数 } from './plugin/extend/query.cjs';
9
- export { 发送文件插件 } from './plugin/extend/send-file-plugin.cjs';
10
9
  export { 表单解析插件 } from './plugin/extend/urlencoded.cjs';
11
10
  export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件结果 } from './plugin/extend/web-socket.cjs';
12
11
  export { EXPORT_TYPE } from './symbol/export-type.cjs';
13
12
  export { GetNetCoreExportTypeDefine, GetNetCoreExportTypeName, NetCoreExportType } from './types/export-type.cjs';
14
13
  export { 常用形式接口封装 } from './wrapper/common-wrapper.cjs';
15
- export { 常用形式并自定义返回接口封装 } from './wrapper/common-wrapper-return.cjs';
16
- export { 常用延时直接形式接口封装 } from './wrapper/deferred-result-wrapper.cjs';
14
+ export { 常用形式并自定义返回器接口封装 } from './wrapper/common-wrapper-return.cjs';
15
+ export { 常用直接形式接口封装 } from './wrapper/deferred-result-wrapper.cjs';
17
16
  import 'zod';
18
17
  import '@lsby/ts-fp-data';
19
18
  import 'express';
@@ -1,5 +1,5 @@
1
1
  import 'zod';
2
- export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-_3j8cNEe.cjs';
2
+ export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-CyfrfgWu.cjs';
3
3
  import './interface-retuen.cjs';
4
4
  import '@lsby/ts-fp-data';
5
5
  import 'express';
@@ -25,6 +25,29 @@ __export(interface_logic_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(interface_logic_exports);
27
27
  var import_ts_fp_data = require("@lsby/ts-fp-data");
28
+
29
+ // src/help/help.ts
30
+ function \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(target, source) {
31
+ if (typeof source !== "object" || source === null || Object.getPrototypeOf(source) !== Object.prototype) {
32
+ return source;
33
+ }
34
+ if (typeof target !== "object" || target === null || Object.getPrototypeOf(target) !== Object.prototype) {
35
+ return source;
36
+ }
37
+ let result = { ...target };
38
+ for (let key in source) {
39
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
40
+ if (typeof source[key] === "object" && source[key] !== null && Object.getPrototypeOf(source[key]) === Object.prototype && typeof target[key] === "object" && target[key] !== null && Object.getPrototypeOf(target[key]) === Object.prototype) {
41
+ result[key] = \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(target[key], source[key]);
42
+ } else {
43
+ result[key] = source[key];
44
+ }
45
+ }
46
+ }
47
+ return result;
48
+ }
49
+
50
+ // src/interface/interface-logic.ts
28
51
  var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
29
52
  constructor(\u4E0A\u6E38\u63A5\u53E3, \u6700\u540E\u63A5\u53E3) {
30
53
  this.\u4E0A\u6E38\u63A5\u53E3 = \u4E0A\u6E38\u63A5\u53E3;
@@ -57,7 +80,7 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
57
80
  let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6.\u8FD0\u884C(req, res, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
58
81
  \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
59
82
  }
60
- let \u5408\u5E76\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => ({ ...s, ...a }), {});
83
+ let \u5408\u5E76\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(s, a), {});
61
84
  return \u5408\u5E76\u7ED3\u679C;
62
85
  }
63
86
  async \u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
@@ -65,7 +88,7 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
65
88
  let \u6700\u7EC8\u7ED3\u679C = void 0;
66
89
  try {
67
90
  let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
68
- \u6700\u7EC8\u7ED3\u679C = \u5B9E\u73B0\u7ED3\u679C.map((a) => ({ ...\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...a }));
91
+ \u6700\u7EC8\u7ED3\u679C = \u5B9E\u73B0\u7ED3\u679C.map((a) => \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, a));
69
92
  return \u6700\u7EC8\u7ED3\u679C;
70
93
  } finally {
71
94
  if (\u6E05\u7406\u51FD\u6570 !== void 0) {
@@ -101,9 +124,9 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
101
124
  async (\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) => {
102
125
  let \u4E0A\u5C42\u8C03\u7528\u7ED3\u679C = await this.\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
103
126
  if (\u4E0A\u5C42\u8C03\u7528\u7ED3\u679C.isLeft()) return \u4E0A\u5C42\u8C03\u7528\u7ED3\u679C;
104
- let \u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684 = { ...\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...\u4E0A\u5C42\u8C03\u7528\u7ED3\u679C.assertRight().getRight() };
127
+ let \u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684 = \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4E0A\u5C42\u8C03\u7528\u7ED3\u679C.assertRight().getRight());
105
128
  let \u4E0B\u5C42\u8C03\u7528\u7ED3\u679C = await \u8F93\u5165.\u5B9E\u73B0(\u53C2\u6570, \u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
106
- let \u6700\u7EC8\u8FD4\u56DE\u7ED3\u679C = \u4E0B\u5C42\u8C03\u7528\u7ED3\u679C.map((a) => ({ ...\u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684, ...a }));
129
+ let \u6700\u7EC8\u8FD4\u56DE\u7ED3\u679C = \u4E0B\u5C42\u8C03\u7528\u7ED3\u679C.map((a) => \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(\u4F20\u7ED9\u4E0B\u4E00\u5C42\u7684, a));
107
130
  return \u6700\u7EC8\u8FD4\u56DE\u7ED3\u679C;
108
131
  },
109
132
  \u5408\u5E76\u6E05\u7406,
@@ -1,7 +1,7 @@
1
1
  import '@lsby/ts-fp-data';
2
2
  import 'express';
3
3
  import '../help/interior.cjs';
4
- export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-_3j8cNEe.cjs';
4
+ export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-CyfrfgWu.cjs';
5
5
  import 'zod';
6
6
  import '@lsby/ts-log';
7
7
  import 'node:http';
@@ -20,9 +20,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/interface/interface-result.ts
21
21
  var interface_result_exports = {};
22
22
  __export(interface_result_exports, {
23
- \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
24
23
  \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
25
- \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668
24
+ \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
25
+ \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668
26
26
  });
27
27
  module.exports = __toCommonJS(interface_result_exports);
28
28
  var \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 = class {
@@ -42,14 +42,14 @@ var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED
42
42
  }
43
43
  }
44
44
  };
45
- var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
45
+ var \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
46
46
  \u5B9E\u73B0(\u6570\u636E) {
47
47
  switch (\u6570\u636E.getTag()) {
48
48
  case "Left": {
49
49
  return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
50
50
  }
51
51
  case "Right": {
52
- return \u6570\u636E.assertRight().getRight().fn();
52
+ return \u6570\u636E.assertRight().getRight().data;
53
53
  }
54
54
  default: {
55
55
  throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
@@ -59,7 +59,7 @@ var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class e
59
59
  };
60
60
  // Annotate the CommonJS export names for ESM import in node:
61
61
  0 && (module.exports = {
62
- \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
63
62
  \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
64
- \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668
63
+ \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
64
+ \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668
65
65
  });
@@ -1,5 +1,5 @@
1
1
  import '@lsby/ts-fp-data';
2
- export { x as 任意接口结果转换器, y as 常用延时直接形式转换器, as 常用形式转换器, w as 接口结果转换器 } from '../interface-base-_3j8cNEe.cjs';
2
+ export { x as 任意接口结果转换器, as 常用形式转换器, w as 接口结果转换器, as 直接形式转换器 } from '../interface-base-CyfrfgWu.cjs';
3
3
  import 'zod';
4
4
  import 'express';
5
5
  import '../help/interior.cjs';
@@ -1,12 +1,26 @@
1
1
  import { Request, Response } from 'express';
2
2
 
3
+ /**
4
+ * 描述接口如何将转换器转换后的数据发送给客户端
5
+ *
6
+ * 这一层的存在使得数据格式和传输方式完全解耦:
7
+ * - 相同的数据可以通过 JSON, XML, Protobuf 等不同格式发送
8
+ * - 可以选择不同的传输方式: HTTP 响应, WebSocket, SSE, 文件下载等
9
+ * - 可以设置相应头等数据
10
+ */
3
11
  declare abstract class 接口结果返回器<接口正确形式> {
4
12
  abstract 返回(req: Request, res: Response, 结果: 接口正确形式): void | Promise<void>;
5
13
  }
6
14
  type 任意接口结果返回器 = 接口结果返回器<any>;
15
+ /**
16
+ * 常用返回器: 直接使用 res.send 发送数据
17
+ */
7
18
  declare class 常用返回器<正确形式> extends 接口结果返回器<正确形式> {
8
19
  返回(req: Request, res: Response, 结果: 正确形式): void;
9
20
  }
21
+ /**
22
+ * 自定义返回器: 支持任意自定义的返回逻辑
23
+ */
10
24
  declare class 自定义返回器<正确形式> extends 接口结果返回器<正确形式> {
11
25
  private 实现函数;
12
26
  constructor(实现函数: (req: Request, res: Response, 结果: 正确形式) => void | Promise<void>);