@lsby/net-core 0.6.6 → 0.6.7-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 (84) hide show
  1. package/dist/cjs/global/global.cjs +7 -7
  2. package/dist/cjs/global/web-socket-management.cjs +7 -7
  3. package/dist/cjs/{tools/tools.cjs → help/help.cjs} +14 -4
  4. package/dist/cjs/help/help.d.cts +11 -0
  5. package/dist/cjs/index.cjs +202 -309
  6. package/dist/cjs/index.d.cts +7 -10
  7. package/dist/cjs/interface/interface-base.d.cts +5 -42
  8. package/dist/cjs/interface/interface-logic.cjs +12 -193
  9. package/dist/cjs/interface/interface-logic.d.cts +6 -60
  10. package/dist/cjs/interface/interface-result.cjs +4 -4
  11. package/dist/cjs/interface/interface-result.d.cts +6 -39
  12. package/dist/cjs/interface-base-CFXGjV5S.d.cts +176 -0
  13. package/dist/cjs/plugin/extend/chinese-path.d.cts +4 -1
  14. package/dist/cjs/plugin/extend/custom-data.cjs +8 -8
  15. package/dist/cjs/plugin/extend/custom-data.d.cts +4 -1
  16. package/dist/cjs/plugin/extend/json.cjs +9 -9
  17. package/dist/cjs/plugin/extend/json.d.cts +6 -2
  18. package/dist/cjs/plugin/extend/log-headers.cjs +2 -177
  19. package/dist/cjs/plugin/extend/log-headers.d.cts +4 -1
  20. package/dist/cjs/plugin/extend/send-file-plugin.d.cts +4 -1
  21. package/dist/cjs/plugin/extend/urlencoded.cjs +8 -8
  22. package/dist/cjs/plugin/extend/urlencoded.d.cts +4 -1
  23. package/dist/cjs/plugin/extend/web-socket.cjs +8 -8
  24. package/dist/cjs/plugin/extend/web-socket.d.cts +4 -1
  25. package/dist/cjs/plugin/plug.d.cts +7 -29
  26. package/dist/cjs/server/server.cjs +15 -13
  27. package/dist/cjs/server/server.d.cts +4 -27
  28. package/dist/cjs/wrapper/common-wrapper.cjs +89 -0
  29. package/dist/cjs/wrapper/common-wrapper.d.cts +19 -0
  30. package/dist/cjs/wrapper/deferred-result-wrapper.cjs +89 -0
  31. package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +16 -0
  32. package/dist/esm/action/action.bak.js +136 -3
  33. package/dist/esm/{chunk-TU5RBGGM.js → chunk-3QNWAAXS.js} +9 -7
  34. package/dist/esm/{chunk-KCQRJ4JL.js → chunk-47MYYUQZ.js} +2 -2
  35. package/dist/esm/{chunk-JHQKJ7DH.js → chunk-6I3OJQWA.js} +3 -3
  36. package/dist/esm/{chunk-6P6XTMKW.js → chunk-7MHKNSNT.js} +2 -5
  37. package/dist/esm/chunk-BEFZ7IFH.js +21 -0
  38. package/dist/esm/{chunk-DXXX45UR.js → chunk-GKEZ4UTO.js} +3 -3
  39. package/dist/esm/{chunk-L36NOE2J.js → chunk-JB4HVEXB.js} +2 -2
  40. package/dist/esm/{chunk-2E2KK6JA.js → chunk-JQAGEE3X.js} +12 -20
  41. package/dist/esm/{chunk-3FDT2MPR.js → chunk-LDWZKZLU.js} +7 -7
  42. package/dist/esm/{chunk-IGHJCQ2S.js → chunk-RYGSLVLS.js} +9 -1
  43. package/dist/esm/chunk-TNQ5YSCZ.js +21 -0
  44. package/dist/esm/{chunk-Z3PYJGMZ.js → chunk-XPC3O5HH.js} +2 -2
  45. package/dist/esm/global/global.js +1 -1
  46. package/dist/esm/global/web-socket-management.js +1 -1
  47. package/dist/esm/help/help.d.ts +11 -0
  48. package/dist/esm/{tools/tools.js → help/help.js} +5 -1
  49. package/dist/esm/index.d.ts +7 -10
  50. package/dist/esm/index.js +31 -24
  51. package/dist/esm/interface/interface-base.d.ts +5 -42
  52. package/dist/esm/interface/interface-logic.d.ts +6 -60
  53. package/dist/esm/interface/interface-logic.js +1 -2
  54. package/dist/esm/interface/interface-result.d.ts +6 -39
  55. package/dist/esm/interface/interface-result.js +3 -3
  56. package/dist/esm/interface-base-D-Zxt7-a.d.ts +176 -0
  57. package/dist/esm/plugin/extend/chinese-path.d.ts +4 -1
  58. package/dist/esm/plugin/extend/custom-data.d.ts +4 -1
  59. package/dist/esm/plugin/extend/custom-data.js +2 -2
  60. package/dist/esm/plugin/extend/json.d.ts +6 -2
  61. package/dist/esm/plugin/extend/json.js +3 -3
  62. package/dist/esm/plugin/extend/log-headers.d.ts +4 -1
  63. package/dist/esm/plugin/extend/log-headers.js +1 -2
  64. package/dist/esm/plugin/extend/send-file-plugin.d.ts +4 -1
  65. package/dist/esm/plugin/extend/urlencoded.d.ts +4 -1
  66. package/dist/esm/plugin/extend/urlencoded.js +2 -2
  67. package/dist/esm/plugin/extend/web-socket.d.ts +4 -1
  68. package/dist/esm/plugin/extend/web-socket.js +2 -2
  69. package/dist/esm/plugin/plug.d.ts +7 -29
  70. package/dist/esm/server/server.d.ts +4 -27
  71. package/dist/esm/server/server.js +3 -3
  72. package/dist/esm/wrapper/common-wrapper.d.ts +19 -0
  73. package/dist/esm/wrapper/common-wrapper.js +8 -0
  74. package/dist/esm/wrapper/deferred-result-wrapper.d.ts +16 -0
  75. package/dist/esm/wrapper/deferred-result-wrapper.js +8 -0
  76. package/package.json +1 -1
  77. package/dist/cjs/tools/tools.d.cts +0 -4
  78. package/dist/cjs/tools/types.cjs +0 -18
  79. package/dist/cjs/tools/types.d.cts +0 -5
  80. package/dist/esm/chunk-CE4M2QA4.js +0 -140
  81. package/dist/esm/chunk-DAKGERGA.js +0 -0
  82. package/dist/esm/tools/tools.d.ts +0 -4
  83. package/dist/esm/tools/types.d.ts +0 -5
  84. package/dist/esm/tools/types.js +0 -1
