@lsby/net-core 0.3.28 → 0.3.30

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 (57) hide show
  1. package/dist/bin/gen-list/bin.cjs +27 -47
  2. package/dist/bin/gen-list/index.cjs +27 -47
  3. package/dist/bin/gen-test/bin.cjs +27 -33
  4. package/dist/bin/gen-test/index.cjs +27 -33
  5. package/dist/bin/gen-type/bin.cjs +39 -64
  6. package/dist/bin/gen-type/index.cjs +39 -64
  7. package/dist/cjs/action/action.cjs +20 -11
  8. package/dist/cjs/action/action.d.cts +19 -17
  9. package/dist/cjs/bin/gen-list/bin.cjs +27 -47
  10. package/dist/cjs/bin/gen-list/index.cjs +27 -47
  11. package/dist/cjs/bin/gen-test/bin.cjs +27 -33
  12. package/dist/cjs/bin/gen-test/index.cjs +27 -33
  13. package/dist/cjs/bin/gen-type/bin.cjs +39 -64
  14. package/dist/cjs/bin/gen-type/index.cjs +39 -64
  15. package/dist/cjs/index.cjs +46 -31
  16. package/dist/cjs/index.d.cts +3 -3
  17. package/dist/cjs/interface/extend/json-base.cjs +11 -134
  18. package/dist/cjs/interface/extend/json-base.d.cts +11 -7
  19. package/dist/cjs/interface/extend/json-wrap.cjs +12 -145
  20. package/dist/cjs/interface/extend/json-wrap.d.cts +13 -13
  21. package/dist/cjs/interface/interface-inst.cjs +1 -134
  22. package/dist/cjs/interface/interface-inst.d.cts +8 -11
  23. package/dist/cjs/interface/interface-test.cjs +4 -1
  24. package/dist/cjs/interface/interface-test.d.cts +5 -5
  25. package/dist/cjs/interface/interface-type.d.cts +2 -3
  26. package/dist/cjs/server/server.d.cts +3 -4
  27. package/dist/esm/action/action.d.ts +19 -17
  28. package/dist/esm/action/action.js +1 -1
  29. package/dist/esm/bin/gen-list/bin.js +1 -1
  30. package/dist/esm/bin/gen-list/index.js +1 -1
  31. package/dist/esm/bin/gen-test/bin.js +1 -1
  32. package/dist/esm/bin/gen-test/index.js +1 -1
  33. package/dist/esm/bin/gen-type/bin.js +1 -1
  34. package/dist/esm/bin/gen-type/index.js +1 -1
  35. package/dist/esm/{chunk-SFNQ5AWH.js → chunk-25X7QZ6T.js} +4 -1
  36. package/dist/esm/chunk-B55VVACL.js +29 -0
  37. package/dist/esm/{chunk-T3WICQWT.js → chunk-B6PEMS6O.js} +20 -11
  38. package/dist/esm/chunk-G4P3OAFL.js +7 -0
  39. package/dist/esm/{chunk-G73B4M36.js → chunk-MXNVJRJT.js} +27 -47
  40. package/dist/esm/{chunk-YRW76W44.js → chunk-PVTF4VYK.js} +9 -11
  41. package/dist/esm/{chunk-6QNJCAAV.js → chunk-SMAC5ZMF.js} +39 -64
  42. package/dist/esm/{chunk-GWWQPWGC.js → chunk-UABF4235.js} +27 -33
  43. package/dist/esm/index.d.ts +3 -3
  44. package/dist/esm/index.js +7 -7
  45. package/dist/esm/interface/extend/json-base.d.ts +11 -7
  46. package/dist/esm/interface/extend/json-base.js +2 -3
  47. package/dist/esm/interface/extend/json-wrap.d.ts +13 -13
  48. package/dist/esm/interface/extend/json-wrap.js +2 -3
  49. package/dist/esm/interface/interface-inst.d.ts +8 -11
  50. package/dist/esm/interface/interface-inst.js +1 -2
  51. package/dist/esm/interface/interface-test.d.ts +5 -5
  52. package/dist/esm/interface/interface-test.js +1 -1
  53. package/dist/esm/interface/interface-type.d.ts +2 -3
  54. package/dist/esm/server/server.d.ts +3 -4
  55. package/package.json +3 -3
  56. package/dist/esm/chunk-E7N7HVWO.js +0 -14
  57. package/dist/esm/chunk-FBFLXFIL.js +0 -21
