@lsby/net-core 0.3.26 → 0.3.28

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 (58) hide show
  1. package/dist/bin/gen-list/bin.cjs +18 -5
  2. package/dist/bin/gen-list/index.cjs +18 -5
  3. package/dist/bin/gen-test/bin.cjs +1 -1
  4. package/dist/bin/gen-test/index.cjs +1 -1
  5. package/dist/bin/gen-type/bin.cjs +12 -9
  6. package/dist/bin/gen-type/index.cjs +12 -9
  7. package/dist/cjs/action/action.cjs +22 -15
  8. package/dist/cjs/action/action.d.cts +22 -15
  9. package/dist/cjs/bin/gen-list/bin.cjs +18 -5
  10. package/dist/cjs/bin/gen-list/index.cjs +18 -5
  11. package/dist/cjs/bin/gen-test/bin.cjs +1 -1
  12. package/dist/cjs/bin/gen-test/index.cjs +1 -1
  13. package/dist/cjs/bin/gen-type/bin.cjs +12 -9
  14. package/dist/cjs/bin/gen-type/index.cjs +12 -9
  15. package/dist/cjs/index.cjs +40 -24
  16. package/dist/cjs/index.d.cts +3 -3
  17. package/dist/cjs/interface/extend/json-base.cjs +22 -15
  18. package/dist/cjs/interface/extend/json-wrap.cjs +35 -18
  19. package/dist/cjs/interface/extend/json-wrap.d.cts +14 -12
  20. package/dist/cjs/interface/interface-inst.cjs +22 -15
  21. package/dist/cjs/interface/interface-inst.d.cts +3 -3
  22. package/dist/cjs/interface/interface-type.d.cts +3 -2
  23. package/dist/cjs/plugin/extend/json.cjs +3 -4
  24. package/dist/cjs/plugin/extend/json.d.cts +2 -4
  25. package/dist/cjs/plugin/extend/urlencoded.cjs +2 -2
  26. package/dist/cjs/plugin/extend/urlencoded.d.cts +1 -3
  27. package/dist/cjs/server/server.d.cts +2 -2
  28. package/dist/esm/action/action.d.ts +22 -15
  29. package/dist/esm/action/action.js +1 -1
  30. package/dist/esm/bin/gen-list/bin.js +1 -1
  31. package/dist/esm/bin/gen-list/index.js +1 -1
  32. package/dist/esm/bin/gen-test/bin.js +1 -1
  33. package/dist/esm/bin/gen-test/index.js +1 -1
  34. package/dist/esm/bin/gen-type/bin.js +1 -1
  35. package/dist/esm/bin/gen-type/index.js +1 -1
  36. package/dist/esm/{chunk-KFTP2JZZ.js → chunk-6QNJCAAV.js} +12 -9
  37. package/dist/esm/{chunk-AYTYZZMN.js → chunk-7OIWSU4D.js} +6 -7
  38. package/dist/esm/{chunk-AY7GYJWL.js → chunk-E7N7HVWO.js} +1 -1
  39. package/dist/esm/{chunk-535X7O4J.js → chunk-FBFLXFIL.js} +1 -1
  40. package/dist/esm/{chunk-33UG5J6F.js → chunk-G73B4M36.js} +18 -5
  41. package/dist/esm/{chunk-QXOTCD4X.js → chunk-GWWQPWGC.js} +1 -1
  42. package/dist/esm/{chunk-XTHURYQM.js → chunk-KZPZVZ2B.js} +2 -2
  43. package/dist/esm/{chunk-V3S5HDZD.js → chunk-T3WICQWT.js} +22 -15
  44. package/dist/esm/{chunk-343YQDPA.js → chunk-YRW76W44.js} +14 -4
  45. package/dist/esm/index.d.ts +3 -3
  46. package/dist/esm/index.js +9 -9
  47. package/dist/esm/interface/extend/json-base.js +3 -3
  48. package/dist/esm/interface/extend/json-wrap.d.ts +14 -12
  49. package/dist/esm/interface/extend/json-wrap.js +3 -3
  50. package/dist/esm/interface/interface-inst.d.ts +3 -3
  51. package/dist/esm/interface/interface-inst.js +2 -2
  52. package/dist/esm/interface/interface-type.d.ts +3 -2
  53. package/dist/esm/plugin/extend/json.d.ts +2 -4
  54. package/dist/esm/plugin/extend/json.js +2 -2
  55. package/dist/esm/plugin/extend/urlencoded.d.ts +1 -3
  56. package/dist/esm/plugin/extend/urlencoded.js +1 -1
  57. package/dist/esm/server/server.d.ts +2 -2
  58. package/package.json +1 -1