@@ -1,22 +1,19 @@
1
- export { 业务行为, 业务行为参数类型, 业务行为返回类型, 业务行为错误类型, 计算业务行为参数, 计算业务行为返回, 计算业务行为错误 } from './action/action.bak.cjs';
2
- export { 任意接口, 接口, 接口方法类型, 接口路径类型, 获得接口方法类型, 获得接口正确形式, 获得接口结果转换器类型, 获得接口路径类型, 获得接口逻辑类型, 获得接口错误形式 } from './interface/interface-base.cjs';
3
- export { 任意接口逻辑, 可调用接口逻辑, 接口逻辑, 接口逻辑正确类型, 接口逻辑错误类型, 接口逻辑附加参数类型, 获得接口逻辑插件类型, 获得接口逻辑正确类型, 获得接口逻辑错误类型, 获得接口逻辑附加参数类型 } from './interface/interface-logic.cjs';
4
- export { 任意接口结果转换器, 常用形式转换器, 延时直接形式转换器, 接口结果转换器 } from './interface/interface-result.cjs';
1
+ export { 去除只读, 截断字符串, 构造元组, 构造对象, 类型相等, 联合转元组, 递归截断字符串 } from './help/help.cjs';
2
+ export { 任 as 任意接口, s as 任意接口结果转换器, l as 任意接口逻辑, u as 任意插件, 包 as 包装插件项, 取 as 取Task插件内部类型, w as 取Task插件类型, x as 取插件内部ts类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, t as 常用延时直接形式转换器, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, r as 接口结果转换器, 接 as 接口路径类型, k as 接口逻辑, i as 接口逻辑正确类型, h as 接口逻辑错误类型, j as 接口逻辑附加参数类型, 插 as 插件, v as 插件项类型, 服 as 服务器, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, 获 as 获得接口路径类型, m as 获得接口逻辑插件类型, p as 获得接口逻辑正确类型, d as 获得接口逻辑类型, o as 获得接口逻辑错误类型, n as 获得接口逻辑附加参数类型, e as 获得接口错误形式, q as 计算接口逻辑正确结果, 计 as 计算接口逻辑错误结果, 请 as 请求附加参数类型 } from './interface-base-CFXGjV5S.cjs';
5
3
  export { 接口测试 } from './interface/interface-test.cjs';
6
4
  export { 中文路径支持插件 } from './plugin/extend/chinese-path.cjs';
7
5
  export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
8
- export { JSON解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.cjs';
6
+ export { JSON解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果, 计算接口逻辑JSON参数 } from './plugin/extend/json.cjs';
9
7
  export { 调试请求头插件 } from './plugin/extend/log-headers.cjs';
10
8
  export { 发送文件插件 } from './plugin/extend/send-file-plugin.cjs';
11
9
  export { 表单解析插件 } from './plugin/extend/urlencoded.cjs';
12
10
  export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件结果 } from './plugin/extend/web-socket.cjs';
