@lsby/net-core 0.3.27 → 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 (31) hide show
  1. package/dist/bin/gen-list/bin.cjs +1 -1
  2. package/dist/bin/gen-list/index.cjs +1 -1
  3. package/dist/bin/gen-test/bin.cjs +1 -1
  4. package/dist/bin/gen-test/index.cjs +1 -1
  5. package/dist/cjs/action/action.cjs +22 -15
  6. package/dist/cjs/action/action.d.cts +22 -15
  7. package/dist/cjs/bin/gen-list/bin.cjs +1 -1
  8. package/dist/cjs/bin/gen-list/index.cjs +1 -1
  9. package/dist/cjs/bin/gen-test/bin.cjs +1 -1
  10. package/dist/cjs/bin/gen-test/index.cjs +1 -1
  11. package/dist/cjs/index.cjs +22 -15
  12. package/dist/cjs/interface/extend/json-base.cjs +22 -15
  13. package/dist/cjs/interface/extend/json-wrap.cjs +22 -15
  14. package/dist/cjs/interface/interface-inst.cjs +22 -15
  15. package/dist/esm/action/action.d.ts +22 -15
  16. package/dist/esm/action/action.js +1 -1
  17. package/dist/esm/bin/gen-list/bin.js +1 -1
  18. package/dist/esm/bin/gen-list/index.js +1 -1
  19. package/dist/esm/bin/gen-test/bin.js +1 -1
  20. package/dist/esm/bin/gen-test/index.js +1 -1
  21. package/dist/esm/{chunk-AY7GYJWL.js → chunk-E7N7HVWO.js} +1 -1
  22. package/dist/esm/{chunk-535X7O4J.js → chunk-FBFLXFIL.js} +1 -1
  23. package/dist/esm/{chunk-L6B3BHT7.js → chunk-G73B4M36.js} +1 -1
  24. package/dist/esm/{chunk-QXOTCD4X.js → chunk-GWWQPWGC.js} +1 -1
  25. package/dist/esm/{chunk-V3S5HDZD.js → chunk-T3WICQWT.js} +22 -15
  26. package/dist/esm/{chunk-DERN3VFQ.js → chunk-YRW76W44.js} +1 -1
  27. package/dist/esm/index.js +4 -4
  28. package/dist/esm/interface/extend/json-base.js +3 -3
  29. package/dist/esm/interface/extend/json-wrap.js +3 -3
  30. package/dist/esm/interface/interface-inst.js +2 -2
  31. package/package.json +1 -1
@@ -143,7 +143,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
143
143
  `import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
144
144
  "",
145
145
  ...\u6700\u7EC8\u7ED3\u679C.map(
146
- (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)}'`
146
+ (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)}'`
147
147
  ),
148
148
  "",
149
149
  `export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
@@ -148,7 +148,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
148
148
  `import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
149
149
  "",
150
150
  ...\u6700\u7EC8\u7ED3\u679C.map(
151
- (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)}'`
151
+ (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)}'`
152
152
  ),
153
153
  "",
154
154
  `export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
@@ -133,7 +133,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
133
133
  "import './unit-test-prefix'",
134
134
  "",
135
135
  ...\u6700\u7EC8\u7ED3\u679C.map(
136
- (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)}'`
136
+ (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)}'`
137
137
  ),
138
138
  "",
139
139
  ...\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())`),
@@ -138,7 +138,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
138
138
  "import './unit-test-prefix'",
139
139
  "",
140
140
  ...\u6700\u7EC8\u7ED3\u679C.map(
141
- (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)}'`
141
+ (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)}'`
142
142
  ),
143
143
  "",