@@ -23,140 +23,7 @@ __export(interface_inst_exports, {
23
23
  \u63A5\u53E3: () => \u63A5\u53E3
24
24
  });
25
25
  module.exports = __toCommonJS(interface_inst_exports);
26
-
27
- // src/action/action.ts
28
- var import_ts_fp_data = require("@lsby/ts-fp-data");
29
- var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
30
- // ================================= 静态 =================================
31
- static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
32
- return new class extends _\u4E1A\u52A1\u884C\u4E3A {
33
- async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
34
- return \u5B9E\u73B0(\u53C2\u6570);
35
- }
36
- }();
37
- }
38
- static \u901A\u8FC7\u6B63\u786E\u503C\u6784\u9020(a) {
39
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Right(a));
40
- }
41
- static \u901A\u8FC7\u9519\u8BEF\u503C\u6784\u9020(a) {
42
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Left(a));
43
- }
44
- static \u6D41\u5F0F\u7EC4\u5408(a, b) {
45
- return a.\u6D41\u5F0F\u7EC4\u5408(b);
46
- }
47
- static \u6DF7\u5408\u7EC4\u5408(a, b) {
48
- return a.\u6DF7\u5408\u7EC4\u5408(b);
49
- }
50
- /**
51
- * 对多个项混合组合
52
- */
53
- static \u6DF7\u5408\u7EC4\u5408\u591A\u9879(arr) {
54
- return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
55
- }
56
- /**
57
- * 同时运行多个行为, 并提供一个函数处理它们的结果
58
- * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
59
- * 处理函数的类型是: 所有行为的结果合并 => 泛型A
60
- * 新行为的类型是:
61
- * - 参数: 所有行为的参数合并
62
- * - 错误: 所有行为的错误合并
63
- * - 返回值: 泛型A
64
- */
65
- static \u5E76\u884C\u7EC4\u5408(arr, f) {
66
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
67
- var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570)));
68
- var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
69
- if (\u9519\u8BEF)
70
- return \u9519\u8BEF;
71
- var \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
72
- return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
73
- });
74
- }
75
- // ================================= 设置 =================================
76
- \u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
77
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
78
- return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
79
- });
80
- }
81
- // ================================= 运行 =================================
82
- async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
83
- try {
84
- return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
85
- } catch (e) {
86
- throw e;
87
- }
88
- }
89
- // ================================= 组合 =================================
90
- /**
91
- * 将两个行为串接, 得到一个新行为, 新行为的类型是:
92
- * - 参数: a行为的参数
93
- * - 错误: a行为的错误+b行为的错误
94
- * - 返回值: b行为的返回值
95
- */
96
- \u6D41\u5F0F\u7EC4\u5408(b) {
97
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
98
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
99
- if (\u6211\u7684\u7ED3\u679C.isLeft())
100
- return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
101
- return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
102
- });
103
- }
104
- /**
105
- * 将两个行为串接, 得到一个新的行为
106
- * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
107
- * 新行为的类型是:
108
- * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
109
- * - 错误: a行为的错误+b行为的错误
110
- * - 返回值: a行为的返回值+b行为的返回值
111
- */
112
- \u6DF7\u5408\u7EC4\u5408(b) {
113
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
114
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
115
- if (\u6211\u7684\u7ED3\u679C.isLeft())
116
- return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
117
- var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
118
- return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
119
- });
120
- }
121
- // ================================= 映射 =================================
122
- \u6620\u5C04\u7ED3\u679C(f) {
123
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
124
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
125
- if (\u6211\u7684\u7ED3\u679C.isLeft())
126
- return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
127
- return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
128
- });
129
- }
130
- \u6620\u5C04\u9519\u8BEF(f) {
131
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
132
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
133
- if (\u6211\u7684\u7ED3\u679C.isLeft())
134
- return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
135
- return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
136
- });
137
- }
138
- /**
139
- * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
140
- * 新行为的类型是:
141
- * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
142
- * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
143
- * - 返回值: 自定义数据
144
- */
145
- \u7ED1\u5B9A(f) {
146
- return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
147
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
148
- if (\u6211\u7684\u7ED3\u679C.isLeft())
149
- return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
150
- return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
151
- });
152
- }
153
- };
154
-
155
- // src/interface/interface-inst.ts
156
- var \u63A5\u53E3 = class extends \u4E1A\u52A1\u884C\u4E3A {
157
- \u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
158
- return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230\u63A5\u53E3\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
159
- }
26
+ var \u63A5\u53E3 = class {
160
27
  };