13
- export { 任意插件, 包装插件项, 取Task插件内部类型, 取Task插件类型, 取插件内部ts类型, 合并插件结果, 插件, 插件附加参数, 插件项类型 } from './plugin/plug.cjs';
14
- export { 截断字符串, 递归截断字符串 } from './tools/tools.cjs';
15
- export { 去除只读 } from './tools/types.cjs';
16
- export { 服务器 } from './server/server.cjs';
17
11
  export { EXPORT_TYPE } from './symbol/export-type.cjs';
18
12
  export { GetNetCoreExportTypeDefine, GetNetCoreExportTypeName, NetCoreExportType } from './types/export-type.cjs';
19
- import '@lsby/ts-fp-data';
13
+ export { 常用形式接口封装 } from './wrapper/common-wrapper.cjs';
14
+ export { 常用延时直接形式接口封装 } from './wrapper/deferred-result-wrapper.cjs';
20
15
  import 'zod';
16
+ import '@lsby/ts-fp-data';
21
17
  import 'express';
18
+ import '@lsby/ts-log';
22
19
  import 'node:http';
@@ -1,44 +1,7 @@
1
- import { z } from 'zod';
2
- import { 可调用接口逻辑 as _______, 获得接口逻辑错误类型 as __________, 获得接口逻辑正确类型 as __________$1 } from './interface-logic.cjs';
3
- import { 接口结果转换器 as _______$1 } from './interface-result.cjs';
1
+ import 'zod';
2
+ export { as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-CFXGjV5S.cjs';
4
3
  import '@lsby/ts-fp-data';
5
4
  import 'express';
6
- import '../plugin/plug.cjs';
7
-
8
- type 接口路径类型 = string;
9
- type 接口方法类型 = 'get' | 'post';
10
- /**
11
- * 接口的描述.
12
- */
13
- declare class 接口<路径类型 extends 接口路径类型, 方法类型 extends 接口方法类型, 逻辑类型 extends _______, 接口错误形式Zod extends z.ZodTypeAny, 接口正确形式Zod extends z.ZodTypeAny, 接口结果转换器类型 extends _______$1<__________<逻辑类型>, __________$1<逻辑类型>, z.infer<接口错误形式Zod>, z.infer<接口正确形式Zod>>> {
14
- private 请求路径;
15
- private 请求方法;
16
- private 接口逻辑;
17
- private 接口错误形式Zod;
18
- private 接口正确形式Zod;
19
- private 结果转换器;
20
- protected readonly __类型保持符号?: [
21
- 路径类型,
22
- 方法类型,
23
- 逻辑类型,
24
- 接口错误形式Zod,
25
- 接口正确形式Zod,
26
- 接口结果转换器类型
27
- ];
28
- constructor(请求路径: 路径类型, 请求方法: 方法类型, 接口逻辑: 逻辑类型, 接口错误形式Zod: 接口错误形式Zod, 接口正确形式Zod: 接口正确形式Zod, 结果转换器: 接口结果转换器类型);
29
- 获得路径(): 路径类型;
30
- 获得方法(): 方法类型;
31
- 获得逻辑(): 逻辑类型;
32
- 获得接口错误形式Zod(): 接口错误形式Zod;
33
- 获得接口正确形式Zod(): 接口正确形式Zod;
34
- 获得结果转换器(): 接口结果转换器类型;
35
- }
36
- type 任意接口 = 接口<any, any, any, any, any, any>;
37
- type 获得接口路径类型<A> = A extends 接口<infer X, any, any, any, any, any> ? X : never;
38
- type 获得接口方法类型<A> = A extends 接口<any, infer X, any, any, any, any> ? X : never;
39
- type 获得接口逻辑类型<A> = A extends 接口<any, any, infer X, any, any, any> ? X : never;
40
- type 获得接口错误形式<A> = A extends 接口<any, any, any, infer X, any, any> ? z.infer<X> : never;
41
- type 获得接口正确形式<A> = A extends 接口<any, any, any, any, infer X, any> ? z.infer<X> : never;
42
- type 获得接口结果转换器类型<A> = A extends 接口<any, any, any, any, any, infer X> ? X : never;
43
-
44
- export { type 任意接口, 接口, type 接口方法类型, type 接口路径类型, type 获得接口方法类型, type 获得接口正确形式, type 获得接口结果转换器类型, type 获得接口路径类型, type 获得接口逻辑类型, type 获得接口错误形式 };
5
+ import '../help/help.cjs';
6
+ import '@lsby/ts-log';
7
+ import 'node:http';
@@ -23,205 +23,24 @@ __export(interface_logic_exports, {
23
23
  \u63A5\u53E3\u903B\u8F91: () => \u63A5\u53E3\u903B\u8F91
24
24
  });
25
25
  module.exports = __toCommonJS(interface_logic_exports);
26
-
27
- // src/global/global.ts
28
- var import_ts_global = require("@lsby/ts-global");
29
- var import_ts_log = require("@lsby/ts-log");
30
-
31
- // src/global/web-socket-management.ts
32
- var WebSocket\u7BA1\u7406\u5668 = class {
33
- log = Global.getItem("log").then((a) => a.extend("WebSocket\u7BA1\u7406\u5668"));
34
- \u8FDE\u63A5\u8868 = {};
35
- async \u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, code, \u8BF4\u660E) {
36
- let log = (await this.log).extend("\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5").extend(id);
37
- try {
38
- await this.\u8FDE\u63A5\u8868[id]?.\u6E05\u7406\u51FD\u6570?.();
39
- } catch (err) {
40
- await log.error(`\u6267\u884C\u6E05\u7406\u51FD\u6570\u5931\u8D25: %o.`, String(err));
41
- }
42
- this.\u8FDE\u63A5\u8868[id]?.ws?.close(code, \u8BF4\u660E);
43
- delete this.\u8FDE\u63A5\u8868[id];
44
- }
45
- async \u9500\u6BC1\u5224\u5B9A(id) {
46
- let log = (await this.log).extend("\u9500\u6BC1\u5224\u5B9A").extend(id);
47
- let \u8FDE\u63A5 = this.\u8FDE\u63A5\u8868[id];
48
- if (\u8FDE\u63A5 === void 0) {
49
- await log.error(`\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5`);
50
- return;
51
- }
52
- if (\u8FDE\u63A5.\u5DF2\u9519\u8BEF === true) {
53
- await log.error(`\u8FDE\u63A5\u5DF2\u88AB\u6807\u8BB0\u4E3A\u9519\u8BEF, \u65AD\u5F00\u8FDE\u63A5.`);
54
- clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
55
- await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1011, "\u53D1\u751F\u9519\u8BEF");
56
- return;
57
- }
58
- if (\u8FDE\u63A5.\u5DF2\u5B8C\u6210 === true && \u8FDE\u63A5.\u7F13\u5B58.length === 0) {
59
- await log.debug(`\u8FDE\u63A5\u5DF2\u5B8C\u6210, \u6B63\u5E38\u5173\u95ED.`);
60
- await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1e3, "\u6B63\u5E38\u5173\u95ED");
61
- return;
62
- }
63
- if (\u8FDE\u63A5.\u5DF2\u65AD\u5F00 === false) {
64
- clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
65
- }
66
- if (\u8FDE\u63A5.\u5DF2\u65AD\u5F00 === true) {
67
- await log.debug("\u8FDE\u63A5\u5DF2\u65AD\u5F00, \u7B49\u5F85\u5BA2\u6237\u7AEF\u91CD\u8FDE.");
68
- let \u8D85\u65F6\u65F6\u95F4 = 3e4;
69
- clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
70
- \u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668 = setTimeout(async () => {
71
- if (this.\u8FDE\u63A5\u8868[id]?.\u5DF2\u65AD\u5F00 === true) {
72
- await log.error("\u5BA2\u6237\u7AEF\u8D85\u65F6\u672A\u91CD\u8FDE\uFF0C\u6E05\u7406\u8FDE\u63A5.");
73
- await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1011, "\u5BA2\u6237\u7AEF\u8D85\u65F6\u672A\u91CD\u8FDE\uFF0C\u6E05\u7406\u8FDE\u63A5");
74
- }
75
- }, \u8D85\u65F6\u65F6\u95F4);
76
- }
77
- }
78
- async \u589E\u52A0\u6216\u66FF\u6362\u8FDE\u63A5(id, ws) {
79
- let log = (await this.log).extend("\u589E\u52A0\u6216\u66FF\u6362\u8FDE\u63A5").extend(id);
80
- if (this.\u8FDE\u63A5\u8868[id] === void 0) {
81
- this.\u8FDE\u63A5\u8868[id] = {
82
- ws,
83
- \u7F13\u5B58: [],
84
- \u5DF2\u5B8C\u6210: false,
85
- \u5DF2\u65AD\u5F00: false,
86
- \u5DF2\u9519\u8BEF: false,
87
- \u6570\u636E\u53D1\u9001\u4E2D: false,
88
- \u7F13\u5B58\u53D1\u9001\u4E2D: false
89
- };
90
- return;
91
- }
92
- let \u65E7\u53E5\u67C4 = this.\u8FDE\u63A5\u8868[id].ws;
93
- await log.info("\u65E7\u8FDE\u63A5\u5B58\u5728, \u5C06\u66FF\u6362\u8868\u4E2D\u6570\u636E, \u5E76\u5173\u95ED\u65E7ws\u53E5\u67C4.");
94
- this.\u8FDE\u63A5\u8868[id].ws = ws;
95
- this.\u8FDE\u63A5\u8868[id].\u5DF2\u5B8C\u6210 = false;
96
- this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = false;
97
- this.\u8FDE\u63A5\u8868[id].\u5DF2\u9519\u8BEF = false;
98
- this.\u8FDE\u63A5\u8868[id].\u6570\u636E\u53D1\u9001\u4E2D = false;
99
- this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = false;
100
- \u65E7\u53E5\u67C4?.close(1011, "\u65B0\u8FDE\u63A5\u66FF\u6362\u65E7\u8FDE\u63A5");
101
- await log.info("\u53D1\u9001\u65E7\u8FDE\u63A5\u7F13\u5B58");
102
- this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = true;
103
- while (this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.length !== 0) {
104
- await this.\u53D1\u9001\u4FE1\u606F_\u5185\u90E8(id, this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.shift());
105
- }
106
- this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = false;
107
- await log.info("\u53D1\u9001\u65E7\u8FDE\u63A5\u7F13\u5B58\u5B8C\u6210");
108
- }
109
- async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
110
- let log = (await this.log).extend("\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570").extend(id);
111
- if (this.\u8FDE\u63A5\u8868[id] === void 0) {
112
- await log.error(`\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5`);
113
- return;
114
- }
115
- this.\u8FDE\u63A5\u8868[id].\u6E05\u7406\u51FD\u6570 = \u6E05\u7406\u51FD\u6570;
116
- }
117
- async \u53D1\u9001\u4FE1\u606F_\u5185\u90E8(id, data) {
118
- let log = (await this.log).extend("\u53D1\u9001\u4FE1\u606F(\u5185\u90E8)").extend(id);
119
- while (this.\u8FDE\u63A5\u8868[id]?.\u6570\u636E\u53D1\u9001\u4E2D === true) {
120
- await log.info("\u6570\u636E\u53D1\u9001\u4E2D, \u5C06\u9000\u907F.");
121
- let \u9000\u907F\u65F6\u95F4 = 100;
122
- await new Promise((res, _rej) => setTimeout(() => res(), \u9000\u907F\u65F6\u95F4));
123
- }
124
- let \u8FDE\u63A5 = this.\u8FDE\u63A5\u8868[id];
125
- if (\u8FDE\u63A5 === void 0) {
126
- await log.error("\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5");
127
- return;
128
- }
129
- await new Promise((res, rej) => {
130
- \u8FDE\u63A5.\u6570\u636E\u53D1\u9001\u4E2D = true;
131
- let ws\u53E5\u67C4 = \u8FDE\u63A5.ws;
132
- if (ws\u53E5\u67C4 === null) {
133
- log.error("\u65E0\u6CD5\u627E\u5230ws\u53E5\u67C4").catch(console.error);
134
- return;
135
- }
136
- ws\u53E5\u67C4.send(JSON.stringify(data), (err) => {
137
- if ((err ?? null) !== null) {
138
- log.error(err).catch(console.error);
139
- return rej(err);
140
- }
141
- log.debug("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F").catch(console.error);
142
- return res();
143
- });
144
- }).finally(() => {
145
- \u8FDE\u63A5.\u6570\u636E\u53D1\u9001\u4E2D = false;
146
- });
147
- }
148
- async \u53D1\u9001\u4FE1\u606F(id, data) {
149
- let log = (await this.log).extend("\u53D1\u9001\u4FE1\u606F").extend(id);
150
- if (this.\u8FDE\u63A5\u8868[id]?.\u5DF2\u5B8C\u6210 === true) {
151
- await log.error("\u8FDE\u63A5\u5DF2\u5B8C\u6210, \u65E0\u6CD5\u53D1\u9001\u6570\u636E.");
152
- return;
153
- }
154
- if (this.\u8FDE\u63A5\u8868[id]?.\u5DF2\u65AD\u5F00 === true) {
155
- await log.error("\u8FDE\u63A5\u5DF2\u65AD\u5F00, \u5C06\u7F13\u5B58\u6570\u636E.");
156
- this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.push(data);
157
- return;
158
- }
159
- while (this.\u8FDE\u63A5\u8868[id]?.\u7F13\u5B58\u53D1\u9001\u4E2D === true) {
160
- await log.info("\u7F13\u5B58\u53D1\u9001\u4E2D, \u5C06\u9000\u907F.");
161
- let \u9000\u907F\u65F6\u95F4 = 100;
162
- await new Promise((res, _rej) => setTimeout(() => res(), \u9000\u907F\u65F6\u95F4));
163
- }
164
- await this.\u53D1\u9001\u4FE1\u606F_\u5185\u90E8(id, data);
165
- }
166
- async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u5B8C\u6210(id) {
167
- if (this.\u8FDE\u63A5\u8868[id] === void 0)
168
- return;
169
- this.\u8FDE\u63A5\u8868[id].\u5DF2\u5B8C\u6210 = true;
170
- await this.\u9500\u6BC1\u5224\u5B9A(id);
171
- }
172
- async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u65AD\u5F00(id) {
173
- if (this.\u8FDE\u63A5\u8868[id] === void 0)
174
- return;
175
- this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = true;
176
- await this.\u9500\u6BC1\u5224\u5B9A(id);
177
- }
178
- async \u53D6\u6D88\u6807\u8BB0\u8FDE\u63A5\u5DF2\u65AD\u5F00(id) {
179
- if (this.\u8FDE\u63A5\u8868[id] === void 0)
180
- return;
181
- this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = false;
182
- await this.\u9500\u6BC1\u5224\u5B9A(id);
183
- }
184
- async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u9519\u8BEF(id) {
185
- if (this.\u8FDE\u63A5\u8868[id] === void 0)
186
- return;
187
- this.\u8FDE\u63A5\u8868[id].\u5DF2\u9519\u8BEF = true;
188
- await this.\u9500\u6BC1\u5224\u5B9A(id);
189
- }
190
- };
191
-
192
- // src/global/global.ts
193
- var Global = new import_ts_global.GlobalService([
194
- new import_ts_global.GlobalAsyncItem("log", async () => {
195
- return new import_ts_log.Log("@lsby:net-core");
196
- }),
197
- new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u5668", async () => {
198
- return new WebSocket\u7BA1\u7406\u5668();
199
- })
200
- ]);
201
-
202
- // src/interface/interface-logic.ts
26
+ var import_ts_fp_data = require("@lsby/ts-fp-data");
203
27
  var \u63A5\u53E3\u903B\u8F91 = class _\u63A5\u53E3\u903B\u8F91 {
204
- static \u6DF7\u5408(\u903B\u8F91\u4EEC) {
205
- return \u903B\u8F91\u4EEC.reduce((s, a) => s.\u6DF7\u5408(a));
28
+ static \u7A7A\u903B\u8F91() {
29
+ return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020([], async () => new import_ts_fp_data.Right({}));
206
30
  }
207
- static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0, \u903B\u8F91\u9644\u52A0\u53C2\u6570) {
31
+ static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0) {
208
32
  let c = new class extends _\u63A5\u53E3\u903B\u8F91 {
209
33
  \u83B7\u5F97\u63D2\u4EF6\u4EEC() {
210
34
  return \u63D2\u4EF6\u4EEC;
211
35
  }
212
- \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702) {
213
- return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702);
36
+ \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
37
+ return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
214
38
  }
215
39
  }();