@@ -57,9 +57,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
57
57
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
58
58
  var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
59
59
  var \u4EE3\u7801 = [
60
- `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
60
+ `import { \u63A5\u53E3\u7C7B\u578B } from '@lsby/net-core'`,
61
61
  `import {${\u7C7B\u540D\u5B57}} from "./${a.\u6587\u4EF6.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
62
- `type \u8BA1\u7B97\u7ED3\u679C = ${\u7C7B\u540D\u5B57} extends \u4EFB\u610F\u63A5\u53E3 ? true : false`
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
+ `
63
76
  ];
64
77
  return ts.createSourceFile(
65
78
  a.\u6587\u4EF6.fileName.replaceAll(".ts", "-" + randomUUID() + ".ts"),
@@ -98,13 +111,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
98
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);
99
112
  await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
100
113
  var \u6700\u7EC8\u4EE3\u7801 = [
101
- `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
114
+ `import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
102
115
  "",
103
116
  ...\u6700\u7EC8\u7ED3\u679C.map(
104
- (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)}'`
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)}'`
105
118
  ),
106
119
  "",
107
- `export var interfaceList: \u4EFB\u610F\u63A5\u53E3[] = [`,
120
+ `export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
108
121
  ...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` new ${a}(),`),
109
122
  `]`,
110
123
  ""
@@ -104,7 +104,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
104
104
  "import './unit-test-prefix'",
105
105
  "",
106
106
  ...\u6700\u7EC8\u7ED3\u679C.map(
107
- (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)}'`
107
+ (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)}'`
108
108
  ),
109
109
  "",
110
110
  ...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => `test('${a}', async () => await new ${a}().\u8FD0\u884C())`),
@@ -13,10 +13,10 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
13
13
  pRes(null);
14
14
  })
15
15
  );
16
- const parseResult = t.safeParse({ body: req.body });
16
+ const parseResult = t.safeParse(req.body);
17
17
  if (!parseResult.success)
18
18
  throw new Error(format("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
19
- return { body: parseResult.data.body };
19
+ return parseResult.data;
20
20
  });
21
21
  }
22
22
  };
@@ -28,12 +28,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
28
28
  return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
29
29
  }
30
30
  /**
31
- * 同时运行多个模型, 并提供一个函数处理它们的结果
32
- * 如果其中任何一个模型发生错误, 则最终模型输出第一个错误
33
- * 处理函数的类型是: 所有模型的结果合并 => 泛型A
34
- * 新模型的类型是:
35
- * - 参数: 所有模型的参数合并
36
- * - 错误: 所有模型的错误合并
31
+ * 同时运行多个行为, 并提供一个函数处理它们的结果
32
+ * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
33
+ * 处理函数的类型是: 所有行为的结果合并 => 泛型A
34
+ * 新行为的类型是:
35
+ * - 参数: 所有行为的参数合并
36
+ * - 错误: 所有行为的错误合并
37
37
  * - 返回值: 泛型A
38
38
  */
39
39
  static \u5E76\u884C\u7EC4\u5408(arr, f) {
@@ -62,10 +62,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
62
62
  }
63
63
  // ================================= 组合 =================================
64
64
  /**
65
- * 将两个模型串接, 得到一个新模型, 新模型的类型是:
66
- * - 参数: a模型的参数
67
- * - 错误: a模型的错误+b模型的错误
68
- * - 返回值: b模型的返回值
65
+ * 将两个行为串接, 得到一个新行为, 新行为的类型是:
66
+ * - 参数: a行为的参数
67
+ * - 错误: a行为的错误+b行为的错误
68
+ * - 返回值: b行为的返回值
69
69
  */
70
70
  \u6D41\u5F0F\u7EC4\u5408(b) {
71
71
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -76,12 +76,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
76
76
  });
77
77
  }
78
78
  /**
79
- * 将两个模型串接, 得到一个新的模型
79
+ * 将两个行为串接, 得到一个新的行为
80
80
  * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
81
- * 新模型的类型是:
82
- * - 参数: a模型的参数+(b模型的参数-a模型的返回值)
83
- * - 错误: a模型的错误+b模型的错误
84
- * - 返回值: a模型的返回值+b模型的返回值
81
+ * 新行为的类型是:
82
+ * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
83
+ * - 错误: a行为的错误+b行为的错误
84
+ * - 返回值: a行为的返回值+b行为的返回值
85
85
  */