161
28
  // Annotate the CommonJS export names for ESM import in node:
162
29
  0 && (module.exports = {
@@ -1,19 +1,16 @@
1
1
  import { z } from 'zod';
2
- import { Either } from '@lsby/ts-fp-data';
3
- import { 业务行为 as ____ } from '../action/action.cjs';
4
2
  import { 合并插件结果 as ______ } from '../plugin/plug.cjs';
5
- import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../result/result.cjs';
6
- import { 接口类型插件们 as _______, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 任意接口类型 as ______$1, 有效的接口类型 as _______$1 } from './interface-type.cjs';
3
+ import { 正确结果 as ____, 错误结果 as ____$1 } from '../result/result.cjs';
4
+ import { 接口类型插件们 as _______, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1, 任意接口类型 as ______$1 } from './interface-type.cjs';
7
5
  import 'express';
6
+ import '@lsby/ts-fp-data';
8
7
 
9
8
  type 计算接口参数<接口类型描述> = ______<_______<接口类型描述>>;
10
- type 计算接口返回<接口类型描述> = Promise<Either<z.infer<________<接口类型描述>>, z.infer<________$1<接口类型描述>>>>;
11
- declare abstract class 接口<接口类型描述 extends ______$1> extends ____<计算接口参数<接口类型描述>, z.infer<________<接口类型描述>>, z.infer<________$1<接口类型描述>>> {
12
- protected abstract 业务行为实现(参数: 计算接口参数<接口类型描述>): 计算接口返回<接口类型描述>;
9
+ type 计算接口返回<接口类型描述> = Promise<____<z.infer<________<接口类型描述>>> | ____$1<z.infer<________$1<接口类型描述>>>>;
10
+ declare abstract class 接口<接口类型描述 extends ______$1> {
13
11
  abstract 获得接口类型(): 接口类型描述;
14
- 接口实现(参数: 计算接口参数<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
15
- abstract 转换业务结果到接口结果(业务结果: 计算接口返回<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
12
+ abstract 接口实现(参数: 计算接口参数<接口类型描述>): 计算接口返回<接口类型描述>;
16
13
  }
17
- type 有效的接口 = 接口<_______$1>;
14
+ type 任意接口 = 接口<any>;
18
15
 
19
- export { 接口, type 有效的接口, type 计算接口参数, type 计算接口返回 };
16
+ export { type 任意接口, 接口, type 计算接口参数, type 计算接口返回 };
@@ -24,7 +24,10 @@ __export(interface_test_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(interface_test_exports);
26
26
  var \u63A5\u53E3\u6D4B\u8BD5 = class {
27
- constructor() {
27
+ constructor(\u524D\u7F6E\u5B9E\u73B0, \u4E2D\u7F6E\u5B9E\u73B0, \u540E\u7F6E\u5B9E\u73B0) {
28
+ this.\u524D\u7F6E\u5B9E\u73B0 = \u524D\u7F6E\u5B9E\u73B0;
29
+ this.\u4E2D\u7F6E\u5B9E\u73B0 = \u4E2D\u7F6E\u5B9E\u73B0;
30
+ this.\u540E\u7F6E\u5B9E\u73B0 = \u540E\u7F6E\u5B9E\u73B0;
28
31
  }
29
32
  async \u8FD0\u884C() {
30
33
  await this.\u524D\u7F6E\u5B9E\u73B0();
@@ -1,8 +1,8 @@
1
- declare abstract class 接口测试 {
2
- constructor();
3
- abstract 前置实现(): Promise<void>;
4
- abstract 中置实现(): Promise<object>;
5
- abstract 后置实现(中置结果: object): Promise<void>;
1
+ declare class 接口测试 {
2
+ private 前置实现;
3
+ private 中置实现;
4
+ private 后置实现;
5
+ constructor(前置实现: () => Promise<void>, 中置实现: () => Promise<object>, 后置实现: (中置结果: object) => Promise<void>);
6
6
  运行(): Promise<void>;
7
7
  }
8
8
 
@@ -8,7 +8,7 @@ type 接口类型方法<A> = A extends 接口类型<infer _A1, infer A2, infer _
8
8
  type 接口类型插件们<A> = A extends 接口类型<infer _A1, infer _A2, infer A3, infer _A4, infer _A5> ? A3 : never;
9
9
  type 接口类型正确结果<A> = A extends 接口类型<infer _A1, infer _A2, infer _A3, infer A4, infer _A5> ? A4 : never;
10
10
  type 接口类型错误结果<A> = A extends 接口类型<infer _A1, infer _A2, infer _A3, infer _A4, infer A5> ? A5 : never;
11
- declare class 接口类型<路径 extends string | null, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> {
11
+ declare class 接口类型<路径 extends string, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> {
12
12
  private 路径;
13
13
  private 方法;
14
14
  private 插件们;
@@ -23,7 +23,6 @@ declare class 接口类型<路径 extends string | null, 方法 extends 'get' |
23
23
  获得错误结果类型(): 错误结果类型;
24
24
  }
25
25
  type 任意接口类型 = 接口类型<any, any, any, any, any>;
26
- type 有效的接口类型 = 接口类型<string, any, any, any, any>;
27
26
  type 获得接口插件们<接口类型描述> = 接口类型描述 extends 接口类型<any, any, infer 插件, any, any> ? 插件 : never;
28
27
 
29
- export { type 任意接口类型, 接口类型, type 接口类型插件们, type 接口类型方法, type 接口类型正确结果, type 接口类型路径, type 接口类型错误结果, type 有效的接口类型, type 获得接口插件们 };
28
+ export { type 任意接口类型, 接口类型, type 接口类型插件们, type 接口类型方法, type 接口类型正确结果, type 接口类型路径, type 接口类型错误结果, type 获得接口插件们 };
@@ -1,10 +1,9 @@
1
1
  import * as http from 'node:http';
2
- import { 有效的接口 as _____ } from '../interface/interface-inst.cjs';
2
+ import { 任意接口 as ____ } from '../interface/interface-inst.cjs';
3
3
  import 'zod';
4
- import '@lsby/ts-fp-data';
5
- import '../action/action.cjs';
6
4
  import '../plugin/plug.cjs';
7
5
  import 'express';
6
+ import '@lsby/ts-fp-data';
8
7
  import '../result/result.cjs';
9
8
  import '../interface/interface-type.cjs';
10
9
 
@@ -13,7 +12,7 @@ declare class 服务器 {
13
12
  private 端口;
14
13
  private 静态资源路径?;
15
14
  private log;
16
- constructor(接口们: _____[], 端口: number, 静态资源路径?: string | undefined);
15
+ constructor(接口们: ____[], 端口: number, 静态资源路径?: string | undefined);
17
16
  run(): Promise<{
18
17
  ip: string[];
19
18
  server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
@@ -12,36 +12,30 @@ type 计算业务行为参数<A> = A extends 业务行为<infer 参数, infer _
12
12
  type 计算业务行为错误<A> = A extends 业务行为<infer _参数, infer 错误, infer _返回> ? 错误 : never;
13
13
  type 计算业务行为返回<A> = A extends 业务行为<infer _参数, infer _错误, infer 返回> ? 返回 : never;
14
14
  /**
15
- * ## 业务行为
15
+ * # 业务行为
16
16
  *
17
17
  * 业务行为是代码中业务逻辑的抽象表示
18
18
  * 其本质是一个执行特定业务逻辑的函数
19
+ *
20
+ * ## 特点
21
+ *
19
22
  * 其特点是:
20
23
  * - 业务相关: 比起普通函数, 特化了一部分逻辑, 以更好的适应业务逻辑的需要
21
- * - 类型安全: 遵循 先类型 后实现 的原则
24
+ * - 类型安全: 严格的类型控制
22
25
  * - 可组合: 基于该模型, 可以创建出各种具有想象力的组合模式
23
26
  *
24
27
  * ## 实现
25
28
  *
26
29
  * 对于业务行为而言, 至少应该明确:
27
- * - 参数: 该函数需要的信息
28
- * - 错误: 该函数可能发生的错误
29
- * - 返回: 该函数正确执行时返回的数据
30
+ * - 参数: 该函数需要的信息, 必须是对象
31
+ * - 错误: 该函数可能发生的错误, 错误只能是字符串, 如果不可能产生错误使用never
32
+ * - 返回: 该函数正确执行时返回的数据, 必须是对象
30
33
  *
31
- * 当编写一个业务行为时, 必须先明确以上值的类型, 然后继承该基类进行实现
34
+ * 当编写一个业务行为时, 必须先明确以上类型, 然后继承该基类进行实现
32
35
  *
33
- * 实现中, 可以获得参数.
36
+ * 实现中, 可以获得调用时提供的参数.
34
37
  * 实现中, 必须返回一个左值或一个右值, 当然也可能意外抛出错误
35
- * 当意外的抛出错误时, 会原封不动的抛出错误
36
- *
37
- * ## 组合
38
- *
39
- * 可以将业务逻辑进行组合, 创造出新的业务逻辑
40
- *
41
- * ## 使用
42
- *
43
- * 通过`运行业务行为`来执行该业务行为
44
- * 这将会得到实现中返回的结果
38
+ * 当意外的抛出错误时, 不同的调用方法处理不一样
45
39
  */
46
40
  declare abstract class 业务行为<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型> {
47
41
  static 通过实现构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(实现: (参数: 参数类型) => Promise<Either<错误类型, 返回类型>>): 业务行为<参数类型, 错误类型, 返回类型>;
@@ -63,9 +57,17 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
63
57
  * - 返回值: 泛型A
64
58
  */
65
59
  static 并行组合<X extends 任意业务行为[], A extends 业务行为返回类型>(arr: [...X], f: (a: 计算业务行为返回<计算合并<X>>) => Promise<A>): 业务行为<计算业务行为参数<计算合并<X>>, 计算业务行为错误<计算合并<X>>, A>;
60
+ protected _业务行为实现_不变标注?: (参数: 参数类型) => Promise<Either<错误类型, 返回类型>>;
66
61
  protected abstract 业务行为实现(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
67
62
  设置参数<A extends Partial<参数类型>>(设置参数: A): 业务行为<Omit<参数类型, keyof A>, 错误类型, 返回类型>;
63
+ /**
64
+ * 运行业务行为, 如果抛出错误, 则原封不动向上抛出
65
+ */
68
66
  运行业务行为(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
67
+ /**
68
+ * 运行业务行为, 如果抛出错误, 则将错误值强制转换为字符串, 并包装为Error抛出
69
+ */
70
+ 运行业务行为并包装(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
69
71
  /**
70
72
  * 将两个行为串接, 得到一个新行为, 新行为的类型是:
71
73
  * - 参数: a行为的参数
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  业务行为
3
- } from "../chunk-T3WICQWT.js";
3
+ } from "../chunk-B6PEMS6O.js";
4
4
  export {
5
5
  \u4E1A\u52A1\u884C\u4E3A
6
6
  };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "../../chunk-G73B4M36.js";
4
+ } from "../../chunk-MXNVJRJT.js";
5
5
 
6
6
  // src/bin/gen-list/bin.ts
7
7
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  main
3
- } from "../../chunk-G73B4M36.js";
3
+ } from "../../chunk-MXNVJRJT.js";
4
4
  export {
5
5
  main
6
6
  };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "../../chunk-GWWQPWGC.js";
4
+ } from "../../chunk-UABF4235.js";
5
5
 
6
6
  // src/bin/gen-test/bin.ts
7
7
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  main
3
- } from "../../chunk-GWWQPWGC.js";
3
+ } from "../../chunk-UABF4235.js";
4
4
  export {
5
5
  main
6
6
  };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "../../chunk-6QNJCAAV.js";
4
+ } from "../../chunk-SMAC5ZMF.js";
5
5
  import "../../chunk-TW4ZMOLY.js";
6
6
 
7
7
  // src/bin/gen-type/bin.ts
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  main
3
- } from "../../chunk-6QNJCAAV.js";
3
+ } from "../../chunk-SMAC5ZMF.js";
4
4
  import "../../chunk-TW4ZMOLY.js";
5
5
  export {
6
6
  main
@@ -1,6 +1,9 @@
1
1
  // src/interface/interface-test.ts
2
2
  var \u63A5\u53E3\u6D4B\u8BD5 = class {
3
- constructor() {
3
+ constructor(\u524D\u7F6E\u5B9E\u73B0, \u4E2D\u7F6E\u5B9E\u73B0, \u540E\u7F6E\u5B9E\u73B0) {
4
+ this.\u524D\u7F6E\u5B9E\u73B0 = \u524D\u7F6E\u5B9E\u73B0;
5
+ this.\u4E2D\u7F6E\u5B9E\u73B0 = \u4E2D\u7F6E\u5B9E\u73B0;
6
+ this.\u540E\u7F6E\u5B9E\u73B0 = \u540E\u7F6E\u5B9E\u73B0;
4
7
  }
5
8
  async \u8FD0\u884C() {
6
9
  await this.\u524D\u7F6E\u5B9E\u73B0();
@@ -0,0 +1,29 @@
1
+ import {
2
+ 接口
3
+ } from "./chunk-G4P3OAFL.js";
4
+ import {
5
+ 正确JSON结果,
6
+ 错误JSON结果
7
+ } from "./chunk-IPDMEQ3O.js";
8
+
9
+ // src/interface/extend/json-base.ts
10
+ var JSON\u63A5\u53E3 = class extends \u63A5\u53E3 {
11
+ constructor(\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0, \u4E1A\u52A1\u884C\u4E3A) {
12
+ super();
13
+ this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0 = \u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
14
+ this.\u4E1A\u52A1\u884C\u4E3A = \u4E1A\u52A1\u884C\u4E3A;
15
+ }
16
+ \u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
17
+ return this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
18
+ }
19
+ async \u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
20
+ var c = await this.\u4E1A\u52A1\u884C\u4E3A.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
21
+ if (c.isLeft())
22
+ return new \u9519\u8BEFJSON\u7ED3\u679C(c.assertLeft().getLeft());
23
+ return new \u6B63\u786EJSON\u7ED3\u679C(c.assertRight().getRight());
24
+ }
25
+ };
26
+
27
+ export {
28
+ JSON接口
29
+ };
@@ -38,7 +38,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
38
38
  */
39
39
  static \u5E76\u884C\u7EC4\u5408(arr, f) {
40
40
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
41
- var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570)));
41
+ var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570)));
42
42
  var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
43
43
  if (\u9519\u8BEF)
44
44
  return \u9519\u8BEF;
@@ -49,15 +49,24 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
49
49
  // ================================= 设置 =================================
50
50
  \u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
51
51
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
52
- return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
52
+ return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
53
53
  });
54
54
  }
55
55
  // ================================= 运行 =================================
56
+ /**
57
+ * 运行业务行为, 如果抛出错误, 则原封不动向上抛出
58
+ */
56
59
  async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
60
+ return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
61
+ }
62
+ /**
63
+ * 运行业务行为, 如果抛出错误, 则将错误值强制转换为字符串, 并包装为Error抛出
64
+ */
65
+ async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A\u5E76\u5305\u88C5(\u53C2\u6570) {
57
66
  try {
58
67
  return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
59
68
  } catch (e) {
60
- throw e;
69
+ throw new Error(String(e));
61
70
  }
62
71
  }
63
72
  // ================================= 组合 =================================
@@ -69,10 +78,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
69
78
  */
70
79
  \u6D41\u5F0F\u7EC4\u5408(b) {
71
80
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
72
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
81
+ const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
73
82
  if (\u6211\u7684\u7ED3\u679C.isLeft())
74
83
  return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
75
- return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
84
+ return b.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
76
85
  });
77
86
  }
78
87
  /**
@@ -85,17 +94,17 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
85
94
  */
86
95
  \u6DF7\u5408\u7EC4\u5408(b) {
87
96
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
88
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
97
+ const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
89
98
  if (\u6211\u7684\u7ED3\u679C.isLeft())
90
99
  return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
91
- var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
100
+ var \u5BF9\u65B9\u7ED3\u679C = await b.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
92
101
  return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
93
102
  });
94
103
  }
95
104
  // ================================= 映射 =================================
96
105
  \u6620\u5C04\u7ED3\u679C(f) {
97
106
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
98
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
107
+ const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
99
108
  if (\u6211\u7684\u7ED3\u679C.isLeft())
100
109
  return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
101
110
  return Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
@@ -103,7 +112,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
103
112
  }
104
113
  \u6620\u5C04\u9519\u8BEF(f) {
105
114
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
106
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
115
+ const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
107
116
  if (\u6211\u7684\u7ED3\u679C.isLeft())
108
117
  return new Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
109
118
  return Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
@@ -118,10 +127,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
118
127
  */
119
128
  \u7ED1\u5B9A(f) {
120
129
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
121
- const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
130
+ const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
122
131
  if (\u6211\u7684\u7ED3\u679C.isLeft())
123
132
  return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
124
- return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
133
+ return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
125
134
  });
126
135
  }
127
136
  };
@@ -0,0 +1,7 @@
1
+ // src/interface/interface-inst.ts
2
+ var \u63A5\u53E3 = class {
3
+ };
4
+
5
+ export {
6
+ 接口
7
+ };
@@ -5,25 +5,22 @@ import path from "node:path";
5
5
  import L from "lodash";
6
6
  import ts from "typescript";
7
7
  import { Log } from "@lsby/ts-log";
8
- function \u63D0\u53D6\u9876\u7EA7\u5BFC\u51FA\u7C7B\u8282\u70B9(\u6E90\u6587\u4EF6) {
9
- const \u7C7B\u8282\u70B9\u6570\u7EC4 = [];
10
- const visit = (\u8282\u70B9) => {
11
- if (ts.isClassDeclaration(\u8282\u70B9) && ts.getModifiers(\u8282\u70B9)?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword)) {
12
- \u7C7B\u8282\u70B9\u6570\u7EC4.push(\u8282\u70B9);
8
+ function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
9
+ for (const statement of \u6E90\u6587\u4EF6.statements) {
10
+ if (ts.isExportAssignment(statement) && statement.isExportEquals === void 0) {
11
+ return true;
13
12
  }
14
- ts.forEachChild(\u8282\u70B9, visit);
15
- };
16
- ts.forEachChild(\u6E90\u6587\u4EF6, visit);
17
- return \u7C7B\u8282\u70B9\u6570\u7EC4;
13
+ }
14
+ return false;
18
15
  }
19
16
  function \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(\u5B57\u7B26\u4E32) {
20
17
  return "_" + \u5B57\u7B26\u4E32.replace(/[ !\-!@#$%^&*()\[\]{}\\|;:'",.\/?]/g, "_");
21
18
  }
22
19
  function \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a) {
23
- return \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(path.relative(path.dirname(tsconfig\u8DEF\u5F84), a.\u6587\u4EF6.fileName) + "_" + a.\u7C7B\u8282\u70B9.name?.text);
20
+ return \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(path.relative(path.dirname(tsconfig\u8DEF\u5F84), a.fileName));
24
21
  }
25
22
  function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a) {
26
- return path.relative(path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a["\u6587\u4EF6"].fileName).replaceAll("\\", "/").replaceAll(".ts", "");
23
+ return path.relative(path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a.fileName).replaceAll("\\", "/").replaceAll(".ts", "");
27
24
  }
28
25
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
29
26
  var log = new Log("@lsby:net-core").extend("gen-list");
@@ -42,40 +39,25 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
42
39
  const \u9879\u76EE = ts.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
43
40
  await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
44
41
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
45
- var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
42
+ var \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
46
43
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = path.normalize(\u6E90\u6587\u4EF62.fileName);
47
- return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84);
44
+ if (!\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84))
45
+ return false;
46
+ var \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF62);
47
+ if (!\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA)
48
+ return false;
49
+ return true;
48
50
  });
