@lsby/net-core 0.3.28 → 0.3.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/gen-list/bin.cjs +27 -47
- package/dist/bin/gen-list/index.cjs +27 -47
- package/dist/bin/gen-test/bin.cjs +27 -33
- package/dist/bin/gen-test/index.cjs +27 -33
- package/dist/bin/gen-type/bin.cjs +39 -64
- package/dist/bin/gen-type/index.cjs +39 -64
- package/dist/cjs/action/action.cjs +20 -11
- package/dist/cjs/action/action.d.cts +19 -17
- package/dist/cjs/bin/gen-list/bin.cjs +27 -47
- package/dist/cjs/bin/gen-list/index.cjs +27 -47
- package/dist/cjs/bin/gen-test/bin.cjs +27 -33
- package/dist/cjs/bin/gen-test/index.cjs +27 -33
- package/dist/cjs/bin/gen-type/bin.cjs +39 -64
- package/dist/cjs/bin/gen-type/index.cjs +39 -64
- package/dist/cjs/index.cjs +46 -31
- package/dist/cjs/index.d.cts +3 -3
- package/dist/cjs/interface/extend/json-base.cjs +11 -134
- package/dist/cjs/interface/extend/json-base.d.cts +11 -7
- package/dist/cjs/interface/extend/json-wrap.cjs +12 -145
- package/dist/cjs/interface/extend/json-wrap.d.cts +13 -13
- package/dist/cjs/interface/interface-inst.cjs +1 -134
- package/dist/cjs/interface/interface-inst.d.cts +8 -11
- package/dist/cjs/interface/interface-test.cjs +4 -1
- package/dist/cjs/interface/interface-test.d.cts +5 -5
- package/dist/cjs/interface/interface-type.d.cts +2 -3
- package/dist/cjs/server/server.d.cts +3 -4
- package/dist/esm/action/action.d.ts +19 -17
- package/dist/esm/action/action.js +1 -1
- package/dist/esm/bin/gen-list/bin.js +1 -1
- package/dist/esm/bin/gen-list/index.js +1 -1
- package/dist/esm/bin/gen-test/bin.js +1 -1
- package/dist/esm/bin/gen-test/index.js +1 -1
- package/dist/esm/bin/gen-type/bin.js +1 -1
- package/dist/esm/bin/gen-type/index.js +1 -1
- package/dist/esm/{chunk-SFNQ5AWH.js → chunk-25X7QZ6T.js} +4 -1
- package/dist/esm/chunk-B55VVACL.js +29 -0
- package/dist/esm/{chunk-T3WICQWT.js → chunk-B6PEMS6O.js} +20 -11
- package/dist/esm/chunk-G4P3OAFL.js +7 -0
- package/dist/esm/{chunk-G73B4M36.js → chunk-MXNVJRJT.js} +27 -47
- package/dist/esm/{chunk-YRW76W44.js → chunk-PVTF4VYK.js} +9 -11
- package/dist/esm/{chunk-6QNJCAAV.js → chunk-SMAC5ZMF.js} +39 -64
- package/dist/esm/{chunk-GWWQPWGC.js → chunk-UABF4235.js} +27 -33
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +7 -7
- package/dist/esm/interface/extend/json-base.d.ts +11 -7
- package/dist/esm/interface/extend/json-base.js +2 -3
- package/dist/esm/interface/extend/json-wrap.d.ts +13 -13
- package/dist/esm/interface/extend/json-wrap.js +2 -3
- package/dist/esm/interface/interface-inst.d.ts +8 -11
- package/dist/esm/interface/interface-inst.js +1 -2
- package/dist/esm/interface/interface-test.d.ts +5 -5
- package/dist/esm/interface/interface-test.js +1 -1
- package/dist/esm/interface/interface-type.d.ts +2 -3
- package/dist/esm/server/server.d.ts +3 -4
- package/package.json +3 -3
- package/dist/esm/chunk-E7N7HVWO.js +0 -14
- package/dist/esm/chunk-FBFLXFIL.js +0 -21
package/dist/cjs/index.cjs
CHANGED
|
@@ -92,7 +92,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
92
92
|
*/
|
|
93
93
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
94
94
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
95
|
-
var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\
|
|
95
|
+
var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570)));
|
|
96
96
|
var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
97
97
|
if (\u9519\u8BEF)
|
|
98
98
|
return \u9519\u8BEF;
|
|
@@ -103,15 +103,24 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
103
103
|
// ================================= 设置 =================================
|
|
104
104
|
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
105
105
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
106
|
-
return await this.\
|
|
106
|
+
return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
// ================================= 运行 =================================
|
|
110
|
+
/**
|
|
111
|
+
* 运行业务行为, 如果抛出错误, 则原封不动向上抛出
|
|
112
|
+
*/
|
|
110
113
|
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
114
|
+
return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* 运行业务行为, 如果抛出错误, 则将错误值强制转换为字符串, 并包装为Error抛出
|
|
118
|
+
*/
|
|
119
|
+
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A\u5E76\u5305\u88C5(\u53C2\u6570) {
|
|
111
120
|
try {
|
|
112
121
|
return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
113
122
|
} catch (e) {
|
|
114
|
-
throw e;
|
|
123
|
+
throw new Error(String(e));
|
|
115
124
|
}
|
|
116
125
|
}
|
|
117
126
|
// ================================= 组合 =================================
|
|
@@ -123,10 +132,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
123
132
|
*/
|
|
124
133
|
\u6D41\u5F0F\u7EC4\u5408(b) {
|
|
125
134
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
126
|
-
const \u6211\u7684\u7ED3\u679C = await this.\
|
|
135
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
127
136
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
128
137
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
129
|
-
return b.\
|
|
138
|
+
return b.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
130
139
|
});
|
|
131
140
|
}
|
|
132
141
|
/**
|
|
@@ -139,17 +148,17 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
139
148
|
*/
|
|
140
149
|
\u6DF7\u5408\u7EC4\u5408(b) {
|
|
141
150
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
142
|
-
const \u6211\u7684\u7ED3\u679C = await this.\
|
|
151
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
143
152
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
144
153
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
145
|
-
var \u5BF9\u65B9\u7ED3\u679C = await b.\
|
|
154
|
+
var \u5BF9\u65B9\u7ED3\u679C = await b.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
146
155
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
147
156
|
});
|
|
148
157
|
}
|
|
149
158
|
// ================================= 映射 =================================
|
|
150
159
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
151
160
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
152
|
-
const \u6211\u7684\u7ED3\u679C = await this.\
|
|
161
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
153
162
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
154
163
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
155
164
|
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
@@ -157,7 +166,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
157
166
|
}
|
|
158
167
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
159
168
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
160
|
-
const \u6211\u7684\u7ED3\u679C = await this.\
|
|
169
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
161
170
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
162
171
|
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
163
172
|
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
@@ -172,10 +181,10 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
172
181
|
*/
|
|
173
182
|
\u7ED1\u5B9A(f) {
|
|
174
183
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
175
|
-
const \u6211\u7684\u7ED3\u679C = await this.\
|
|
184
|
+
const \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
176
185
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
177
186
|
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
178
|
-
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\
|
|
187
|
+
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
179
188
|
});
|
|
180
189
|
}
|
|
181
190
|
};
|
|
@@ -233,16 +242,21 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
233
242
|
};
|
|
234
243
|
|
|
235
244
|
// src/interface/interface-inst.ts
|
|
236
|
-
var \u63A5\u53E3 = class
|
|
237
|
-
\u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
238
|
-
return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230\u63A5\u53E3\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
|
|
239
|
-
}
|
|
245
|
+
var \u63A5\u53E3 = class {
|
|
240
246
|
};
|
|
241
247
|
|
|
242
248
|
// src/interface/extend/json-base.ts
|
|
243
249
|
var JSON\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
244
|
-
|
|
245
|
-
|
|
250
|
+
constructor(\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0, \u4E1A\u52A1\u884C\u4E3A2) {
|
|
251
|
+
super();
|
|
252
|
+
this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0 = \u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
253
|
+
this.\u4E1A\u52A1\u884C\u4E3A = \u4E1A\u52A1\u884C\u4E3A2;
|
|
254
|
+
}
|
|
255
|
+
\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
|
|
256
|
+
return this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
257
|
+
}
|
|
258
|
+
async \u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
259
|
+
var c = await this.\u4E1A\u52A1\u884C\u4E3A.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
246
260
|
if (c.isLeft())
|
|
247
261
|
return new \u9519\u8BEFJSON\u7ED3\u679C(c.assertLeft().getLeft());
|
|
248
262
|
return new \u6B63\u786EJSON\u7ED3\u679C(c.assertRight().getRight());
|
|
@@ -254,12 +268,12 @@ var import_zod = require("zod");
|
|
|
254
268
|
|
|
255
269
|
// src/interface/interface-type.ts
|
|
256
270
|
var \u63A5\u53E3\u7C7B\u578B = class {
|
|
257
|
-
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\
|
|
271
|
+
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C2, \u9519\u8BEF\u7ED3\u679C2) {
|
|
258
272
|
this.\u8DEF\u5F84 = \u8DEF\u5F84;
|
|
259
273
|
this.\u65B9\u6CD5 = \u65B9\u6CD5;
|
|
260
274
|
this.\u63D2\u4EF6\u4EEC = \u63D2\u4EF6\u4EEC;
|
|
261
|
-
this.\u6B63\u786E\u7ED3\u679C = \u6B63\u786E\u7ED3\
|
|
262
|
-
this.\u9519\u8BEF\u7ED3\u679C = \u9519\u8BEF\u7ED3\
|
|
275
|
+
this.\u6B63\u786E\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C2;
|
|
276
|
+
this.\u9519\u8BEF\u7ED3\u679C = \u9519\u8BEF\u7ED3\u679C2;
|
|
263
277
|
}
|
|
264
278
|
\u83B7\u5F97\u8DEF\u5F84() {
|
|
265
279
|
return this.\u8DEF\u5F84;
|
|
@@ -291,18 +305,16 @@ var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\
|
|
|
291
305
|
}
|
|
292
306
|
};
|
|
293
307
|
var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
308
|
+
constructor(\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0, \u4E1A\u52A1\u884C\u4E3A2) {
|
|
309
|
+
super();
|
|
310
|
+
this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0 = \u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
311
|
+
this.\u4E1A\u52A1\u884C\u4E3A = \u4E1A\u52A1\u884C\u4E3A2;
|
|
312
|
+
}
|
|
294
313
|
\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
|
|
295
|
-
|
|
296
|
-
return new \u63A5\u53E3\u7C7B\u578B(
|
|
297
|
-
c.\u83B7\u5F97\u8DEF\u5F84(),
|
|
298
|
-
c.\u83B7\u5F97\u65B9\u6CD5(),
|
|
299
|
-
c.\u83B7\u5F97\u63D2\u4EF6\u4EEC(),
|
|
300
|
-
c.\u83B7\u5F97\u6B63\u786E\u7ED3\u679C\u7C7B\u578B().shape.data,
|
|
301
|
-
c.\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B().shape.data
|
|
302
|
-
);
|
|
314
|
+
return this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
303
315
|
}
|
|
304
|
-
async \
|
|
305
|
-
var c = await \u4E1A\u52A1\
|
|
316
|
+
async \u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
317
|
+
var c = await this.\u4E1A\u52A1\u884C\u4E3A.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
306
318
|
if (c.isLeft())
|
|
307
319
|
return new \u9519\u8BEFJSON\u7ED3\u679C({ status: "fail", data: c.assertLeft().getLeft() });
|
|
308
320
|
return new \u6B63\u786EJSON\u7ED3\u679C({ status: "success", data: c.assertRight().getRight() });
|
|
@@ -311,7 +323,10 @@ var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
|
311
323
|
|
|
312
324
|
// src/interface/interface-test.ts
|
|
313
325
|
var \u63A5\u53E3\u6D4B\u8BD5 = class {
|
|
314
|
-
constructor() {
|
|
326
|
+
constructor(\u524D\u7F6E\u5B9E\u73B0, \u4E2D\u7F6E\u5B9E\u73B0, \u540E\u7F6E\u5B9E\u73B0) {
|
|
327
|
+
this.\u524D\u7F6E\u5B9E\u73B0 = \u524D\u7F6E\u5B9E\u73B0;
|
|
328
|
+
this.\u4E2D\u7F6E\u5B9E\u73B0 = \u4E2D\u7F6E\u5B9E\u73B0;
|
|
329
|
+
this.\u540E\u7F6E\u5B9E\u73B0 = \u540E\u7F6E\u5B9E\u73B0;
|
|
315
330
|
}
|
|
316
331
|
async \u8FD0\u884C() {
|
|
317
332
|
await this.\u524D\u7F6E\u5B9E\u73B0();
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { 业务行为, 业务行为参数类型, 业务行为返回类型, 业务行为错误类型, 计算业务行为参数, 计算业务行为返回, 计算业务行为错误 } from './action/action.cjs';
|
|
2
2
|
export { JSON接口 } from './interface/extend/json-base.cjs';
|
|
3
|
-
export { JSON状态接口, JSON
|
|
4
|
-
export { 接口,
|
|
3
|
+
export { JSON状态接口, JSON状态接口类型 } from './interface/extend/json-wrap.cjs';
|
|
4
|
+
export { 任意接口, 接口, 计算接口参数, 计算接口返回 } from './interface/interface-inst.cjs';
|
|
5
5
|
export { 接口测试 } from './interface/interface-test.cjs';
|
|
6
|
-
export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果,
|
|
6
|
+
export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果, 获得接口插件们 } from './interface/interface-type.cjs';
|
|
7
7
|
export { 中文路径支持插件 } from './plugin/extend/chinese-path.cjs';
|
|
8
8
|
export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
|
|
9
9
|
export { JSON解析插件, 从接口类型获得JSON参数, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.cjs';
|
|
@@ -67,145 +67,22 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
69
|
|
|
70
|
-
// src/action/action.ts
|
|
71
|
-
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
72
|
-
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
73
|
-
// ================================= 静态 =================================
|
|
74
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
75
|
-
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
76
|
-
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
77
|
-
return \u5B9E\u73B0(\u53C2\u6570);
|
|
78
|
-
}
|
|
79
|
-
}();
|
|
80
|
-
}
|
|
81
|
-
static \u901A\u8FC7\u6B63\u786E\u503C\u6784\u9020(a) {
|
|
82
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Right(a));
|
|
83
|
-
}
|
|
84
|
-
static \u901A\u8FC7\u9519\u8BEF\u503C\u6784\u9020(a) {
|
|
85
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Left(a));
|
|
86
|
-
}
|
|
87
|
-
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
88
|
-
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
89
|
-
}
|
|
90
|
-
static \u6DF7\u5408\u7EC4\u5408(a, b) {
|
|
91
|
-
return a.\u6DF7\u5408\u7EC4\u5408(b);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* 对多个项混合组合
|
|
95
|
-
*/
|
|
96
|
-
static \u6DF7\u5408\u7EC4\u5408\u591A\u9879(arr) {
|
|
97
|
-
return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* 同时运行多个行为, 并提供一个函数处理它们的结果
|
|
101
|
-
* 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
|
|
102
|
-
* 处理函数的类型是: 所有行为的结果合并 => 泛型A
|
|
103
|
-
* 新行为的类型是:
|
|
104
|
-
* - 参数: 所有行为的参数合并
|
|
105
|
-
* - 错误: 所有行为的错误合并
|
|
106
|
-
* - 返回值: 泛型A
|
|
107
|
-
*/
|
|
108
|
-
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
109
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
110
|
-
var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570)));
|
|
111
|
-
var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
112
|
-
if (\u9519\u8BEF)
|
|
113
|
-
return \u9519\u8BEF;
|
|
114
|
-
var \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
|
|
115
|
-
return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
// ================================= 设置 =================================
|
|
119
|
-
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
120
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
121
|
-
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
// ================================= 运行 =================================
|
|
125
|
-
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
126
|
-
try {
|
|
127
|
-
return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
128
|
-
} catch (e) {
|
|
129
|
-
throw e;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
// ================================= 组合 =================================
|
|
133
|
-
/**
|
|
134
|
-
* 将两个行为串接, 得到一个新行为, 新行为的类型是:
|
|
135
|
-
* - 参数: a行为的参数
|
|
136
|
-
* - 错误: a行为的错误+b行为的错误
|
|
137
|
-
* - 返回值: b行为的返回值
|
|
138
|
-
*/
|
|
139
|
-
\u6D41\u5F0F\u7EC4\u5408(b) {
|
|
140
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
141
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
142
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
143
|
-
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
144
|
-
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* 将两个行为串接, 得到一个新的行为
|
|
149
|
-
* 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
|
|
150
|
-
* 新行为的类型是:
|
|
151
|
-
* - 参数: a行为的参数+(b行为的参数-a行为的返回值)
|
|
152
|
-
* - 错误: a行为的错误+b行为的错误
|
|
153
|
-
* - 返回值: a行为的返回值+b行为的返回值
|
|
154
|
-
*/
|
|
155
|
-
\u6DF7\u5408\u7EC4\u5408(b) {
|
|
156
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
157
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
158
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
159
|
-
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
160
|
-
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
161
|
-
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
// ================================= 映射 =================================
|
|
165
|
-
\u6620\u5C04\u7ED3\u679C(f) {
|
|
166
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
167
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
168
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
169
|
-
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
170
|
-
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
\u6620\u5C04\u9519\u8BEF(f) {
|
|
174
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
175
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
176
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
177
|
-
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
178
|
-
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
|
|
183
|
-
* 新行为的类型是:
|
|
184
|
-
* - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
|
|
185
|
-
* - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
|
|
186
|
-
* - 返回值: 自定义数据
|
|
187
|
-
*/
|
|
188
|
-
\u7ED1\u5B9A(f) {
|
|
189
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
190
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
191
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
192
|
-
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
193
|
-
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
|
|
198
70
|
// src/interface/interface-inst.ts
|
|
199
|
-
var \u63A5\u53E3 = class
|
|
200
|
-
\u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
201
|
-
return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230\u63A5\u53E3\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
|
|
202
|
-
}
|
|
71
|
+
var \u63A5\u53E3 = class {
|
|
203
72
|
};
|
|
204
73
|
|
|
205
74
|
// src/interface/extend/json-base.ts
|
|
206
75
|
var JSON\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
207
|
-
|
|
208
|
-
|
|
76
|
+
constructor(\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0, \u4E1A\u52A1\u884C\u4E3A) {
|
|
77
|
+
super();
|
|
78
|
+
this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0 = \u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
79
|
+
this.\u4E1A\u52A1\u884C\u4E3A = \u4E1A\u52A1\u884C\u4E3A;
|
|
80
|
+
}
|
|
81
|
+
\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
|
|
82
|
+
return this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
83
|
+
}
|
|
84
|
+
async \u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
85
|
+
var c = await this.\u4E1A\u52A1\u884C\u4E3A.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
209
86
|
if (c.isLeft())
|
|
210
87
|
return new \u9519\u8BEFJSON\u7ED3\u679C(c.assertLeft().getLeft());
|
|
211
88
|
return new \u6B63\u786EJSON\u7ED3\u679C(c.assertRight().getRight());
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import { 接口 as __,
|
|
4
|
-
import { 任意接口类型 as ______,
|
|
5
|
-
import 'express';
|
|
2
|
+
import { 业务行为 as ____ } from '../../action/action.cjs';
|
|
3
|
+
import { 接口 as __, 计算接口参数 as ______$1, 计算接口返回 as ______$2 } from '../interface-inst.cjs';
|
|
4
|
+
import { 任意接口类型 as ______, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1 } from '../interface-type.cjs';
|
|
6
5
|
import '@lsby/ts-fp-data';
|
|
7
|
-
import '../../action/action.cjs';
|
|
8
6
|
import '../../plugin/plug.cjs';
|
|
7
|
+
import 'express';
|
|
8
|
+
import '../../result/result.cjs';
|
|
9
9
|
|
|
10
|
-
declare
|
|
11
|
-
|
|
10
|
+
declare class JSON接口<接口类型描述 extends ______> extends __<接口类型描述> {
|
|
11
|
+
private 接口类型描述;
|
|
12
|
+
private 业务行为;
|
|
13
|
+
constructor(接口类型描述: 接口类型描述, 业务行为: ____<______$1<接口类型描述>, z.infer<________<接口类型描述>>, z.infer<________$1<接口类型描述>>>);
|
|
14
|
+
获得接口类型(): 接口类型描述;
|
|
15
|
+
接口实现(参数: ______$1<接口类型描述>): ______$2<接口类型描述>;
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
export { JSON接口 };
|
|
@@ -69,149 +69,18 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
// src/action/action.ts
|
|
73
|
-
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
74
|
-
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
75
|
-
// ================================= 静态 =================================
|
|
76
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
77
|
-
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
78
|
-
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
79
|
-
return \u5B9E\u73B0(\u53C2\u6570);
|
|
80
|
-
}
|
|
81
|
-
}();
|
|
82
|
-
}
|
|
83
|
-
static \u901A\u8FC7\u6B63\u786E\u503C\u6784\u9020(a) {
|
|
84
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Right(a));
|
|
85
|
-
}
|
|
86
|
-
static \u901A\u8FC7\u9519\u8BEF\u503C\u6784\u9020(a) {
|
|
87
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Left(a));
|
|
88
|
-
}
|
|
89
|
-
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
90
|
-
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
91
|
-
}
|
|
92
|
-
static \u6DF7\u5408\u7EC4\u5408(a, b) {
|
|
93
|
-
return a.\u6DF7\u5408\u7EC4\u5408(b);
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* 对多个项混合组合
|
|
97
|
-
*/
|
|
98
|
-
static \u6DF7\u5408\u7EC4\u5408\u591A\u9879(arr) {
|
|
99
|
-
return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* 同时运行多个行为, 并提供一个函数处理它们的结果
|
|
103
|
-
* 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
|
|
104
|
-
* 处理函数的类型是: 所有行为的结果合并 => 泛型A
|
|
105
|
-
* 新行为的类型是:
|
|
106
|
-
* - 参数: 所有行为的参数合并
|
|
107
|
-
* - 错误: 所有行为的错误合并
|
|
108
|
-
* - 返回值: 泛型A
|
|
109
|
-
*/
|
|
110
|
-
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
111
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
112
|
-
var \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570)));
|
|
113
|
-
var \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
114
|
-
if (\u9519\u8BEF)
|
|
115
|
-
return \u9519\u8BEF;
|
|
116
|
-
var \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
|
|
117
|
-
return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
// ================================= 设置 =================================
|
|
121
|
-
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
122
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
123
|
-
return await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
// ================================= 运行 =================================
|
|
127
|
-
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
128
|
-
try {
|
|
129
|
-
return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
130
|
-
} catch (e) {
|
|
131
|
-
throw e;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
// ================================= 组合 =================================
|
|
135
|
-
/**
|
|
136
|
-
* 将两个行为串接, 得到一个新行为, 新行为的类型是:
|
|
137
|
-
* - 参数: a行为的参数
|
|
138
|
-
* - 错误: a行为的错误+b行为的错误
|
|
139
|
-
* - 返回值: b行为的返回值
|
|
140
|
-
*/
|
|
141
|
-
\u6D41\u5F0F\u7EC4\u5408(b) {
|
|
142
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
143
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
144
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
145
|
-
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
146
|
-
return b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* 将两个行为串接, 得到一个新的行为
|
|
151
|
-
* 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
|
|
152
|
-
* 新行为的类型是:
|
|
153
|
-
* - 参数: a行为的参数+(b行为的参数-a行为的返回值)
|
|
154
|
-
* - 错误: a行为的错误+b行为的错误
|
|
155
|
-
* - 返回值: a行为的返回值+b行为的返回值
|
|
156
|
-
*/
|
|
157
|
-
\u6DF7\u5408\u7EC4\u5408(b) {
|
|
158
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
159
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
160
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
161
|
-
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
162
|
-
var \u5BF9\u65B9\u7ED3\u679C = await b.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
163
|
-
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
// ================================= 映射 =================================
|
|
167
|
-
\u6620\u5C04\u7ED3\u679C(f) {
|
|
168
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
169
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
170
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
171
|
-
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
172
|
-
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
\u6620\u5C04\u9519\u8BEF(f) {
|
|
176
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
177
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
178
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
179
|
-
return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
180
|
-
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
|
|
185
|
-
* 新行为的类型是:
|
|
186
|
-
* - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
|
|
187
|
-
* - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
|
|
188
|
-
* - 返回值: 自定义数据
|
|
189
|
-
*/
|
|
190
|
-
\u7ED1\u5B9A(f) {
|
|
191
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
192
|
-
const \u6211\u7684\u7ED3\u679C = await this.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
193
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
194
|
-
return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
195
|
-
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
|
|
200
72
|
// src/interface/interface-inst.ts
|
|
201
|
-
var \u63A5\u53E3 = class
|
|
202
|
-
\u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
203
|
-
return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230\u63A5\u53E3\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
|
|
204
|
-
}
|
|
73
|
+
var \u63A5\u53E3 = class {
|
|
205
74
|
};
|
|
206
75
|
|
|
207
76
|
// src/interface/interface-type.ts
|
|
208
77
|
var \u63A5\u53E3\u7C7B\u578B = class {
|
|
209
|
-
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\
|
|
78
|
+
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C2, \u9519\u8BEF\u7ED3\u679C2) {
|
|
210
79
|
this.\u8DEF\u5F84 = \u8DEF\u5F84;
|
|
211
80
|
this.\u65B9\u6CD5 = \u65B9\u6CD5;
|
|
212
81
|
this.\u63D2\u4EF6\u4EEC = \u63D2\u4EF6\u4EEC;
|
|
213
|
-
this.\u6B63\u786E\u7ED3\u679C = \u6B63\u786E\u7ED3\
|
|
214
|
-
this.\u9519\u8BEF\u7ED3\u679C = \u9519\u8BEF\u7ED3\
|
|
82
|
+
this.\u6B63\u786E\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C2;
|
|
83
|
+
this.\u9519\u8BEF\u7ED3\u679C = \u9519\u8BEF\u7ED3\u679C2;
|
|
215
84
|
}
|
|
216
85
|
\u83B7\u5F97\u8DEF\u5F84() {
|
|
217
86
|
return this.\u8DEF\u5F84;
|
|
@@ -243,18 +112,16 @@ var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\
|
|
|
243
112
|
}
|
|
244
113
|
};
|
|
245
114
|
var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
115
|
+
constructor(\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0, \u4E1A\u52A1\u884C\u4E3A) {
|
|
116
|
+
super();
|
|
117
|
+
this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0 = \u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
118
|
+
this.\u4E1A\u52A1\u884C\u4E3A = \u4E1A\u52A1\u884C\u4E3A;
|
|
119
|
+
}
|
|
246
120
|
\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
|
|
247
|
-
|
|
248
|
-
return new \u63A5\u53E3\u7C7B\u578B(
|
|
249
|
-
c.\u83B7\u5F97\u8DEF\u5F84(),
|
|
250
|
-
c.\u83B7\u5F97\u65B9\u6CD5(),
|
|
251
|
-
c.\u83B7\u5F97\u63D2\u4EF6\u4EEC(),
|
|
252
|
-
c.\u83B7\u5F97\u6B63\u786E\u7ED3\u679C\u7C7B\u578B().shape.data,
|
|
253
|
-
c.\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B().shape.data
|
|
254
|
-
);
|
|
121
|
+
return this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
255
122
|
}
|
|
256
|
-
async \
|
|
257
|
-
var c = await \u4E1A\u52A1\
|
|
123
|
+
async \u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
124
|
+
var c = await this.\u4E1A\u52A1\u884C\u4E3A.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
258
125
|
if (c.isLeft())
|
|
259
126
|
return new \u9519\u8BEFJSON\u7ED3\u679C({ status: "fail", data: c.assertLeft().getLeft() });
|
|
260
127
|
return new \u6B63\u786EJSON\u7ED3\u679C({ status: "success", data: c.assertRight().getRight() });
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { 业务行为 as ____$1 } from '../../action/action.cjs';
|
|
2
3
|
import { 插件项类型 as _____ } from '../../plugin/plug.cjs';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { 接口类型 as ____, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1 } from '../interface-type.cjs';
|
|
6
|
-
import 'express';
|
|
4
|
+
import { 接口 as __, 计算接口参数 as ______, 计算接口返回 as ______$1 } from '../interface-inst.cjs';
|
|
5
|
+
import { 接口类型 as ____, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1 } from '../interface-type.cjs';
|
|
7
6
|
import '@lsby/ts-fp-data';
|
|
8
|
-
import '
|
|
7
|
+
import 'express';
|
|
8
|
+
import '../../result/result.cjs';
|
|
9
9
|
|
|
10
|
-
declare class JSON状态接口类型<路径 extends string
|
|
10
|
+
declare class JSON状态接口类型<路径 extends string, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> extends ____<路径, 方法, 插件们, z.ZodObject<{
|
|
11
11
|
status: z.ZodLiteral<'success'>;
|
|
12
12
|
data: 正确结果类型;
|
|
13
13
|
}>, z.ZodObject<{
|
|
@@ -17,12 +17,12 @@ declare class JSON状态接口类型<路径 extends string | null, 方法 extend
|
|
|
17
17
|
constructor(path: 路径, method: 方法, 插件们: [...插件们], 正确结果类型: 正确结果类型, 错误结果类型: 错误结果类型);
|
|
18
18
|
}
|
|
19
19
|
type 任意的JSON状态接口类型 = JSON状态接口类型<any, any, any, any, any>;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
获得接口类型():
|
|
25
|
-
|
|
20
|
+
declare class JSON状态接口<接口类型描述 extends 任意的JSON状态接口类型> extends __<接口类型描述> {
|
|
21
|
+
private 接口类型描述;
|
|
22
|
+
private 业务行为;
|
|
23
|
+
constructor(接口类型描述: 接口类型描述, 业务行为: ____$1<______<接口类型描述>, z.infer<________<接口类型描述>>['data'], z.infer<________$1<接口类型描述>>['data']>);
|
|
24
|
+
获得接口类型(): 接口类型描述;
|
|
25
|
+
接口实现(参数: ______<接口类型描述>): ______$1<接口类型描述>;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export { JSON状态接口, JSON
|
|
28
|
+
export { JSON状态接口, JSON状态接口类型 };
|