86
86
  \u6DF7\u5408\u7EC4\u5408(b) {
87
87
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -109,6 +109,13 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
109
109
  return Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
110
110
  });
111
111
  }
112
+ /**
113
+ * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
114
+ * 新行为的类型是:
115
+ * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
116
+ * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
117
+ * - 返回值: 自定义数据
118
+ */
112
119
  \u7ED1\u5B9A(f) {
113
120
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
114
121
  const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  接口
3
- } from "./chunk-AY7GYJWL.js";
3
+ } from "./chunk-E7N7HVWO.js";
4
4
  import {
5
5
  接口类型
6
6
  } from "./chunk-SF5Z34AP.js";
@@ -12,17 +12,27 @@ import {
12
12
  // src/interface/extend/json-wrap.ts
13
13
  import { z } from "zod";
14
14
  var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\u578B {
15
- constructor(path, method, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u8FD4\u56DE\u7C7B\u578B, \u9519\u8BEF\u8FD4\u56DE\u7C7B\u578B) {
15
+ constructor(path, method, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C\u7C7B\u578B, \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B) {
16
16
  super(
17
17
  path,
18
18
  method,
19
19
  \u63D2\u4EF6\u4EEC,
20
- z.object({ status: z.literal("success"), data: \u6B63\u786E\u8FD4\u56DE\u7C7B\u578B }),
21
- z.object({ status: z.literal("fail"), data: \u9519\u8BEF\u8FD4\u56DE\u7C7B\u578B })
20
+ z.object({ status: z.literal("success"), data: \u6B63\u786E\u7ED3\u679C\u7C7B\u578B }),
21
+ z.object({ status: z.literal("fail"), data: \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B })
22
22
  );
23
23
  }
24
24
  };
25
25
  var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
26
+ \u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
27
+ var c = this.\u83B7\u5F97JSON\u63A5\u53E3\u7C7B\u578B();
28
+ return new \u63A5\u53E3\u7C7B\u578B(
29
+ c.\u83B7\u5F97\u8DEF\u5F84(),
30
+ c.\u83B7\u5F97\u65B9\u6CD5(),
31
+ c.\u83B7\u5F97\u63D2\u4EF6\u4EEC(),
32
+ c.\u83B7\u5F97\u6B63\u786E\u7ED3\u679C\u7C7B\u578B().shape.data,
33
+ c.\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B().shape.data
34
+ );
35
+ }
26
36
  async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230\u63A5\u53E3\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
27
37
  var c = await \u4E1A\u52A1\u7ED3\u679C;
28
38
  if (c.isLeft())
@@ -1,9 +1,9 @@
1
1
  export { 业务行为, 业务行为参数类型, 业务行为返回类型, 业务行为错误类型, 计算业务行为参数, 计算业务行为返回, 计算业务行为错误 } from './action/action.js';
2
2
  export { JSON接口 } from './interface/extend/json-base.js';
3
- export { JSON状态接口, JSON状态接口类型, 计算JSON状态接口返回 } from './interface/extend/json-wrap.js';
4
- export { 任意接口, 接口, 计算接口参数, 计算接口返回 } from './interface/interface-inst.js';
3
+ export { JSON状态接口, JSON状态接口类型, 计算JSON状态接口返回, 转换状态接口描述 } from './interface/extend/json-wrap.js';
4
+ export { 接口, 有效的接口, 计算接口参数, 计算接口返回 } from './interface/interface-inst.js';
5
5
  export { 接口测试 } from './interface/interface-test.js';
6
- export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果, 获得接口插件们 } from './interface/interface-type.js';
6
+ export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果, 有效的接口类型, 获得接口插件们 } from './interface/interface-type.js';
7
7
  export { 中文路径支持插件 } from './plugin/extend/chinese-path.js';
8
8
  export { 自定义数据插件 } from './plugin/extend/custom-data.js';
9
9
  export { JSON解析插件, 从接口类型获得JSON参数, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.js';
package/dist/esm/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  JSON接口
3
- } from "./chunk-535X7O4J.js";
3
+ } from "./chunk-FBFLXFIL.js";
4
4
  import {
5
5
  JSON状态接口,
6
6
  JSON状态接口类型
7
- } from "./chunk-343YQDPA.js";
7
+ } from "./chunk-YRW76W44.js";
8
8
  import {
9
9
  中文路径支持插件
10
10
  } from "./chunk-KW3M3VXP.js";