216
- c.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = \u903B\u8F91\u9644\u52A0\u53C2\u6570 ?? {};
217
40
  return c;
218
41
  }
219
- \u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = {};
220
- \u8BBE\u7F6E\u903B\u8F91\u9644\u52A0\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
221
- return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020(this.\u83B7\u5F97\u63D2\u4EF6\u4EEC(), this.\u5B9E\u73B0, \u8BBE\u7F6E\u53C2\u6570);
222
- }
223
42
  async \u8FD0\u884C(req, res, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
224
- let log = (await Global.getItem("log")).extend(\u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u63A5\u53E3\u903B\u8F91");
43
+ let log = \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.log.extend("\u63A5\u53E3\u903B\u8F91");
225
44
  let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
226
45
  await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
227
46
  let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
@@ -233,17 +52,17 @@ var \u63A5\u53E3\u903B\u8F91 = class _\u63A5\u53E3\u903B\u8F91 {
233
52
  let \u5408\u5E76\u63D2\u4EF6\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => Object.assign(s, a), {});
234
53
  await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
235
54
  await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
236
- 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));
55
+ 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\u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
237
56
  await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
238
- return \u5B9E\u73B0\u7ED3\u679C;
57
+ return \u5B9E\u73B0\u7ED3\u679C.map((a) => ({ ...\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...a }));
239
58
  }