49
- await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
50
- const \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
51
- (a) => \u63D0\u53D6\u9876\u7EA7\u5BFC\u51FA\u7C7B\u8282\u70B9(a).map((x) => ({
52
- \u6587\u4EF6: a,
53
- \u7C7B\u8282\u70B9: x
54
- }))
55
- );
56
- await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.length} \u4E2A\u7C7B\u8282\u70B9`);
57
- var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
58
- var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
51
+ await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
52
+ var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
59
53
  var \u4EE3\u7801 = [
60
- `import { \u63A5\u53E3\u7C7B\u578B } from '@lsby/net-core'`,
61
- `import {${\u7C7B\u540D\u5B57}} from "./${a.\u6587\u4EF6.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
62
- `
63
- type \u8BA1\u7B97\u7ED3\u679C =
64
- ReturnType<${\u7C7B\u540D\u5B57}['\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B']> extends \u63A5\u53E3\u7C7B\u578B<
65
- infer \u8DEF\u5F84,
66
- infer \u65B9\u6CD5,
67
- infer \u63D2\u4EF6\u4EEC,
68
- infer \u6B63\u786E\u7ED3\u679C\u7C7B\u578B,
69
- infer \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B
70
- >
71
- ? \u8DEF\u5F84 extends string
72
- ? true
73
- : false
74
- : false
75
- `
54
+ `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
55
+ `import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
56
+ ``,
57
+ `type \u8BA1\u7B97\u7ED3\u679C = typeof \u5BFC\u5165 extends \u4EFB\u610F\u63A5\u53E3 ? true : false`
76
58
  ];