@@ -13,25 +13,28 @@ import {
13
13
  } from "./chunk-2MN4G2DG.js";
14
14
  import {
15
15
  JSON解析插件
16
- } from "./chunk-AYTYZZMN.js";
16
+ } from "./chunk-7OIWSU4D.js";
17
17
  import {
18
18
  表单解析插件
19
- } from "./chunk-XTHURYQM.js";
19
+ } from "./chunk-KZPZVZ2B.js";
20
20
  import {
21
21
  服务器
22
22
  } from "./chunk-BU63OHHK.js";
23
23
  import {
24
24
  接口
25
- } from "./chunk-AY7GYJWL.js";
25
+ } from "./chunk-E7N7HVWO.js";
26
26
  import {
27
27
  业务行为
28
- } from "./chunk-V3S5HDZD.js";
28
+ } from "./chunk-T3WICQWT.js";
29
29
  import {
30
30
  接口测试
31
31
  } from "./chunk-SFNQ5AWH.js";
32
32
  import {
33
33
  接口类型
34
34
  } from "./chunk-SF5Z34AP.js";
35
+ import {
36
+ 插件
37
+ } from "./chunk-N4NY37XI.js";
35
38
  import {
36
39
  正确JSON结果,
37
40
  正确结果,
@@ -41,9 +44,6 @@ import {
41
44
  错误结果
42
45
  } from "./chunk-IPDMEQ3O.js";
43
46
  import "./chunk-AHCV3LQ7.js";
44
- import {
45
- 插件
46
- } from "./chunk-N4NY37XI.js";
47
47
  export {
48
48
  JSON\u63A5\u53E3,
49
49
  JSON\u72B6\u6001\u63A5\u53E3,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  JSON接口
3
- } from "../../chunk-535X7O4J.js";
4
- import "../../chunk-AY7GYJWL.js";
5
- import "../../chunk-V3S5HDZD.js";
3
+ } from "../../chunk-FBFLXFIL.js";
4
+ import "../../chunk-E7N7HVWO.js";
5
+ import "../../chunk-T3WICQWT.js";
6
6
  import "../../chunk-IPDMEQ3O.js";
7
7
  import "../../chunk-AHCV3LQ7.js";