144
144
  ...\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())`),
@@ -52,12 +52,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
52
52
  return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
53
53
  }
54
54
  /**
55
- * 同时运行多个模型, 并提供一个函数处理它们的结果
56
- * 如果其中任何一个模型发生错误, 则最终模型输出第一个错误
57
- * 处理函数的类型是: 所有模型的结果合并 => 泛型A
58
- * 新模型的类型是:
59
- * - 参数: 所有模型的参数合并
60
- * - 错误: 所有模型的错误合并
55
+ * 同时运行多个行为, 并提供一个函数处理它们的结果
56
+ * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
57
+ * 处理函数的类型是: 所有行为的结果合并 => 泛型A
58
+ * 新行为的类型是:
59
+ * - 参数: 所有行为的参数合并
60
+ * - 错误: 所有行为的错误合并
61
61
  * - 返回值: 泛型A
62
62
  */
63
63
  static \u5E76\u884C\u7EC4\u5408(arr, f) {
@@ -86,10 +86,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
86
86
  }
87
87
  // ================================= 组合 =================================
88
88
  /**
89
- * 将两个模型串接, 得到一个新模型, 新模型的类型是:
90
- * - 参数: a模型的参数
91
- * - 错误: a模型的错误+b模型的错误
92
- * - 返回值: b模型的返回值
89
+ * 将两个行为串接, 得到一个新行为, 新行为的类型是:
90
+ * - 参数: a行为的参数
91
+ * - 错误: a行为的错误+b行为的错误
92
+ * - 返回值: b行为的返回值
93
93
  */
94
94
  \u6D41\u5F0F\u7EC4\u5408(b) {
95
95
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -100,12 +100,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
100
100
  });
101
101
  }
102
102
  /**
103
- * 将两个模型串接, 得到一个新的模型
103
+ * 将两个行为串接, 得到一个新的行为
104
104
  * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
105
- * 新模型的类型是:
106
- * - 参数: a模型的参数+(b模型的参数-a模型的返回值)
107
- * - 错误: a模型的错误+b模型的错误
108
- * - 返回值: a模型的返回值+b模型的返回值
105
+ * 新行为的类型是:
106
+ * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
107
+ * - 错误: a行为的错误+b行为的错误
108
+ * - 返回值: a行为的返回值+b行为的返回值
109
109
  */
110
110
  \u6DF7\u5408\u7EC4\u5408(b) {
111
111
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -133,6 +133,13 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
133
133
  return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
134
134
  });
135
135
  }
136
+ /**
137
+ * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
138
+ * 新行为的类型是:
139
+ * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
140
+ * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
141
+ * - 返回值: 自定义数据
142
+ */
136
143
  \u7ED1\u5B9A(f) {
137
144
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
138
145
  const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
@@ -54,12 +54,12 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
54
54
  */
55
55
  static 混合组合多项<A extends 任意业务行为[]>(arr: [...A]): 计算混合组合数组<A>;
56
56
  /**
57
- * 同时运行多个模型, 并提供一个函数处理它们的结果
58
- * 如果其中任何一个模型发生错误, 则最终模型输出第一个错误
59
- * 处理函数的类型是: 所有模型的结果合并 => 泛型A
60
- * 新模型的类型是:
61
- * - 参数: 所有模型的参数合并
62
- * - 错误: 所有模型的错误合并
57
+ * 同时运行多个行为, 并提供一个函数处理它们的结果
58
+ * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
59
+ * 处理函数的类型是: 所有行为的结果合并 => 泛型A
60
+ * 新行为的类型是:
61
+ * - 参数: 所有行为的参数合并
62
+ * - 错误: 所有行为的错误合并
63
63
  * - 返回值: 泛型A
64
64
  */
65
65
  static 并行组合<X extends 任意业务行为[], A extends 业务行为返回类型>(arr: [...X], f: (a: 计算业务行为返回<计算合并<X>>) => Promise<A>): 业务行为<计算业务行为参数<计算合并<X>>, 计算业务行为错误<计算合并<X>>, A>;
@@ -67,23 +67,30 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
67
67
  设置参数<A extends Partial<参数类型>>(设置参数: A): 业务行为<Omit<参数类型, keyof A>, 错误类型, 返回类型>;
68
68
  运行业务行为(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
69
69
  /**
70
- * 将两个模型串接, 得到一个新模型, 新模型的类型是:
71
- * - 参数: a模型的参数
72
- * - 错误: a模型的错误+b模型的错误
73
- * - 返回值: b模型的返回值
70
+ * 将两个行为串接, 得到一个新行为, 新行为的类型是:
71
+ * - 参数: a行为的参数
72
+ * - 错误: a行为的错误+b行为的错误
73
+ * - 返回值: b行为的返回值
74
74
  */
75
75
  流式组合<B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(b: 业务行为<返回类型, B错误类型, B返回类型>): 业务行为<参数类型, 错误类型 | B错误类型, B返回类型>;
76
76
  /**
77
- * 将两个模型串接, 得到一个新的模型
77
+ * 将两个行为串接, 得到一个新的行为
78
78
  * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
79
- * 新模型的类型是:
80
- * - 参数: a模型的参数+(b模型的参数-a模型的返回值)
81
- * - 错误: a模型的错误+b模型的错误
82
- * - 返回值: a模型的返回值+b模型的返回值
79
+ * 新行为的类型是:
80
+ * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
81
+ * - 错误: a行为的错误+b行为的错误
82
+ * - 返回值: a行为的返回值+b行为的返回值
83
83
  */
84
84
  混合组合<B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(b: 业务行为<B参数类型, B错误类型, B返回类型>): 计算混合组合<参数类型, 错误类型, 返回类型, B参数类型, B错误类型, B返回类型>;
85
85
  映射结果<新返回类型 extends 业务行为返回类型>(f: (a: 返回类型) => 新返回类型): 业务行为<参数类型, 错误类型, 新返回类型>;
86
86
  映射错误<新错误类型 extends 业务行为错误类型>(f: (a: 错误类型) => 新错误类型): 业务行为<参数类型, 新错误类型, 返回类型>;
87
+ /**
88
+ * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
89
+ * 新行为的类型是:
90
+ * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
91
+ * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
92
+ * - 返回值: 自定义数据
93
+ */
87
94
  绑定<新参数类型 extends 业务行为参数类型 & 参数类型, 新错误类型 extends 错误类型 | 业务行为错误类型, 新返回类型 extends 业务行为返回类型>(f: (a: 返回类型) => 业务行为<新参数类型, 新错误类型, 新返回类型>): 业务行为<新参数类型, 新错误类型, 新返回类型>;
88
95
  }
89
96
 
@@ -143,7 +143,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
143
143
  `import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