77
59
  return ts.createSourceFile(
78
- a.\u6587\u4EF6.fileName.replaceAll(".ts", "-" + randomUUID() + ".ts"),
60
+ a.fileName.replaceAll(".ts", "-" + randomUUID() + ".ts"),
79
61
  \u4EE3\u7801.join("\n"),
80
62
  ts.ScriptTarget.Latest
81
63
  );
@@ -108,17 +90,15 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
108
90
  });
109
91
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
110
92
  }
111
- var \u6700\u7EC8\u7ED3\u679C = L.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
93
+ var \u6700\u7EC8\u7ED3\u679C = L.zip(\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
112
94
  await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
113
95
  var \u6700\u7EC8\u4EE3\u7801 = [
114
- `import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
96
+ `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
115
97
  "",
116
- ...\u6700\u7EC8\u7ED3\u679C.map(
117
- (a) => `import {${a.\u7C7B\u8282\u70B9.name?.text} as ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)}} from './${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`
118
- ),
98
+ ...\u6700\u7EC8\u7ED3\u679C.map((a) => `import ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)} from './${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`),
119
99
  "",
120
- `export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
121
- ...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` new ${a}(),`),
100
+ `export var interfaceList: \u4EFB\u610F\u63A5\u53E3[] = [`,
101
+ ...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` ${a},`),
122
102
  `]`,
123
103
  ""
124
104
  ];