8
8
  export {
@@ -1,26 +1,28 @@
1
1
  import { z } from 'zod';
2
- import { Either } from '@lsby/ts-fp-data';
3
2
  import { 插件项类型 as _____ } from '../../plugin/plug.js';
4
3
  import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../../result/result.js';
5
- import { 接口 as __, 计算接口参数 as ______, 计算接口返回 as ______$1 } from '../interface-inst.js';
6
- import { 接口类型 as ____, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1 } from '../interface-type.js';
4
+ import { 计算接口返回 as ______, 接口 as __ } from '../interface-inst.js';
5
+ import { 接口类型 as ____, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1 } from '../interface-type.js';
7
6
  import 'express';
7
+ import '@lsby/ts-fp-data';
8
8
  import '../../action/action.js';
9
9
 
10
- declare class JSON状态接口类型<路径 extends string, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确返回类型 extends z.ZodTypeAny, 错误返回类型 extends z.ZodTypeAny> extends ____<路径, 方法, 插件们, z.ZodObject<{
10
+ declare class JSON状态接口类型<路径 extends string | null, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> extends ____<路径, 方法, 插件们, z.ZodObject<{
11
11
  status: z.ZodLiteral<'success'>;
12
- data: 正确返回类型;
12
+ data: 正确结果类型;
13
13
  }>, z.ZodObject<{
14
14
  status: z.ZodLiteral<'fail'>;
15
- data: 错误返回类型;
15
+ data: 错误结果类型;
16
16
  }>> {
17
- constructor(path: 路径, method: 方法, 插件们: [...插件们], 正确返回类型: 正确返回类型, 错误返回类型: 错误返回类型);
17
+ constructor(path: 路径, method: 方法, 插件们: [...插件们], 正确结果类型: 正确结果类型, 错误结果类型: 错误结果类型);
18
18
  }
19
19
  type 任意的JSON状态接口类型 = JSON状态接口类型<any, any, any, any, any>;
20
- type 计算JSON状态接口返回<接口类型描述> = Promise<Either<z.infer<________<接口类型描述>>['data'], z.infer<________$1<接口类型描述>>['data']>>;
21
- declare abstract class JSON状态接口<接口类型描述 extends 任意的JSON状态接口类型> extends __<接口类型描述> {
22
- protected abstract 业务行为实现(参数: ______<接口类型描述>): 计算JSON状态接口返回<接口类型描述>;
23
- 转换业务结果到接口结果(业务结果: ______$1<接口类型描述>): Promise<____$1<z.TypeOf<________$1<接口类型描述>>> | ____$2<z.TypeOf<________<接口类型描述>>>>;
20
+ type 转换状态接口描述<A> = A extends JSON状态接口类型<infer 路径, infer 方法, infer 插件们, infer 正确结果类型, infer 错误结果类型> ? ____<路径, 方法, 插件们, 正确结果类型, 错误结果类型> : never;
21
+ type 计算JSON状态接口返回<接口类型描述> = ______<转换状态接口描述<接口类型描述>>;
22
+ declare abstract class JSON状态接口<接口类型描述 extends 任意的JSON状态接口类型> extends __<转换状态接口描述<接口类型描述>> {
23
+ abstract 获得JSON接口类型(): 接口类型描述;
24
+ 获得接口类型(): 转换状态接口描述<接口类型描述>;
25
+ 转换业务结果到接口结果(业务结果: ______<接口类型描述>): Promise<____$1<z.TypeOf<________<接口类型描述>>> | ____$2<z.TypeOf<________$1<接口类型描述>>>>;
24
26
  }
25
27
 
26
- export { JSON状态接口, JSON状态接口类型, type 计算JSON状态接口返回 };
28
+ export { JSON状态接口, JSON状态接口类型, type 计算JSON状态接口返回, type 转换状态接口描述 };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  JSON状态接口,
3
3
  JSON状态接口类型
4
- } from "../../chunk-343YQDPA.js";
5
- import "../../chunk-AY7GYJWL.js";
6
- import "../../chunk-V3S5HDZD.js";
4
+ } from "../../chunk-YRW76W44.js";
5
+ import "../../chunk-E7N7HVWO.js";
6
+ import "../../chunk-T3WICQWT.js";
7
7
  import "../../chunk-SF5Z34AP.js";
8
8
  import "../../chunk-IPDMEQ3O.js";
9
9
  import "../../chunk-AHCV3LQ7.js";
@@ -3,7 +3,7 @@ import { Either } from '@lsby/ts-fp-data';
3
3
  import { 业务行为 as ____ } from '../action/action.js';
4
4
  import { 合并插件结果 as ______ } from '../plugin/plug.js';
5
5
  import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../result/result.js';
6
- import { 接口类型插件们 as _______, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 任意接口类型 as ______$1 } from './interface-type.js';
6
+ import { 接口类型插件们 as _______, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 任意接口类型 as ______$1, 有效的接口类型 as _______$1 } from './interface-type.js';
7
7
  import 'express';
8
8
 
9
9
  type 计算接口参数<接口类型描述> = ______<_______<接口类型描述>>;
@@ -14,6 +14,6 @@ declare abstract class 接口<接口类型描述 extends ______$1> extends ____<
14
14
  接口实现(参数: 计算接口参数<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
15
15
  abstract 转换业务结果到接口结果(业务结果: 计算接口返回<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
16
16
  }
17
- type 任意接口 = 接口<any>;
17
+ type 有效的接口 = 接口<_______$1>;
18
18
 
19
- export { type 任意接口, 接口, type 计算接口参数, type 计算接口返回 };
19
+ export { 接口, type 有效的接口, type 计算接口参数, type 计算接口返回 };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  接口
3
- } from "../chunk-AY7GYJWL.js";
4
- import "../chunk-V3S5HDZD.js";
3
+ } from "../chunk-E7N7HVWO.js";
4
+ import "../chunk-T3WICQWT.js";
5
5
  export {
6
6
  \u63A5\u53E3
7
7
  };