144
144
  "",
145
145
  ...\u6700\u7EC8\u7ED3\u679C.map(
146
- (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)}'`
146
+ (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)}'`
147
147
  ),
148
148
  "",
149
149
  `export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
@@ -148,7 +148,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
148
148
  `import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
149
149
  "",
150
150
  ...\u6700\u7EC8\u7ED3\u679C.map(
151
- (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)}'`
151
+ (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)}'`
152
152
  ),
153
153
  "",
154
154
  `export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
@@ -133,7 +133,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
133
133
  "import './unit-test-prefix'",
134
134
  "",
135
135
  ...\u6700\u7EC8\u7ED3\u679C.map(
136
- (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)}'`
136
+ (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)}'`
137
137
  ),
138
138
  "",
139
139
  ...\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())`),
@@ -138,7 +138,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
138
138
  "import './unit-test-prefix'",
139
139
  "",
140
140
  ...\u6700\u7EC8\u7ED3\u679C.map(
141
- (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)}'`
141
+ (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)}'`
142
142
  ),
143
143
  "",
144
144
  ...\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())`),
@@ -82,12 +82,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
82
82
  return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
83
83
  }
84
84
  /**
85
- * 同时运行多个模型, 并提供一个函数处理它们的结果
86
- * 如果其中任何一个模型发生错误, 则最终模型输出第一个错误
87
- * 处理函数的类型是: 所有模型的结果合并 => 泛型A
88
- * 新模型的类型是:
89
- * - 参数: 所有模型的参数合并
90
- * - 错误: 所有模型的错误合并
85
+ * 同时运行多个行为, 并提供一个函数处理它们的结果
86
+ * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
87
+ * 处理函数的类型是: 所有行为的结果合并 => 泛型A
88
+ * 新行为的类型是:
89
+ * - 参数: 所有行为的参数合并
90
+ * - 错误: 所有行为的错误合并
91
91
  * - 返回值: 泛型A
92
92
  */
93
93
  static \u5E76\u884C\u7EC4\u5408(arr, f) {
@@ -116,10 +116,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
116
116
  }
117
117
  // ================================= 组合 =================================
118
118
  /**
119
- * 将两个模型串接, 得到一个新模型, 新模型的类型是:
120
- * - 参数: a模型的参数
121
- * - 错误: a模型的错误+b模型的错误
122
- * - 返回值: b模型的返回值
119
+ * 将两个行为串接, 得到一个新行为, 新行为的类型是:
120
+ * - 参数: a行为的参数
121
+ * - 错误: a行为的错误+b行为的错误
122
+ * - 返回值: b行为的返回值
123
123
  */
124
124
  \u6D41\u5F0F\u7EC4\u5408(b) {
125
125
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -130,12 +130,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
130
130
  });
131
131
  }
132
132
  /**
133
- * 将两个模型串接, 得到一个新的模型
133
+ * 将两个行为串接, 得到一个新的行为
134
134
  * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
135
- * 新模型的类型是:
136
- * - 参数: a模型的参数+(b模型的参数-a模型的返回值)
137
- * - 错误: a模型的错误+b模型的错误
138
- * - 返回值: a模型的返回值+b模型的返回值
135
+ * 新行为的类型是:
136
+ * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
137
+ * - 错误: a行为的错误+b行为的错误
138
+ * - 返回值: a行为的返回值+b行为的返回值
139
139
  */
140
140
  \u6DF7\u5408\u7EC4\u5408(b) {
141
141
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -163,6 +163,13 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
163
163
  return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
164
164
  });
165
165
  }
166
+ /**
167
+ * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
168
+ * 新行为的类型是:
169
+ * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
170
+ * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
171
+ * - 返回值: 自定义数据
172
+ */
166
173
  \u7ED1\u5B9A(f) {
167
174
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
168
175
  const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
@@ -97,12 +97,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
97
97
  return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
98
98
  }
99
99
  /**
100
- * 同时运行多个模型, 并提供一个函数处理它们的结果
101
- * 如果其中任何一个模型发生错误, 则最终模型输出第一个错误
102
- * 处理函数的类型是: 所有模型的结果合并 => 泛型A
103
- * 新模型的类型是:
104
- * - 参数: 所有模型的参数合并
105
- * - 错误: 所有模型的错误合并
100
+ * 同时运行多个行为, 并提供一个函数处理它们的结果
101
+ * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
102
+ * 处理函数的类型是: 所有行为的结果合并 => 泛型A
103
+ * 新行为的类型是:
104
+ * - 参数: 所有行为的参数合并
105
+ * - 错误: 所有行为的错误合并
106
106
  * - 返回值: 泛型A
107
107
  */
108
108
  static \u5E76\u884C\u7EC4\u5408(arr, f) {
@@ -131,10 +131,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
131
131
  }
132
132
  // ================================= 组合 =================================
133
133
  /**
134
- * 将两个模型串接, 得到一个新模型, 新模型的类型是:
135
- * - 参数: a模型的参数
136
- * - 错误: a模型的错误+b模型的错误
137
- * - 返回值: b模型的返回值
134
+ * 将两个行为串接, 得到一个新行为, 新行为的类型是:
135
+ * - 参数: a行为的参数
136
+ * - 错误: a行为的错误+b行为的错误
137
+ * - 返回值: b行为的返回值
138
138
  */
139
139
  \u6D41\u5F0F\u7EC4\u5408(b) {
140
140
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -145,12 +145,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
145
145
  });
146
146
  }
147
147
  /**
148
- * 将两个模型串接, 得到一个新的模型
148
+ * 将两个行为串接, 得到一个新的行为
149
149
  * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
150
- * 新模型的类型是:
151
- * - 参数: a模型的参数+(b模型的参数-a模型的返回值)
152
- * - 错误: a模型的错误+b模型的错误
153
- * - 返回值: a模型的返回值+b模型的返回值
150
+ * 新行为的类型是:
151
+ * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
152
+ * - 错误: a行为的错误+b行为的错误
153
+ * - 返回值: a行为的返回值+b行为的返回值
154
154
  */
155
155
  \u6DF7\u5408\u7EC4\u5408(b) {
156
156
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -178,6 +178,13 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
178
178
  return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
179
179
  });
180
180
  }
181
+ /**
182
+ * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
183
+ * 新行为的类型是:
184
+ * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
185
+ * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
186
+ * - 返回值: 自定义数据
187
+ */
181
188
  \u7ED1\u5B9A(f) {
182
189
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
183
190
  const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
@@ -99,12 +99,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
99
99
  return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
100
100
  }
101
101
  /**
102
- * 同时运行多个模型, 并提供一个函数处理它们的结果
103
- * 如果其中任何一个模型发生错误, 则最终模型输出第一个错误
104
- * 处理函数的类型是: 所有模型的结果合并 => 泛型A
105
- * 新模型的类型是:
106
- * - 参数: 所有模型的参数合并
107
- * - 错误: 所有模型的错误合并
102
+ * 同时运行多个行为, 并提供一个函数处理它们的结果
103
+ * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
104
+ * 处理函数的类型是: 所有行为的结果合并 => 泛型A
105
+ * 新行为的类型是:
106
+ * - 参数: 所有行为的参数合并
107
+ * - 错误: 所有行为的错误合并
108
108
  * - 返回值: 泛型A
109
109
  */
110
110
  static \u5E76\u884C\u7EC4\u5408(arr, f) {
@@ -133,10 +133,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
133
133
  }
134
134
  // ================================= 组合 =================================
135
135
  /**
136
- * 将两个模型串接, 得到一个新模型, 新模型的类型是:
137
- * - 参数: a模型的参数
138
- * - 错误: a模型的错误+b模型的错误
139
- * - 返回值: b模型的返回值
136
+ * 将两个行为串接, 得到一个新行为, 新行为的类型是:
137
+ * - 参数: a行为的参数
138
+ * - 错误: a行为的错误+b行为的错误
139
+ * - 返回值: b行为的返回值
140
140
  */
141
141
  \u6D41\u5F0F\u7EC4\u5408(b) {
142
142
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -147,12 +147,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
147
147
  });
148
148
  }
149
149
  /**
150
- * 将两个模型串接, 得到一个新的模型
150
+ * 将两个行为串接, 得到一个新的行为
151
151
  * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
152
- * 新模型的类型是:
153
- * - 参数: a模型的参数+(b模型的参数-a模型的返回值)
154
- * - 错误: a模型的错误+b模型的错误
155
- * - 返回值: a模型的返回值+b模型的返回值
152
+ * 新行为的类型是:
153
+ * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
154
+ * - 错误: a行为的错误+b行为的错误
155
+ * - 返回值: a行为的返回值+b行为的返回值
156
156
  */
157
157
  \u6DF7\u5408\u7EC4\u5408(b) {
158
158
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -180,6 +180,13 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
180
180
  return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
181
181
  });
182
182
  }
183
+ /**
184
+ * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
185
+ * 新行为的类型是:
186
+ * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
187
+ * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
188
+ * - 返回值: 自定义数据
189
+ */
183
190
  \u7ED1\u5B9A(f) {
184
191
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
185
192
  const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
@@ -54,12 +54,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
54
54
  return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
55
55
  }
56
56
  /**
57
- * 同时运行多个模型, 并提供一个函数处理它们的结果
58
- * 如果其中任何一个模型发生错误, 则最终模型输出第一个错误
59
- * 处理函数的类型是: 所有模型的结果合并 => 泛型A
60
- * 新模型的类型是:
61
- * - 参数: 所有模型的参数合并
62
- * - 错误: 所有模型的错误合并
57
+ * 同时运行多个行为, 并提供一个函数处理它们的结果
58
+ * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
59
+ * 处理函数的类型是: 所有行为的结果合并 => 泛型A
60
+ * 新行为的类型是:
61
+ * - 参数: 所有行为的参数合并
62
+ * - 错误: 所有行为的错误合并
63
63
  * - 返回值: 泛型A
64
64
  */
65
65
  static \u5E76\u884C\u7EC4\u5408(arr, f) {
@@ -88,10 +88,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
88
88
  }
89
89
  // ================================= 组合 =================================
90
90
  /**
91
- * 将两个模型串接, 得到一个新模型, 新模型的类型是:
92
- * - 参数: a模型的参数
93
- * - 错误: a模型的错误+b模型的错误
94
- * - 返回值: b模型的返回值
91
+ * 将两个行为串接, 得到一个新行为, 新行为的类型是:
92
+ * - 参数: a行为的参数
93
+ * - 错误: a行为的错误+b行为的错误
94
+ * - 返回值: b行为的返回值
95
95
  */
96
96
  \u6D41\u5F0F\u7EC4\u5408(b) {
97
97
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -102,12 +102,12 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
102
102
  });
103
103
  }
104
104
  /**
105
- * 将两个模型串接, 得到一个新的模型
105
+ * 将两个行为串接, 得到一个新的行为
106
106
  * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
107
- * 新模型的类型是:
108
- * - 参数: a模型的参数+(b模型的参数-a模型的返回值)
109
- * - 错误: a模型的错误+b模型的错误
110
- * - 返回值: a模型的返回值+b模型的返回值
107
+ * 新行为的类型是:
108
+ * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
109
+ * - 错误: a行为的错误+b行为的错误
110
+ * - 返回值: a行为的返回值+b行为的返回值
111
111
  */
112
112
  \u6DF7\u5408\u7EC4\u5408(b) {
113
113
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
@@ -135,6 +135,13 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
135
135
  return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
136
136
  });
137
137
  }
138
+ /**
139
+ * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
140
+ * 新行为的类型是:
141
+ * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
142
+ * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
143
+ * - 返回值: 自定义数据
144
+ */
138
145
  \u7ED1\u5B9A(f) {
139
146
  return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
140
147
  const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
@@ -54,12 +54,12 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
54
54
  */
55
55
  static 混合组合多项<A extends 任意业务行为[]>(arr: [...A]): 计算混合组合数组<A>;
56
56
  /**
57
- * 同时运行多个模型, 并提供一个函数处理它们的结果
58
- * 如果其中任何一个模型发生错误, 则最终模型输出第一个错误
59
- * 处理函数的类型是: 所有模型的结果合并 => 泛型A
60
- * 新模型的类型是:
61
- * - 参数: 所有模型的参数合并
62
- * - 错误: 所有模型的错误合并
57
+ * 同时运行多个行为, 并提供一个函数处理它们的结果
58
+ * 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
59
+ * 处理函数的类型是: 所有行为的结果合并 => 泛型A
60
+ * 新行为的类型是:
61
+ * - 参数: 所有行为的参数合并
62
+ * - 错误: 所有行为的错误合并
63
63
  * - 返回值: 泛型A
64
64
  */
65
65
  static 并行组合<X extends 任意业务行为[], A extends 业务行为返回类型>(arr: [...X], f: (a: 计算业务行为返回<计算合并<X>>) => Promise<A>): 业务行为<计算业务行为参数<计算合并<X>>, 计算业务行为错误<计算合并<X>>, A>;
@@ -67,23 +67,30 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
67
67
  设置参数<A extends Partial<参数类型>>(设置参数: A): 业务行为<Omit<参数类型, keyof A>, 错误类型, 返回类型>;
68
68
  运行业务行为(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
69
69
  /**
70
- * 将两个模型串接, 得到一个新模型, 新模型的类型是:
71
- * - 参数: a模型的参数
72
- * - 错误: a模型的错误+b模型的错误
73
- * - 返回值: b模型的返回值
70
+ * 将两个行为串接, 得到一个新行为, 新行为的类型是:
71
+ * - 参数: a行为的参数
72
+ * - 错误: a行为的错误+b行为的错误
73
+ * - 返回值: b行为的返回值
74
74
  */
75
75
  流式组合<B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(b: 业务行为<返回类型, B错误类型, B返回类型>): 业务行为<参数类型, 错误类型 | B错误类型, B返回类型>;
76
76
  /**
77
- * 将两个模型串接, 得到一个新的模型
77
+ * 将两个行为串接, 得到一个新的行为
78
78
  * 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
79
- * 新模型的类型是:
80
- * - 参数: a模型的参数+(b模型的参数-a模型的返回值)
81
- * - 错误: a模型的错误+b模型的错误
82
- * - 返回值: a模型的返回值+b模型的返回值
79
+ * 新行为的类型是:
80
+ * - 参数: a行为的参数+(b行为的参数-a行为的返回值)
81
+ * - 错误: a行为的错误+b行为的错误
82
+ * - 返回值: a行为的返回值+b行为的返回值
83
83
  */
84
84
  混合组合<B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(b: 业务行为<B参数类型, B错误类型, B返回类型>): 计算混合组合<参数类型, 错误类型, 返回类型, B参数类型, B错误类型, B返回类型>;
85
85
  映射结果<新返回类型 extends 业务行为返回类型>(f: (a: 返回类型) => 新返回类型): 业务行为<参数类型, 错误类型, 新返回类型>;
86
86
  映射错误<新错误类型 extends 业务行为错误类型>(f: (a: 错误类型) => 新错误类型): 业务行为<参数类型, 新错误类型, 返回类型>;
87
+ /**
88
+ * 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
89
+ * 新行为的类型是:
90
+ * - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
91
+ * - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
92
+ * - 返回值: 自定义数据
93
+ */
87
94
  绑定<新参数类型 extends 业务行为参数类型 & 参数类型, 新错误类型 extends 错误类型 | 业务行为错误类型, 新返回类型 extends 业务行为返回类型>(f: (a: 返回类型) => 业务行为<新参数类型, 新错误类型, 新返回类型>): 业务行为<新参数类型, 新错误类型, 新返回类型>;
88
95
  }
89
96
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  业务行为
3
- } from "../chunk-V3S5HDZD.js";
3
+ } from "../chunk-T3WICQWT.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-L6B3BHT7.js";
4
+ } from "../../chunk-G73B4M36.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-L6B3BHT7.js";
3
+ } from "../../chunk-G73B4M36.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-QXOTCD4X.js";
4
+ } from "../../chunk-GWWQPWGC.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-QXOTCD4X.js";
3
+ } from "../../chunk-GWWQPWGC.js";
4
4
  export {
5
5
  main
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  业务行为
3
- } from "./chunk-V3S5HDZD.js";
3
+ } from "./chunk-T3WICQWT.js";
4
4
 
5
5
  // src/interface/interface-inst.ts
6
6
  var \u63A5\u53E3 = class extends \u4E1A\u52A1\u884C\u4E3A {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  接口
3
- } from "./chunk-AY7GYJWL.js";
3
+ } from "./chunk-E7N7HVWO.js";
4
4
  import {
5
5
  正确JSON结果,
6
6
  错误JSON结果
@@ -114,7 +114,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
114
114
  `import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
115
115
  "",
116
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)}'`
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
118
  ),
119
119
  "",
120
120
  `export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
@@ -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())`),
@@ -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";
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-DERN3VFQ.js";
7
+ } from "./chunk-YRW76W44.js";
8
8
  import {
9
9
  中文路径支持插件
10
10
  } from "./chunk-KW3M3VXP.js";
@@ -22,10 +22,10 @@ import {
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";
@@ -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,9 +1,9 @@
1
1
  import {
2
2
  JSON状态接口,
3
3
  JSON状态接口类型
4
- } from "../../chunk-DERN3VFQ.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";
@@ -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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsby/net-core",
3
- "version": "0.3.27",
3
+ "version": "0.3.28",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",