240
59
  \u6DF7\u5408(\u8F93\u5165) {
241
60
  let self = this;
242
- return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020([...this.\u83B7\u5F97\u63D2\u4EF6\u4EEC(), ...\u8F93\u5165.\u83B7\u5F97\u63D2\u4EF6\u4EEC()], async (\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570) => {
243
- let c = await self.\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
61
+ return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020([...this.\u83B7\u5F97\u63D2\u4EF6\u4EEC(), ...\u8F93\u5165.\u83B7\u5F97\u63D2\u4EF6\u4EEC()], async (\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) => {
62
+ let c = await self.\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
244
63
  if (c.isLeft())
245
64
  return c;
246
- return await \u8F93\u5165.\u5B9E\u73B0(\u53C2\u6570, Object.assign(\u903B\u8F91\u9644\u52A0\u53C2\u6570, c.assertRight().getRight()));
65
+ return await \u8F93\u5165.\u5B9E\u73B0(\u53C2\u6570, { ...\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...c.assertRight().getRight() }, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
247
66
  });
248
67
  }
249
68
  };
@@ -1,61 +1,7 @@
1
- import { Either } from '@lsby/ts-fp-data';
2
- import { Request, Response } from 'express';
3
- import { 插件项类型 as _____, 合并插件结果 as ______, 插件附加参数 as ______$1 } from '../plugin/plug.cjs';
1
+ import '@lsby/ts-fp-data';
2
+ import 'express';
3
+ import '../help/help.cjs';
4
+ export { l as 任意接口逻辑, 可 as 可调用接口逻辑, k as 接口逻辑, i as 接口逻辑正确类型, h as 接口逻辑错误类型, j as 接口逻辑附加参数类型, m as 获得接口逻辑插件类型, p as 获得接口逻辑正确类型, o as 获得接口逻辑错误类型, n as 获得接口逻辑附加参数类型, q as 计算接口逻辑正确结果, 计 as 计算接口逻辑错误结果 } from '../interface-base-CFXGjV5S.cjs';
4
5
  import 'zod';
5
-
6
- type 计算混合单一组合<A, B> = A extends 接口逻辑<infer A插件类型, infer A附加参数, infer A错误, infer A返回> ? B extends 接口逻辑<infer B插件类型, infer B附加参数, infer B错误, infer B返回> ? 接口逻辑<[...A插件类型, ...B插件类型], A附加参数 & Omit<B附加参数, keyof A返回>, A错误 | B错误, A返回 & B返回> : never : never;
7
- type 计算混合组合数组<Arr> = Arr extends [infer x] ? x : Arr extends [infer x, infer y] ? 计算混合单一组合<x, y> : Arr extends [infer x, infer y, ...infer s] ? 计算混合组合数组<[计算混合单一组合<x, y>, ...s]> : never;
8
- type 接口逻辑错误类型 = string | never;
9
- type 接口逻辑正确类型 = Record<string, any>;
10
- type 接口逻辑附加参数类型 = Record<string, any>;
11
- /**
12
- * # 接口逻辑的基础抽象类
13
- *
14
- * - 该类表示一个接口的逻辑执行过程, 包括插件的运行, 结果的合并以及业务逻辑的实际执行.
15
- * - 插件提供预处理功能, 例如参数解析等, 它通过解析express的上下文, 获得结果并提供给实现.
16
- * - 实现函数负责业务逻辑的主要操作, 例如数据库查询等, 它接收插件的处理结果, 并返回计算结果(用Either表示).
17
- * - 运行时除了获得express上下文外, 还可以接收自定义参数, 称为`逻辑附加参数`.
18
- * - 每个接口逻辑实例可以通过一些方法与其他接口逻辑合并, 形成一个复杂的流程.
19
- *
20
- * ## 构造:
21
- *
22
- * - 可以通过继承该抽象类, 并实现抽象函数来使用.
23
- * - 也可以通过静态方法`构造`来直接进行构造.
24
- *
25
- * ## 组合
26
- *
27
- * 通过组合, 可以将简单的逻辑模块化, 并按需构建复杂的接口处理流程.
28
- *
29
- * ### 混合
30
- *
31
- * - 该类提供了`混合`方法, 用于将多个接口逻辑实例合成一个复合接口逻辑.
32
- * - 组合的接口逻辑会按顺序依次被调用.
33
- * - 如果某接口逻辑返回左值, 则整个结构将立即返回该左值.
34
- * - 否则, 将右值内容注入上下文, 允许之后的接口逻辑通过`逻辑附加参数`访问它.
35
- * - 最终将返回最后一个接口逻辑的运行结果.
36
- * - 这类似于monad的do结构, 在该结构中, 每个运行结果都会被注入到全局上下文并消除monad包装, 而语句可以使用上下文的值.
37
- *
38
- * ### 其他组合方法用到再写
39
- */
40
- declare abstract class 接口逻辑<插件类型 extends _____[], 逻辑附加参数类型 extends 接口逻辑附加参数类型, 错误类型 extends 接口逻辑错误类型, 返回类型 extends 接口逻辑正确类型> {
41
- static 混合<逻辑们 extends 任意接口逻辑[]>(逻辑们: [...逻辑们]): 计算混合组合数组<逻辑们>;
42
- static 构造<插件类型 extends _____[], 逻辑附加参数类型 extends 接口逻辑附加参数类型, 错误类型 extends 接口逻辑错误类型, 返回类型 extends 接口逻辑正确类型>(插件们: [...插件类型], 实现: (参数: ______<插件类型>, 逻辑附加参数: 逻辑附加参数类型) => Promise<Either<错误类型, 返回类型>>, 逻辑附加参数?: Partial<逻辑附加参数类型> | undefined): 接口逻辑<插件类型, 逻辑附加参数类型, 错误类型, 返回类型>;
43
- private 内部的逻辑附加参数;
44
- protected readonly __类型保持符号?: [插件类型, 逻辑附加参数类型, 错误类型, 返回类型];
45
- abstract 获得插件们(): [...插件类型];
46
- abstract 实现(参数: ______<插件类型>, 逻辑附加参数: 逻辑附加参数类型): Promise<Either<错误类型, 返回类型>>;
47
- 设置逻辑附加参数<A extends Partial<逻辑附加参数类型>>(设置参数: A): 接口逻辑<插件类型, Omit<逻辑附加参数类型, keyof A>, 错误类型, 返回类型>;
48
- 运行(req: Request, res: Response, 传入的逻辑附加参数: 逻辑附加参数类型, 传入的插件附加参数: ______$1): Promise<Either<错误类型, 返回类型>>;
49
- 混合<输入的插件类型 extends _____[], 输入的错误类型 extends 接口逻辑错误类型, 输入的返回类型 extends 接口逻辑正确类型>(输入: 接口逻辑<输入的插件类型, 返回类型, 输入的错误类型, 输入的返回类型>): 接口逻辑<[
50
- ...插件类型,
51
- ...输入的插件类型
52
- ], 逻辑附加参数类型, 错误类型 | 输入的错误类型, 返回类型 & 输入的返回类型>;
53
- }
54
- type 任意接口逻辑 = 接口逻辑<any, any, any, any>;
55
- type 可调用接口逻辑 = 接口逻辑<any, Record<string, never>, any, any>;
56
- type 获得接口逻辑插件类型<A> = A extends 接口逻辑<infer X, any, any, any> ? X : never;
57
- type 获得接口逻辑附加参数类型<A> = A extends 接口逻辑<any, infer X, any, any> ? X : never;
58
- type 获得接口逻辑错误类型<A> = A extends 接口逻辑<any, any, infer X, any> ? X : never;
59
- type 获得接口逻辑正确类型<A> = A extends 接口逻辑<any, any, any, infer X> ? X : never;
60
-
61
- export { type 任意接口逻辑, type 可调用接口逻辑, 接口逻辑, type 接口逻辑正确类型, type 接口逻辑错误类型, type 接口逻辑附加参数类型, type 获得接口逻辑插件类型, type 获得接口逻辑正确类型, type 获得接口逻辑错误类型, type 获得接口逻辑附加参数类型 };
6
+ import '@lsby/ts-log';
7
+ import 'node:http';
@@ -20,8 +20,8 @@ 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,
23
24
  \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
24
- \u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
25
25
  \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668
26
26
  });