@@ -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, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> {
11
+ declare class 接口类型<路径 extends string | null, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> {
12
12
  private 路径;
13
13
  private 方法;
14
14
  private 插件们;
@@ -23,6 +23,7 @@ declare class 接口类型<路径 extends string, 方法 extends 'get' | 'post',
23
23
  获得错误结果类型(): 错误结果类型;
24
24
  }
25
25
  type 任意接口类型 = 接口类型<any, any, any, any, any>;
26
+ type 有效的接口类型 = 接口类型<string, any, any, any, any>;
26
27
  type 获得接口插件们<接口类型描述> = 接口类型描述 extends 接口类型<any, any, infer 插件, any, any> ? 插件 : never;
27
28
 
28
- export { type 任意接口类型, 接口类型, type 接口类型插件们, type 接口类型方法, type 接口类型正确结果, type 接口类型路径, type 接口类型错误结果, type 获得接口插件们 };
29
+ export { type 任意接口类型, 接口类型, type 接口类型插件们, type 接口类型方法, type 接口类型正确结果, type 接口类型路径, type 接口类型错误结果, type 有效的接口类型, type 获得接口插件们 };
@@ -4,15 +4,13 @@ import { 获得接口插件们 as _______ } from '../../interface/interface-type
4
4
  import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取Task插件内部类型 as _Task______, 合并插件结果 as ______ } from '../plug.js';
5
5
  import '@lsby/ts-fp-data';
6
6
 
7
- declare class JSON解析插件<Result extends AnyZodObject> extends __<z.ZodObject<{
8
- body: Result;
9
- }>> {
7
+ declare class JSON解析插件<Result extends AnyZodObject> extends __<Result> {
10
8
  private log;
11
9
  constructor(t: Result, opt: Parameters<typeof express.json>[0]);
12
10
  }
13
11
  type 任意JSON解析插件 = JSON解析插件<any>;
14
12
  type 任意JSON解析插件项 = _____<任意JSON解析插件>;
15
- type 合并JSON插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意JSON解析插件项 ? z.infer<_Task______<插件项>>['body'] & ______<xs> : 合并JSON插件结果<xs> : {} : {} : {};
13
+ type 合并JSON插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意JSON解析插件项 ? z.infer<_Task______<插件项>> & ______<xs> : 合并JSON插件结果<xs> : {} : {} : {};
16
14
  type 从接口类型获得JSON参数<接口类型描述> = 合并JSON插件结果<_______<接口类型描述>>;
17
15
 
18
16
  export { JSON解析插件, type 从接口类型获得JSON参数, type 任意JSON解析插件, type 任意JSON解析插件项, type 合并JSON插件结果 };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  JSON解析插件
3
- } from "../../chunk-AYTYZZMN.js";
4
- import "../../chunk-AHCV3LQ7.js";
3
+ } from "../../chunk-7OIWSU4D.js";
5
4
  import "../../chunk-N4NY37XI.js";
5
+ import "../../chunk-AHCV3LQ7.js";
6
6
  export {
7
7
  JSON\u89E3\u6790\u63D2\u4EF6
8
8
  };
@@ -3,9 +3,7 @@ import { z } from 'zod';
3
3
  import { 插件 as __ } from '../plug.js';
4
4
  import '@lsby/ts-fp-data';
5
5
 
6
- declare class 表单解析插件<Result extends z.ZodObject<{
7
- body: z.AnyZodObject;
8
- }>> extends __<Result> {
6
+ declare class 表单解析插件<Result extends z.AnyZodObject> extends __<Result> {
9
7
  constructor(t: Result, opt: Parameters<typeof express.urlencoded>[0]);
10
8
  }
11
9
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  表单解析插件
3
- } from "../../chunk-XTHURYQM.js";
3
+ } from "../../chunk-KZPZVZ2B.js";
4
4
  import "../../chunk-N4NY37XI.js";
5
5
  export {
6
6
  \u8868\u5355\u89E3\u6790\u63D2\u4EF6
@@ -1,5 +1,5 @@
1
1
  import * as http from 'node:http';
2
- import { 任意接口 as ____ } from '../interface/interface-inst.js';
2
+ import { 有效的接口 as _____ } from '../interface/interface-inst.js';
3
3
  import 'zod';
4
4
  import '@lsby/ts-fp-data';
5
5
  import '../action/action.js';
@@ -13,7 +13,7 @@ declare class 服务器 {
13
13
  private 端口;
14
14
  private 静态资源路径?;
15
15
  private log;
16
- constructor(接口们: ____[], 端口: number, 静态资源路径?: string | undefined);
16
+ constructor(接口们: _____[], 端口: number, 静态资源路径?: string | undefined);
17
17
  run(): Promise<{
18
18
  ip: string[];
19
19
  server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsby/net-core",
3
- "version": "0.3.26",
3
+ "version": "0.3.28",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",