@lsby/net-core 0.3.14 → 0.3.16
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.
- package/dist/cjs/extend/api-json-base.cjs +29 -30
- package/dist/cjs/extend/api-json-wrap.cjs +29 -30
- package/dist/cjs/index.cjs +29 -30
- package/dist/cjs/interface/action/action.cjs +29 -30
- package/dist/cjs/interface/action/action.d.cts +4 -4
- package/dist/cjs/interface/inst/interface-abstract.cjs +29 -30
- package/dist/cjs/interface/inst/interface.cjs +29 -30
- package/dist/esm/{chunk-NTF7DHS6.js → chunk-4KPEZSLF.js} +1 -1
- package/dist/esm/{chunk-S3MA5BPX.js → chunk-F67SJBYR.js} +1 -1
- package/dist/esm/{chunk-Q776JNLH.js → chunk-LQL7EJDE.js} +1 -1
- package/dist/esm/{chunk-EWL3GEYZ.js → chunk-PZDVVGEL.js} +29 -30
- package/dist/esm/{chunk-2L7T6CM4.js → chunk-QJ63PBCO.js} +1 -1
- package/dist/esm/extend/api-json-base.js +3 -3
- package/dist/esm/extend/api-json-wrap.js +4 -4
- package/dist/esm/index.js +5 -5
- package/dist/esm/interface/action/action.d.ts +4 -4
- package/dist/esm/interface/action/action.js +1 -1
- package/dist/esm/interface/inst/interface-abstract.js +2 -2
- package/dist/esm/interface/inst/interface.js +3 -3
- package/package.json +1 -1
|
@@ -28,12 +28,18 @@ module.exports = __toCommonJS(api_json_base_exports);
|
|
|
28
28
|
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
29
29
|
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
30
30
|
// ================================= 静态 =================================
|
|
31
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0
|
|
31
|
+
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
32
32
|
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
33
33
|
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
34
34
|
return \u5B9E\u73B0(\u53C2\u6570);
|
|
35
35
|
}
|
|
36
|
-
}(
|
|
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));
|
|
37
43
|
}
|
|
38
44
|
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
39
45
|
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
@@ -57,35 +63,20 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
57
63
|
* - 返回值: 泛型A
|
|
58
64
|
*/
|
|
59
65
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
60
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
`\u5E76\u884C\u7EC4\u5408(${arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0).join(", ")})`
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
// ================================= 私有 =================================
|
|
73
|
-
\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
74
|
-
constructor(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
75
|
-
if (!\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0)
|
|
76
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = this.constructor.name || "<\u533F\u540D>";
|
|
77
|
-
else
|
|
78
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
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
|
+
});
|
|
79
74
|
}
|
|
80
75
|
// ================================= 设置 =================================
|
|
81
|
-
\u8BBE\u7F6E\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
82
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
83
|
-
return this;
|
|
84
|
-
}
|
|
85
76
|
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
86
77
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
87
78
|
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
88
|
-
}
|
|
79
|
+
});
|
|
89
80
|
}
|
|
90
81
|
// ================================= 运行 =================================
|
|
91
82
|
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
@@ -108,7 +99,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
108
99
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
109
100
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
110
101
|
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
111
|
-
}
|
|
102
|
+
});
|
|
112
103
|
}
|
|
113
104
|
/**
|
|
114
105
|
* 将两个模型串接, 得到一个新的模型
|
|
@@ -125,7 +116,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
125
116
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
126
117
|
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
127
118
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
128
|
-
}
|
|
119
|
+
});
|
|
129
120
|
}
|
|
130
121
|
// ================================= 映射 =================================
|
|
131
122
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
@@ -134,7 +125,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
134
125
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
135
126
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
136
127
|
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
137
|
-
}
|
|
128
|
+
});
|
|
138
129
|
}
|
|
139
130
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
140
131
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
@@ -142,7 +133,15 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
142
133
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
143
134
|
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
144
135
|
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
145
|
-
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
\u7ED1\u5B9A(\u53C2\u6570, f) {
|
|
139
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u65B0\u53C2\u6570) => {
|
|
140
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
141
|
+
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
142
|
+
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
143
|
+
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u65B0\u53C2\u6570);
|
|
144
|
+
});
|
|
146
145
|
}
|
|
147
146
|
};
|
|
148
147
|
|
|
@@ -36,12 +36,18 @@ var \u63A5\u53E3\u7C7B\u578B\u62BD\u8C61\u7C7B = class {
|
|
|
36
36
|
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
37
37
|
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
38
38
|
// ================================= 静态 =================================
|
|
39
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0
|
|
39
|
+
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
40
40
|
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
41
41
|
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
42
42
|
return \u5B9E\u73B0(\u53C2\u6570);
|
|
43
43
|
}
|
|
44
|
-
}(
|
|
44
|
+
}();
|
|
45
|
+
}
|
|
46
|
+
static \u901A\u8FC7\u6B63\u786E\u503C\u6784\u9020(a) {
|
|
47
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Right(a));
|
|
48
|
+
}
|
|
49
|
+
static \u901A\u8FC7\u9519\u8BEF\u503C\u6784\u9020(a) {
|
|
50
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Left(a));
|
|
45
51
|
}
|
|
46
52
|
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
47
53
|
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
@@ -65,35 +71,20 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
65
71
|
* - 返回值: 泛型A
|
|
66
72
|
*/
|
|
67
73
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
68
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
},
|
|
77
|
-
`\u5E76\u884C\u7EC4\u5408(${arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0).join(", ")})`
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
// ================================= 私有 =================================
|
|
81
|
-
\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
82
|
-
constructor(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
83
|
-
if (!\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0)
|
|
84
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = this.constructor.name || "<\u533F\u540D>";
|
|
85
|
-
else
|
|
86
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
74
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
75
|
+
var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570)));
|
|
76
|
+
var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
77
|
+
if (\u9519\u8BEF)
|
|
78
|
+
return \u9519\u8BEF;
|
|
79
|
+
var \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
|
|
80
|
+
return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
81
|
+
});
|
|
87
82
|
}
|
|
88
83
|
// ================================= 设置 =================================
|
|
89
|
-
\u8BBE\u7F6E\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
90
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
91
|
-
return this;
|
|
92
|
-
}
|
|
93
84
|
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
94
85
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
95
86
|
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
96
|
-
}
|
|
87
|
+
});
|
|
97
88
|
}
|
|
98
89
|
// ================================= 运行 =================================
|
|
99
90
|
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
@@ -116,7 +107,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
116
107
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
117
108
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
118
109
|
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
119
|
-
}
|
|
110
|
+
});
|
|
120
111
|
}
|
|
121
112
|
/**
|
|
122
113
|
* 将两个模型串接, 得到一个新的模型
|
|
@@ -133,7 +124,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
133
124
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
134
125
|
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
135
126
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
136
|
-
}
|
|
127
|
+
});
|
|
137
128
|
}
|
|
138
129
|
// ================================= 映射 =================================
|
|
139
130
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
@@ -142,7 +133,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
142
133
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
143
134
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
144
135
|
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
145
|
-
}
|
|
136
|
+
});
|
|
146
137
|
}
|
|
147
138
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
148
139
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
@@ -150,7 +141,15 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
150
141
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
151
142
|
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
152
143
|
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
153
|
-
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
\u7ED1\u5B9A(\u53C2\u6570, f) {
|
|
147
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u65B0\u53C2\u6570) => {
|
|
148
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
149
|
+
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
150
|
+
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
151
|
+
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u65B0\u53C2\u6570);
|
|
152
|
+
});
|
|
154
153
|
}
|
|
155
154
|
};
|
|
156
155
|
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -60,12 +60,18 @@ module.exports = __toCommonJS(src_exports);
|
|
|
60
60
|
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
61
61
|
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
62
62
|
// ================================= 静态 =================================
|
|
63
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0
|
|
63
|
+
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
64
64
|
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
65
65
|
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
66
66
|
return \u5B9E\u73B0(\u53C2\u6570);
|
|
67
67
|
}
|
|
68
|
-
}(
|
|
68
|
+
}();
|
|
69
|
+
}
|
|
70
|
+
static \u901A\u8FC7\u6B63\u786E\u503C\u6784\u9020(a) {
|
|
71
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Right(a));
|
|
72
|
+
}
|
|
73
|
+
static \u901A\u8FC7\u9519\u8BEF\u503C\u6784\u9020(a) {
|
|
74
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Left(a));
|
|
69
75
|
}
|
|
70
76
|
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
71
77
|
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
@@ -89,35 +95,20 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
89
95
|
* - 返回值: 泛型A
|
|
90
96
|
*/
|
|
91
97
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
92
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
},
|
|
101
|
-
`\u5E76\u884C\u7EC4\u5408(${arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0).join(", ")})`
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
// ================================= 私有 =================================
|
|
105
|
-
\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
106
|
-
constructor(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
107
|
-
if (!\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0)
|
|
108
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = this.constructor.name || "<\u533F\u540D>";
|
|
109
|
-
else
|
|
110
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
98
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
99
|
+
var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570)));
|
|
100
|
+
var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
101
|
+
if (\u9519\u8BEF)
|
|
102
|
+
return \u9519\u8BEF;
|
|
103
|
+
var \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
|
|
104
|
+
return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
105
|
+
});
|
|
111
106
|
}
|
|
112
107
|
// ================================= 设置 =================================
|
|
113
|
-
\u8BBE\u7F6E\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
114
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
115
|
-
return this;
|
|
116
|
-
}
|
|
117
108
|
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
118
109
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
119
110
|
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
120
|
-
}
|
|
111
|
+
});
|
|
121
112
|
}
|
|
122
113
|
// ================================= 运行 =================================
|
|
123
114
|
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
@@ -140,7 +131,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
140
131
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
141
132
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
142
133
|
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
143
|
-
}
|
|
134
|
+
});
|
|
144
135
|
}
|
|
145
136
|
/**
|
|
146
137
|
* 将两个模型串接, 得到一个新的模型
|
|
@@ -157,7 +148,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
157
148
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
158
149
|
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
159
150
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
160
|
-
}
|
|
151
|
+
});
|
|
161
152
|
}
|
|
162
153
|
// ================================= 映射 =================================
|
|
163
154
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
@@ -166,7 +157,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
166
157
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
167
158
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
168
159
|
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
169
|
-
}
|
|
160
|
+
});
|
|
170
161
|
}
|
|
171
162
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
172
163
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
@@ -174,7 +165,15 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
174
165
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
175
166
|
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
176
167
|
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
177
|
-
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
\u7ED1\u5B9A(\u53C2\u6570, f) {
|
|
171
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u65B0\u53C2\u6570) => {
|
|
172
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
173
|
+
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
174
|
+
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
175
|
+
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u65B0\u53C2\u6570);
|
|
176
|
+
});
|
|
178
177
|
}
|
|
179
178
|
};
|
|
180
179
|
|
|
@@ -26,12 +26,18 @@ module.exports = __toCommonJS(action_exports);
|
|
|
26
26
|
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
27
27
|
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
28
28
|
// ================================= 静态 =================================
|
|
29
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0
|
|
29
|
+
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
30
30
|
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
31
31
|
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
32
32
|
return \u5B9E\u73B0(\u53C2\u6570);
|
|
33
33
|
}
|
|
34
|
-
}(
|
|
34
|
+
}();
|
|
35
|
+
}
|
|
36
|
+
static \u901A\u8FC7\u6B63\u786E\u503C\u6784\u9020(a) {
|
|
37
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Right(a));
|
|
38
|
+
}
|
|
39
|
+
static \u901A\u8FC7\u9519\u8BEF\u503C\u6784\u9020(a) {
|
|
40
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Left(a));
|
|
35
41
|
}
|
|
36
42
|
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
37
43
|
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
@@ -55,35 +61,20 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
55
61
|
* - 返回值: 泛型A
|
|
56
62
|
*/
|
|
57
63
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
58
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
},
|
|
67
|
-
`\u5E76\u884C\u7EC4\u5408(${arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0).join(", ")})`
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
// ================================= 私有 =================================
|
|
71
|
-
\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
72
|
-
constructor(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
73
|
-
if (!\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0)
|
|
74
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = this.constructor.name || "<\u533F\u540D>";
|
|
75
|
-
else
|
|
76
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
64
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
65
|
+
var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570)));
|
|
66
|
+
var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
67
|
+
if (\u9519\u8BEF)
|
|
68
|
+
return \u9519\u8BEF;
|
|
69
|
+
var \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
|
|
70
|
+
return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
71
|
+
});
|
|
77
72
|
}
|
|
78
73
|
// ================================= 设置 =================================
|
|
79
|
-
\u8BBE\u7F6E\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
80
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
81
|
-
return this;
|
|
82
|
-
}
|
|
83
74
|
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
84
75
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
85
76
|
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
86
|
-
}
|
|
77
|
+
});
|
|
87
78
|
}
|
|
88
79
|
// ================================= 运行 =================================
|
|
89
80
|
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
@@ -106,7 +97,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
106
97
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
107
98
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
108
99
|
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
109
|
-
}
|
|
100
|
+
});
|
|
110
101
|
}
|
|
111
102
|
/**
|
|
112
103
|
* 将两个模型串接, 得到一个新的模型
|
|
@@ -123,7 +114,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
123
114
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
124
115
|
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
125
116
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
126
|
-
}
|
|
117
|
+
});
|
|
127
118
|
}
|
|
128
119
|
// ================================= 映射 =================================
|
|
129
120
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
@@ -132,7 +123,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
132
123
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
133
124
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
134
125
|
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
135
|
-
}
|
|
126
|
+
});
|
|
136
127
|
}
|
|
137
128
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
138
129
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
@@ -140,7 +131,15 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
140
131
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
141
132
|
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
142
133
|
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
143
|
-
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
\u7ED1\u5B9A(\u53C2\u6570, f) {
|
|
137
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u65B0\u53C2\u6570) => {
|
|
138
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
139
|
+
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
140
|
+
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
141
|
+
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u65B0\u53C2\u6570);
|
|
142
|
+
});
|
|
144
143
|
}
|
|
145
144
|
};
|
|
146
145
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -44,7 +44,9 @@ type 取返回<A> = A extends 业务行为<infer _参数, infer _错误, infer
|
|
|
44
44
|
* 这将会得到实现中返回的结果
|
|
45
45
|
*/
|
|
46
46
|
declare abstract class 业务行为<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型> {
|
|
47
|
-
static 通过实现构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(实现: (参数: 参数类型) => Promise<Either<错误类型,
|
|
47
|
+
static 通过实现构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(实现: (参数: 参数类型) => Promise<Either<错误类型, 返回类型>>): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
48
|
+
static 通过正确值构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(a: 返回类型): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
49
|
+
static 通过错误值构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(a: 错误类型): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
48
50
|
static 流式组合<A参数类型 extends 业务行为参数类型, A错误类型 extends 业务行为错误类型, A返回类型 extends 业务行为返回类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(a: 业务行为<A参数类型, A错误类型, A返回类型>, b: 业务行为<A返回类型, B错误类型, B返回类型>): 业务行为<A参数类型, A错误类型 | B错误类型, B返回类型>;
|
|
49
51
|
static 混合组合<A参数类型 extends 业务行为参数类型, A错误类型 extends 业务行为错误类型, A返回类型 extends 业务行为返回类型, B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(a: 业务行为<A参数类型, A错误类型, A返回类型>, b: 业务行为<B参数类型, B错误类型, B返回类型>): 计算混合组合<A参数类型, A错误类型, A返回类型, B参数类型, B错误类型, B返回类型>;
|
|
50
52
|
/**
|
|
@@ -61,10 +63,7 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
|
|
|
61
63
|
* - 返回值: 泛型A
|
|
62
64
|
*/
|
|
63
65
|
static 并行组合<X extends 任意业务行为[], A extends 业务行为返回类型>(arr: [...X], f: (a: 取返回<计算合并<X>>) => Promise<A>): 业务行为<取参数<计算合并<X>>, 取错误<计算合并<X>>, A>;
|
|
64
|
-
private 业务行为名称;
|
|
65
|
-
constructor(业务行为名称?: string);
|
|
66
66
|
protected abstract 业务行为实现(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
67
|
-
设置业务行为名称(业务行为名称: string): this;
|
|
68
67
|
设置参数<A extends Partial<参数类型>>(设置参数: A): 业务行为<Omit<参数类型, keyof A>, 错误类型, 返回类型>;
|
|
69
68
|
运行业务行为(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
70
69
|
/**
|
|
@@ -85,6 +84,7 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
|
|
|
85
84
|
混合组合<B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(b: 业务行为<B参数类型, B错误类型, B返回类型>): 计算混合组合<参数类型, 错误类型, 返回类型, B参数类型, B错误类型, B返回类型>;
|
|
86
85
|
映射结果<新返回类型 extends 业务行为返回类型>(f: (a: 返回类型) => 新返回类型): 业务行为<参数类型, 错误类型, 新返回类型>;
|
|
87
86
|
映射错误<新错误类型 extends 业务行为错误类型>(f: (a: 错误类型) => 新错误类型): 业务行为<参数类型, 新错误类型, 返回类型>;
|
|
87
|
+
绑定<新参数类型 extends 业务行为参数类型, 新错误类型 extends 错误类型 | 业务行为错误类型, 新返回类型 extends 业务行为返回类型>(参数: 参数类型, f: (a: 返回类型) => 业务行为<新参数类型, 新错误类型, 新返回类型>): 业务行为<新参数类型, 新错误类型, 新返回类型>;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
export { 业务行为, type 业务行为参数类型, type 业务行为返回类型, type 业务行为错误类型 };
|
|
@@ -28,12 +28,18 @@ module.exports = __toCommonJS(interface_abstract_exports);
|
|
|
28
28
|
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
29
29
|
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
30
30
|
// ================================= 静态 =================================
|
|
31
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0
|
|
31
|
+
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
32
32
|
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
33
33
|
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
34
34
|
return \u5B9E\u73B0(\u53C2\u6570);
|
|
35
35
|
}
|
|
36
|
-
}(
|
|
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));
|
|
37
43
|
}
|
|
38
44
|
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
39
45
|
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
@@ -57,35 +63,20 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
57
63
|
* - 返回值: 泛型A
|
|
58
64
|
*/
|
|
59
65
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
60
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
`\u5E76\u884C\u7EC4\u5408(${arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0).join(", ")})`
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
// ================================= 私有 =================================
|
|
73
|
-
\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
74
|
-
constructor(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
75
|
-
if (!\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0)
|
|
76
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = this.constructor.name || "<\u533F\u540D>";
|
|
77
|
-
else
|
|
78
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
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
|
+
});
|
|
79
74
|
}
|
|
80
75
|
// ================================= 设置 =================================
|
|
81
|
-
\u8BBE\u7F6E\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
82
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
83
|
-
return this;
|
|
84
|
-
}
|
|
85
76
|
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
86
77
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
87
78
|
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
88
|
-
}
|
|
79
|
+
});
|
|
89
80
|
}
|
|
90
81
|
// ================================= 运行 =================================
|
|
91
82
|
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
@@ -108,7 +99,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
108
99
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
109
100
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
110
101
|
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
111
|
-
}
|
|
102
|
+
});
|
|
112
103
|
}
|
|
113
104
|
/**
|
|
114
105
|
* 将两个模型串接, 得到一个新的模型
|
|
@@ -125,7 +116,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
125
116
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
126
117
|
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
127
118
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
128
|
-
}
|
|
119
|
+
});
|
|
129
120
|
}
|
|
130
121
|
// ================================= 映射 =================================
|
|
131
122
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
@@ -134,7 +125,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
134
125
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
135
126
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
136
127
|
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
137
|
-
}
|
|
128
|
+
});
|
|
138
129
|
}
|
|
139
130
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
140
131
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
@@ -142,7 +133,15 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
142
133
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
143
134
|
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
144
135
|
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
145
|
-
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
\u7ED1\u5B9A(\u53C2\u6570, f) {
|
|
139
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u65B0\u53C2\u6570) => {
|
|
140
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
141
|
+
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
142
|
+
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
143
|
+
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u65B0\u53C2\u6570);
|
|
144
|
+
});
|
|
146
145
|
}
|
|
147
146
|
};
|
|
148
147
|
|
|
@@ -28,12 +28,18 @@ module.exports = __toCommonJS(interface_exports);
|
|
|
28
28
|
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
29
29
|
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
30
30
|
// ================================= 静态 =================================
|
|
31
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0
|
|
31
|
+
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
32
32
|
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
33
33
|
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
34
34
|
return \u5B9E\u73B0(\u53C2\u6570);
|
|
35
35
|
}
|
|
36
|
-
}(
|
|
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));
|
|
37
43
|
}
|
|
38
44
|
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
39
45
|
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
@@ -57,35 +63,20 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
57
63
|
* - 返回值: 泛型A
|
|
58
64
|
*/
|
|
59
65
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
60
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
`\u5E76\u884C\u7EC4\u5408(${arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0).join(", ")})`
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
// ================================= 私有 =================================
|
|
73
|
-
\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
74
|
-
constructor(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
75
|
-
if (!\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0)
|
|
76
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = this.constructor.name || "<\u533F\u540D>";
|
|
77
|
-
else
|
|
78
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
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
|
+
});
|
|
79
74
|
}
|
|
80
75
|
// ================================= 设置 =================================
|
|
81
|
-
\u8BBE\u7F6E\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
82
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
83
|
-
return this;
|
|
84
|
-
}
|
|
85
76
|
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
86
77
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
87
78
|
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
88
|
-
}
|
|
79
|
+
});
|
|
89
80
|
}
|
|
90
81
|
// ================================= 运行 =================================
|
|
91
82
|
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
@@ -108,7 +99,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
108
99
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
109
100
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
110
101
|
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
111
|
-
}
|
|
102
|
+
});
|
|
112
103
|
}
|
|
113
104
|
/**
|
|
114
105
|
* 将两个模型串接, 得到一个新的模型
|
|
@@ -125,7 +116,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
125
116
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
126
117
|
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
127
118
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
128
|
-
}
|
|
119
|
+
});
|
|
129
120
|
}
|
|
130
121
|
// ================================= 映射 =================================
|
|
131
122
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
@@ -134,7 +125,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
134
125
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
135
126
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
136
127
|
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
137
|
-
}
|
|
128
|
+
});
|
|
138
129
|
}
|
|
139
130
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
140
131
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
@@ -142,7 +133,15 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
142
133
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
143
134
|
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
144
135
|
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
145
|
-
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
\u7ED1\u5B9A(\u53C2\u6570, f) {
|
|
139
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u65B0\u53C2\u6570) => {
|
|
140
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
141
|
+
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
142
|
+
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
143
|
+
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u65B0\u53C2\u6570);
|
|
144
|
+
});
|
|
146
145
|
}
|
|
147
146
|
};
|
|
148
147
|
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
import { Either, Left, Right } from "@lsby/ts-fp-data";
|
|
3
3
|
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
4
4
|
// ================================= 静态 =================================
|
|
5
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0
|
|
5
|
+
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
6
6
|
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
7
7
|
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
8
8
|
return \u5B9E\u73B0(\u53C2\u6570);
|
|
9
9
|
}
|
|
10
|
-
}(
|
|
10
|
+
}();
|
|
11
|
+
}
|
|
12
|
+
static \u901A\u8FC7\u6B63\u786E\u503C\u6784\u9020(a) {
|
|
13
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new Right(a));
|
|
14
|
+
}
|
|
15
|
+
static \u901A\u8FC7\u9519\u8BEF\u503C\u6784\u9020(a) {
|
|
16
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new Left(a));
|
|
11
17
|
}
|
|
12
18
|
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
13
19
|
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
@@ -31,35 +37,20 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
31
37
|
* - 返回值: 泛型A
|
|
32
38
|
*/
|
|
33
39
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
34
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
`\u5E76\u884C\u7EC4\u5408(${arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0).join(", ")})`
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
// ================================= 私有 =================================
|
|
47
|
-
\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
48
|
-
constructor(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
49
|
-
if (!\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0)
|
|
50
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = this.constructor.name || "<\u533F\u540D>";
|
|
51
|
-
else
|
|
52
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
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)));
|
|
42
|
+
var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
43
|
+
if (\u9519\u8BEF)
|
|
44
|
+
return \u9519\u8BEF;
|
|
45
|
+
var \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
|
|
46
|
+
return new Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
47
|
+
});
|
|
53
48
|
}
|
|
54
49
|
// ================================= 设置 =================================
|
|
55
|
-
\u8BBE\u7F6E\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0(\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0) {
|
|
56
|
-
this.\u4E1A\u52A1\u884C\u4E3A\u540D\u79F0 = \u4E1A\u52A1\u884C\u4E3A\u540D\u79F0;
|
|
57
|
-
return this;
|
|
58
|
-
}
|
|
59
50
|
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
60
51
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
61
52
|
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
62
|
-
}
|
|
53
|
+
});
|
|
63
54
|
}
|
|
64
55
|
// ================================= 运行 =================================
|
|
65
56
|
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
@@ -82,7 +73,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
82
73
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
83
74
|
return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
84
75
|
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
85
|
-
}
|
|
76
|
+
});
|
|
86
77
|
}
|
|
87
78
|
/**
|
|
88
79
|
* 将两个模型串接, 得到一个新的模型
|
|
@@ -99,7 +90,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
99
90
|
return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
100
91
|
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
101
92
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
102
|
-
}
|
|
93
|
+
});
|
|
103
94
|
}
|
|
104
95
|
// ================================= 映射 =================================
|
|
105
96
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
@@ -108,7 +99,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
108
99
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
109
100
|
return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
110
101
|
return Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
111
|
-
}
|
|
102
|
+
});
|
|
112
103
|
}
|
|
113
104
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
114
105
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
@@ -116,7 +107,15 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
116
107
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
117
108
|
return new Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
118
109
|
return Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
119
|
-
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
\u7ED1\u5B9A(\u53C2\u6570, f) {
|
|
113
|
+
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u65B0\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 Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
117
|
+
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u65B0\u53C2\u6570);
|
|
118
|
+
});
|
|
120
119
|
}
|
|
121
120
|
};
|
|
122
121
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
JSON接口基类
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-QJ63PBCO.js";
|
|
4
|
+
import "../chunk-F67SJBYR.js";
|
|
5
|
+
import "../chunk-PZDVVGEL.js";
|
|
6
6
|
import "../chunk-IPDMEQ3O.js";
|
|
7
7
|
import "../chunk-AHCV3LQ7.js";
|
|
8
8
|
export {
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
JSON接口包装基类,
|
|
3
3
|
包装的接口类型,
|
|
4
4
|
包装的接口类型抽象类
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-4KPEZSLF.js";
|
|
6
6
|
import "../chunk-DMQXYTFQ.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-QJ63PBCO.js";
|
|
8
|
+
import "../chunk-F67SJBYR.js";
|
|
9
|
+
import "../chunk-PZDVVGEL.js";
|
|
10
10
|
import "../chunk-IPDMEQ3O.js";
|
|
11
11
|
import "../chunk-AHCV3LQ7.js";
|
|
12
12
|
export {
|
package/dist/esm/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-CMHISRDG.js";
|
|
4
4
|
import {
|
|
5
5
|
接口
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LQL7EJDE.js";
|
|
7
7
|
import {
|
|
8
8
|
表单解析插件
|
|
9
9
|
} from "./chunk-5UUMGDDD.js";
|
|
@@ -20,19 +20,19 @@ import {
|
|
|
20
20
|
JSON接口包装基类,
|
|
21
21
|
包装的接口类型,
|
|
22
22
|
包装的接口类型抽象类
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-4KPEZSLF.js";
|
|
24
24
|
import {
|
|
25
25
|
接口类型抽象类
|
|
26
26
|
} from "./chunk-DMQXYTFQ.js";
|
|
27
27
|
import {
|
|
28
28
|
JSON接口基类
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-QJ63PBCO.js";
|
|
30
30
|
import {
|
|
31
31
|
API接口基类
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-F67SJBYR.js";
|
|
33
33
|
import {
|
|
34
34
|
业务行为
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-PZDVVGEL.js";
|
|
36
36
|
import {
|
|
37
37
|
正确JSON结果,
|
|
38
38
|
正确结果,
|
|
@@ -44,7 +44,9 @@ type 取返回<A> = A extends 业务行为<infer _参数, infer _错误, infer
|
|
|
44
44
|
* 这将会得到实现中返回的结果
|
|
45
45
|
*/
|
|
46
46
|
declare abstract class 业务行为<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型> {
|
|
47
|
-
static 通过实现构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(实现: (参数: 参数类型) => Promise<Either<错误类型,
|
|
47
|
+
static 通过实现构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(实现: (参数: 参数类型) => Promise<Either<错误类型, 返回类型>>): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
48
|
+
static 通过正确值构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(a: 返回类型): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
49
|
+
static 通过错误值构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(a: 错误类型): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
48
50
|
static 流式组合<A参数类型 extends 业务行为参数类型, A错误类型 extends 业务行为错误类型, A返回类型 extends 业务行为返回类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(a: 业务行为<A参数类型, A错误类型, A返回类型>, b: 业务行为<A返回类型, B错误类型, B返回类型>): 业务行为<A参数类型, A错误类型 | B错误类型, B返回类型>;
|
|
49
51
|
static 混合组合<A参数类型 extends 业务行为参数类型, A错误类型 extends 业务行为错误类型, A返回类型 extends 业务行为返回类型, B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(a: 业务行为<A参数类型, A错误类型, A返回类型>, b: 业务行为<B参数类型, B错误类型, B返回类型>): 计算混合组合<A参数类型, A错误类型, A返回类型, B参数类型, B错误类型, B返回类型>;
|
|
50
52
|
/**
|
|
@@ -61,10 +63,7 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
|
|
|
61
63
|
* - 返回值: 泛型A
|
|
62
64
|
*/
|
|
63
65
|
static 并行组合<X extends 任意业务行为[], A extends 业务行为返回类型>(arr: [...X], f: (a: 取返回<计算合并<X>>) => Promise<A>): 业务行为<取参数<计算合并<X>>, 取错误<计算合并<X>>, A>;
|
|
64
|
-
private 业务行为名称;
|
|
65
|
-
constructor(业务行为名称?: string);
|
|
66
66
|
protected abstract 业务行为实现(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
67
|
-
设置业务行为名称(业务行为名称: string): this;
|
|
68
67
|
设置参数<A extends Partial<参数类型>>(设置参数: A): 业务行为<Omit<参数类型, keyof A>, 错误类型, 返回类型>;
|
|
69
68
|
运行业务行为(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
70
69
|
/**
|
|
@@ -85,6 +84,7 @@ declare abstract class 业务行为<参数类型 extends 业务行为参数类
|
|
|
85
84
|
混合组合<B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(b: 业务行为<B参数类型, B错误类型, B返回类型>): 计算混合组合<参数类型, 错误类型, 返回类型, B参数类型, B错误类型, B返回类型>;
|
|
86
85
|
映射结果<新返回类型 extends 业务行为返回类型>(f: (a: 返回类型) => 新返回类型): 业务行为<参数类型, 错误类型, 新返回类型>;
|
|
87
86
|
映射错误<新错误类型 extends 业务行为错误类型>(f: (a: 错误类型) => 新错误类型): 业务行为<参数类型, 新错误类型, 返回类型>;
|
|
87
|
+
绑定<新参数类型 extends 业务行为参数类型, 新错误类型 extends 错误类型 | 业务行为错误类型, 新返回类型 extends 业务行为返回类型>(参数: 参数类型, f: (a: 返回类型) => 业务行为<新参数类型, 新错误类型, 新返回类型>): 业务行为<新参数类型, 新错误类型, 新返回类型>;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
export { 业务行为, type 业务行为参数类型, type 业务行为返回类型, type 业务行为错误类型 };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
接口
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-LQL7EJDE.js";
|
|
4
|
+
import "../../chunk-F67SJBYR.js";
|
|
5
|
+
import "../../chunk-PZDVVGEL.js";
|
|
6
6
|
export {
|
|
7
7
|
\u63A5\u53E3
|
|
8
8
|
};
|