27
27
  module.exports = __toCommonJS(interface_result_exports);
@@ -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 \u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
45
+ var \u5E38\u7528\u5EF6\u65F6\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()();
53
53
  }
54
54
  default: {
55
55
  throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
@@ -59,7 +59,7 @@ var \u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A
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,
62
63
  \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
63
- \u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
64
64
  \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668
65
65
  });
@@ -1,40 +1,7 @@
1
- import { Either } from '@lsby/ts-fp-data';
2
- import { 接口逻辑错误类型 as ________, 接口逻辑正确类型 as ________$1 } from './interface-logic.cjs';
3
- import 'express';
4
- import '../plugin/plug.cjs';
1
+ import '@lsby/ts-fp-data';
2
+ export { s as 任意接口结果转换器, t as 常用延时直接形式转换器, 常 as 常用形式转换器, r as 接口结果转换器 } from '../interface-base-CFXGjV5S.cjs';
5
3
  import 'zod';
6
-
7
- /**
8
- * 描述接口逻辑返回的数据将以何种形式返回给前端.
9
- */
10
- declare abstract class 接口结果转换器<实现错误类型 extends ________, 实现正确类型 extends ________$1, 接口错误形式, 接口正确形式> {
11
- protected readonly __类型保持符号?: [实现错误类型, 实现正确类型, 接口错误形式, 接口正确形式];
12
- abstract 实现(数据: Either<实现错误类型, 实现正确类型>): 接口错误形式 | 接口正确形式;
13
- }
14
- type 任意接口结果转换器 = 接口结果转换器<any, any, any, any>;
15
- declare class 常用形式转换器<实现错误类型 extends ________, 实现正确类型 extends ________$1> extends 接口结果转换器<实现错误类型, 实现正确类型, {
16
- status: 'fail';
17
- data: 实现错误类型;
18
- }, {
19
- status: 'success';
20
- data: 实现正确类型;
21
- }> {
22
- 实现(数据: Either<实现错误类型, 实现正确类型>): {
23
- status: 'fail';
24
- data: 实现错误类型;
25
- } | {
26
- status: 'success';
27
- data: 实现正确类型;
28
- };
29
- }
30
- declare class 延时直接形式转换器<T, 实现错误类型 extends ________, 实现正确类型 extends Record<'fn', () => T>> extends 接口结果转换器<实现错误类型, 实现正确类型, {
31
- status: 'fail';
32
- data: 实现错误类型;
33
- }, T> {
34
- 实现(数据: Either<实现错误类型, 实现正确类型>): {
35
- status: 'fail';
36
- data: 实现错误类型;
37
- } | T;
38
- }
39
-
40
- export { type 任意接口结果转换器, 常用形式转换器, 延时直接形式转换器, 接口结果转换器 };
4
+ import 'express';
5
+ import '../help/help.cjs';
6
+ import '@lsby/ts-log';
7
+ import 'node:http';