@lsby/net-core 0.9.2 → 0.10.0
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/global/global.cjs +8 -5
- package/dist/cjs/index.cjs +49 -59
- package/dist/cjs/index.d.cts +3 -4
- package/dist/cjs/interface/interface-base.d.cts +1 -1
- package/dist/cjs/interface/interface-logic.d.cts +1 -1
- package/dist/cjs/interface/interface-result.cjs +6 -6
- package/dist/cjs/interface/interface-result.d.cts +1 -1
- package/dist/cjs/interface/interface-retuen.d.cts +14 -0
- package/dist/cjs/{interface-base-Dq8o7vnl.d.cts → interface-base-CyfrfgWu.d.cts} +34 -5
- package/dist/cjs/plugin/extend/custom-data.d.cts +4 -1
- package/dist/cjs/plugin/extend/json.cjs +3 -2
- package/dist/cjs/plugin/extend/json.d.cts +7 -3
- package/dist/cjs/plugin/extend/log-headers.d.cts +1 -1
- package/dist/cjs/plugin/extend/query.cjs +3 -2
- package/dist/cjs/plugin/extend/query.d.cts +7 -3
- package/dist/cjs/plugin/extend/urlencoded.cjs +4 -3
- package/dist/cjs/plugin/extend/urlencoded.d.cts +4 -2
- package/dist/cjs/plugin/extend/web-socket.cjs +8 -5
- package/dist/cjs/plugin/extend/web-socket.d.cts +1 -1
- package/dist/cjs/plugin/plug.d.cts +1 -1
- package/dist/cjs/server/server.cjs +11 -7
- package/dist/cjs/server/server.d.cts +1 -1
- package/dist/cjs/wrapper/common-wrapper-return.cjs +3 -3
- package/dist/cjs/wrapper/common-wrapper-return.d.cts +12 -3
- package/dist/cjs/wrapper/common-wrapper.d.cts +8 -1
- package/dist/cjs/wrapper/deferred-result-wrapper.cjs +6 -6
- package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +12 -5
- package/dist/esm/{chunk-XEV5RHGZ.js → chunk-3XRAG6DM.js} +4 -3
- package/dist/esm/{chunk-75CPTXGZ.js → chunk-3ZQFVYIR.js} +4 -3
- package/dist/esm/{chunk-OH6PZFGR.js → chunk-C5FED6EO.js} +1 -1
- package/dist/esm/{chunk-AEG7V7QY.js → chunk-DNJQGD5M.js} +3 -3
- package/dist/esm/{chunk-LZOZF4CS.js → chunk-H7LZCHCE.js} +3 -3
- package/dist/esm/{chunk-WECMWUFB.js → chunk-HDPEZW7H.js} +1 -1
- package/dist/esm/{chunk-JXTWTY2S.js → chunk-NB2QNDI2.js} +5 -5
- package/dist/esm/{chunk-OUDYK6TE.js → chunk-NJKBRPN7.js} +8 -5
- package/dist/esm/{chunk-GMYXAJS3.js → chunk-TSDOOGHG.js} +3 -2
- package/dist/esm/{chunk-AY6KWNWX.js → chunk-UUXGAK5S.js} +3 -2
- package/dist/esm/global/global.js +1 -1
- package/dist/esm/index.d.ts +3 -4
- package/dist/esm/index.js +19 -23
- package/dist/esm/interface/interface-base.d.ts +1 -1
- package/dist/esm/interface/interface-logic.d.ts +1 -1
- package/dist/esm/interface/interface-result.d.ts +1 -1
- package/dist/esm/interface/interface-result.js +5 -5
- package/dist/esm/interface/interface-retuen.d.ts +14 -0
- package/dist/esm/{interface-base-CKPWT5C9.d.ts → interface-base-C1ZNSMJz.d.ts} +34 -5
- package/dist/esm/plugin/extend/custom-data.d.ts +4 -1
- package/dist/esm/plugin/extend/json.d.ts +7 -3
- package/dist/esm/plugin/extend/json.js +1 -1
- package/dist/esm/plugin/extend/log-headers.d.ts +1 -1
- package/dist/esm/plugin/extend/query.d.ts +7 -3
- package/dist/esm/plugin/extend/query.js +1 -1
- package/dist/esm/plugin/extend/urlencoded.d.ts +4 -2
- package/dist/esm/plugin/extend/urlencoded.js +1 -1
- package/dist/esm/plugin/extend/web-socket.d.ts +1 -1
- package/dist/esm/plugin/extend/web-socket.js +2 -2
- package/dist/esm/plugin/plug.d.ts +1 -1
- package/dist/esm/server/server.d.ts +1 -1
- package/dist/esm/server/server.js +2 -2
- package/dist/esm/wrapper/common-wrapper-return.d.ts +12 -3
- package/dist/esm/wrapper/common-wrapper-return.js +4 -4
- package/dist/esm/wrapper/common-wrapper.d.ts +8 -1
- package/dist/esm/wrapper/common-wrapper.js +2 -2
- package/dist/esm/wrapper/deferred-result-wrapper.d.ts +12 -5
- package/dist/esm/wrapper/deferred-result-wrapper.js +4 -4
- package/package.json +1 -1
- package/dist/cjs/plugin/extend/send-file-plugin.cjs +0 -58
- package/dist/cjs/plugin/extend/send-file-plugin.d.cts +0 -21
- package/dist/esm/chunk-RRUUWHTF.js +0 -22
- package/dist/esm/plugin/extend/send-file-plugin.d.ts +0 -21
- package/dist/esm/plugin/extend/send-file-plugin.js +0 -7
|
@@ -31,11 +31,14 @@ var log = new import_ts_log.Log("@lsby:net-core");
|
|
|
31
31
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
32
32
|
constructor(\u8FDE\u63A5\u8868) {
|
|
33
33
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
34
|
-
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
35
|
-
|
|
36
|
-
this
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
35
|
+
() => {
|
|
36
|
+
this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
|
|
37
|
+
this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
5 * 60 * 1e3
|
|
41
|
+
);
|
|
39
42
|
}
|
|
40
43
|
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
41
44
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -34,12 +34,10 @@ __export(index_exports, {
|
|
|
34
34
|
GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6: () => GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
|
|
35
35
|
JSON\u89E3\u6790\u63D2\u4EF6: () => JSON\u89E3\u6790\u63D2\u4EF6,
|
|
36
36
|
WebSocket\u63D2\u4EF6: () => WebSocket\u63D2\u4EF6,
|
|
37
|
-
\
|
|
38
|
-
\u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
|
|
39
|
-
\u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
40
|
-
\u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5,
|
|
37
|
+
\u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5,
|
|
41
38
|
\u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
|
|
42
39
|
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
40
|
+
\u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
|
|
43
41
|
\u5E38\u7528\u8FD4\u56DE\u5668: () => \u5E38\u7528\u8FD4\u56DE\u5668,
|
|
44
42
|
\u63A5\u53E3: () => \u63A5\u53E3,
|
|
45
43
|
\u63A5\u53E3\u6D4B\u8BD5: () => \u63A5\u53E3\u6D4B\u8BD5,
|
|
@@ -51,6 +49,7 @@ __export(index_exports, {
|
|
|
51
49
|
\u670D\u52A1\u5668: () => \u670D\u52A1\u5668,
|
|
52
50
|
\u6784\u9020\u5143\u7EC4: () => \u6784\u9020\u5143\u7EC4,
|
|
53
51
|
\u6784\u9020\u5BF9\u8C61: () => \u6784\u9020\u5BF9\u8C61,
|
|
52
|
+
\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
54
53
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6: () => \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
|
|
55
54
|
\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668: () => \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668,
|
|
56
55
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u89E3\u6790\u63D2\u4EF6,
|
|
@@ -219,14 +218,14 @@ var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED
|
|
|
219
218
|
}
|
|
220
219
|
}
|
|
221
220
|
};
|
|
222
|
-
var \
|
|
221
|
+
var \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
223
222
|
\u5B9E\u73B0(\u6570\u636E) {
|
|
224
223
|
switch (\u6570\u636E.getTag()) {
|
|
225
224
|
case "Left": {
|
|
226
225
|
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
227
226
|
}
|
|
228
227
|
case "Right": {
|
|
229
|
-
return \u6570\u636E.assertRight().getRight().
|
|
228
|
+
return \u6570\u636E.assertRight().getRight().data;
|
|
230
229
|
}
|
|
231
230
|
default: {
|
|
232
231
|
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
@@ -295,6 +294,7 @@ var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
295
294
|
// src/plugin/extend/json.ts
|
|
296
295
|
var import_express = __toESM(require("express"), 1);
|
|
297
296
|
var import_node_util = require("util");
|
|
297
|
+
var import_zod = require("zod");
|
|
298
298
|
|
|
299
299
|
// src/help/interior.ts
|
|
300
300
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
@@ -320,7 +320,7 @@ var \u70D9\u5370 = Symbol();
|
|
|
320
320
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
321
321
|
[\u70D9\u5370] = ["JSON\u89E3\u6790\u63D2\u4EF6"];
|
|
322
322
|
constructor(t, opt) {
|
|
323
|
-
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
323
|
+
super(import_zod.z.object({ body: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
324
324
|
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
325
325
|
await new Promise(
|
|
326
326
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
@@ -334,14 +334,14 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
334
334
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %o", parseResult.error));
|
|
335
335
|
}
|
|
336
336
|
await log2.debug("\u6210\u529F\u89E3\u6790 JSON");
|
|
337
|
-
return parseResult.data;
|
|
337
|
+
return { body: parseResult.data };
|
|
338
338
|
});
|
|
339
339
|
}
|
|
340
340
|
};
|
|
341
341
|
|
|
342
342
|
// src/plugin/extend/log-headers.ts
|
|
343
|
-
var
|
|
344
|
-
var zod\u7C7B\u578B\u8868\u793A =
|
|
343
|
+
var import_zod2 = require("zod");
|
|
344
|
+
var zod\u7C7B\u578B\u8868\u793A = import_zod2.z.object({});
|
|
345
345
|
var \u8C03\u8BD5\u8BF7\u6C42\u5934\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
346
346
|
constructor() {
|
|
347
347
|
super(zod\u7C7B\u578B\u8868\u793A, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
@@ -354,11 +354,12 @@ var \u8C03\u8BD5\u8BF7\u6C42\u5934\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
354
354
|
|
|
355
355
|
// src/plugin/extend/query.ts
|
|
356
356
|
var import_node_util2 = require("util");
|
|
357
|
+
var import_zod3 = require("zod");
|
|
357
358
|
var \u70D9\u53702 = Symbol();
|
|
358
359
|
var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
359
360
|
[\u70D9\u53702] = ["GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6"];
|
|
360
361
|
constructor(t) {
|
|
361
|
-
super(t, async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
362
|
+
super(import_zod3.z.object({ query: t }), async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
362
363
|
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6");
|
|
363
364
|
await log2.debug("\u51C6\u5907\u89E3\u6790 GET \u53C2\u6570\uFF1A%o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.query)));
|
|
364
365
|
let parseResult = t.safeParse(req.query);
|
|
@@ -367,22 +368,7 @@ var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
367
368
|
throw new Error((0, import_node_util2.format)("\u89E3\u6790 GET \u53C2\u6570\u5931\u8D25: %o", parseResult.error));
|
|
368
369
|
}
|
|
369
370
|
await log2.debug("\u6210\u529F\u89E3\u6790 GET \u53C2\u6570");
|
|
370
|
-
return parseResult.data;
|
|
371
|
-
});
|
|
372
|
-
}
|
|
373
|
-
};
|
|
374
|
-
|
|
375
|
-
// src/plugin/extend/send-file-plugin.ts
|
|
376
|
-
var import_zod2 = require("zod");
|
|
377
|
-
var zod\u7C7B\u578B\u8868\u793A2 = import_zod2.z.object({ sendFile: import_zod2.z.function(import_zod2.z.tuple([import_zod2.z.instanceof(Buffer)]), import_zod2.z.instanceof(Buffer)) });
|
|
378
|
-
var \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
379
|
-
constructor() {
|
|
380
|
-
super(zod\u7C7B\u578B\u8868\u793A2, async (_req, _res) => {
|
|
381
|
-
return {
|
|
382
|
-
sendFile: (file) => {
|
|
383
|
-
return file;
|
|
384
|
-
}
|
|
385
|
-
};
|
|
371
|
+
return { query: parseResult.data };
|
|
386
372
|
});
|
|
387
373
|
}
|
|
388
374
|
};
|
|
@@ -390,10 +376,11 @@ var \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
390
376
|
// src/plugin/extend/urlencoded.ts
|
|
391
377
|
var import_express2 = __toESM(require("express"), 1);
|
|
392
378
|
var import_node_util3 = require("util");
|
|
379
|
+
var import_zod4 = require("zod");
|
|
393
380
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
394
381
|
constructor(t, opt) {
|
|
395
|
-
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
396
|
-
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("
|
|
382
|
+
super(import_zod4.z.object({ form: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
383
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("\u8868\u5355\u89E3\u6790\u63D2\u4EF6");
|
|
397
384
|
await new Promise(
|
|
398
385
|
(pRes, _rej) => import_express2.default.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
399
386
|
pRes(null);
|
|
@@ -404,14 +391,14 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
404
391
|
await log2.error("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error);
|
|
405
392
|
throw new Error((0, import_node_util3.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error));
|
|
406
393
|
}
|
|
407
|
-
return parseResult.data;
|
|
394
|
+
return { form: parseResult.data };
|
|
408
395
|
});
|
|
409
396
|
}
|
|
410
397
|
};
|
|
411
398
|
|
|
412
399
|
// src/plugin/extend/web-socket.ts
|
|
413
400
|
var import_ws2 = require("ws");
|
|
414
|
-
var
|
|
401
|
+
var import_zod5 = require("zod");
|
|
415
402
|
|
|
416
403
|
// src/global/global.ts
|
|
417
404
|
var import_ts_global = require("@lsby/ts-global");
|
|
@@ -421,11 +408,14 @@ var log = new import_ts_log.Log("@lsby:net-core");
|
|
|
421
408
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
422
409
|
constructor(\u8FDE\u63A5\u8868) {
|
|
423
410
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
424
|
-
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
425
|
-
|
|
426
|
-
this
|
|
427
|
-
|
|
428
|
-
|
|
411
|
+
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
412
|
+
() => {
|
|
413
|
+
this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
|
|
414
|
+
this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
|
|
415
|
+
});
|
|
416
|
+
},
|
|
417
|
+
5 * 60 * 1e3
|
|
418
|
+
);
|
|
429
419
|
}
|
|
430
420
|
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
431
421
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
@@ -476,12 +466,12 @@ var Global = new import_ts_global.GlobalService([
|
|
|
476
466
|
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
477
467
|
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
478
468
|
super(
|
|
479
|
-
|
|
480
|
-
ws\u64CD\u4F5C:
|
|
481
|
-
\u53D1\u9001ws\u4FE1\u606F:
|
|
482
|
-
\u5173\u95EDws\u8FDE\u63A5:
|
|
483
|
-
\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570:
|
|
484
|
-
}).or(
|
|
469
|
+
import_zod5.z.object({
|
|
470
|
+
ws\u64CD\u4F5C: import_zod5.z.object({
|
|
471
|
+
\u53D1\u9001ws\u4FE1\u606F: import_zod5.z.function(import_zod5.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod5.z.promise(import_zod5.z.void())),
|
|
472
|
+
\u5173\u95EDws\u8FDE\u63A5: import_zod5.z.function(import_zod5.z.tuple([]), import_zod5.z.promise(import_zod5.z.void())),
|
|
473
|
+
\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570: import_zod5.z.function(import_zod5.z.tuple([import_zod5.z.function(import_zod5.z.tuple([]), import_zod5.z.promise(import_zod5.z.void()))]), import_zod5.z.promise(import_zod5.z.void()))
|
|
474
|
+
}).or(import_zod5.z.null())
|
|
485
475
|
}),
|
|
486
476
|
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
487
477
|
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("webSocket\u63D2\u4EF6");
|
|
@@ -540,8 +530,8 @@ var import_node_os = require("os");
|
|
|
540
530
|
var import_short_uuid = __toESM(require("short-uuid"), 1);
|
|
541
531
|
var import_ws3 = require("ws");
|
|
542
532
|
var \u670D\u52A1\u5668 = class {
|
|
543
|
-
\u7CFB\u7EDFlog = Global.getItem("log");
|
|
544
533
|
\u63A5\u53E3log;
|
|
534
|
+
\u7CFB\u7EDFlog;
|
|
545
535
|
\u63A5\u53E3\u4EEC;
|
|
546
536
|
\u7AEF\u53E3;
|
|
547
537
|
\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
@@ -551,7 +541,8 @@ var \u670D\u52A1\u5668 = class {
|
|
|
551
541
|
this.\u7AEF\u53E3 = options.\u7AEF\u53E3;
|
|
552
542
|
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = options.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
553
543
|
this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 = options.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84;
|
|
554
|
-
this.\
|
|
544
|
+
this.\u7CFB\u7EDFlog = options.\u7CFB\u7EDFlog !== void 0 ? Promise.resolve(options.\u7CFB\u7EDFlog) : Global.getItem("log");
|
|
545
|
+
this.\u63A5\u53E3log = options.\u63A5\u53E3log !== void 0 ? Promise.resolve(options.\u63A5\u53E3log) : Global.getItem("log");
|
|
555
546
|
}
|
|
556
547
|
async run() {
|
|
557
548
|
let app = (0, import_express3.default)();
|
|
@@ -690,34 +681,34 @@ var \u670D\u52A1\u5668 = class {
|
|
|
690
681
|
var EXPORT_TYPE = Symbol();
|
|
691
682
|
|
|
692
683
|
// src/wrapper/common-wrapper.ts
|
|
693
|
-
var
|
|
684
|
+
var import_zod6 = require("zod");
|
|
694
685
|
var \u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
|
|
695
686
|
constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod) {
|
|
696
|
-
let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F =
|
|
697
|
-
let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F =
|
|
687
|
+
let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod6.z.object({ status: import_zod6.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
|
|
688
|
+
let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod6.z.object({ status: import_zod6.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
|
|
698
689
|
let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668();
|
|
699
690
|
super(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u8F6C\u6362\u5668, new \u5E38\u7528\u8FD4\u56DE\u5668());
|
|
700
691
|
}
|
|
701
692
|
};
|
|
702
693
|
|
|
703
694
|
// src/wrapper/common-wrapper-return.ts
|
|
704
|
-
var
|
|
705
|
-
var \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
|
|
695
|
+
var import_zod7 = require("zod");
|
|
696
|
+
var \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
|
|
706
697
|
constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod, \u8FD4\u56DE\u5668\u5B9E\u73B0) {
|
|
707
|
-
let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F =
|
|
708
|
-
let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F =
|
|
698
|
+
let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod7.z.object({ status: import_zod7.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
|
|
699
|
+
let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod7.z.object({ status: import_zod7.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
|
|
709
700
|
let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668();
|
|
710
701
|
super(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u8F6C\u6362\u5668, new \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668(\u8FD4\u56DE\u5668\u5B9E\u73B0));
|
|
711
702
|
}
|
|
712
703
|
};
|
|
713
704
|
|
|
714
705
|
// src/wrapper/deferred-result-wrapper.ts
|
|
715
|
-
var
|
|
716
|
-
var \u5E38\u7528\
|
|
706
|
+
var import_zod8 = require("zod");
|
|
707
|
+
var \u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
|
|
717
708
|
constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod) {
|
|
718
|
-
let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F =
|
|
709
|
+
let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod8.z.object({ status: import_zod8.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
|
|
719
710
|
let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod;
|
|
720
|
-
let \u63A5\u53E3\u8F6C\u6362\u5668 = new \
|
|
711
|
+
let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668();
|
|
721
712
|
super(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F912, \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u8F6C\u6362\u5668, new \u5E38\u7528\u8FD4\u56DE\u5668());
|
|
722
713
|
}
|
|
723
714
|
};
|
|
@@ -727,12 +718,10 @@ var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = c
|
|
|
727
718
|
GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
|
|
728
719
|
JSON\u89E3\u6790\u63D2\u4EF6,
|
|
729
720
|
WebSocket\u63D2\u4EF6,
|
|
730
|
-
\
|
|
731
|
-
\u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
|
|
732
|
-
\u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
733
|
-
\u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5,
|
|
721
|
+
\u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5,
|
|
734
722
|
\u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
|
|
735
723
|
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
724
|
+
\u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
|
|
736
725
|
\u5E38\u7528\u8FD4\u56DE\u5668,
|
|
737
726
|
\u63A5\u53E3,
|
|
738
727
|
\u63A5\u53E3\u6D4B\u8BD5,
|
|
@@ -744,6 +733,7 @@ var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = c
|
|
|
744
733
|
\u670D\u52A1\u5668,
|
|
745
734
|
\u6784\u9020\u5143\u7EC4,
|
|
746
735
|
\u6784\u9020\u5BF9\u8C61,
|
|
736
|
+
\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
747
737
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
|
|
748
738
|
\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668,
|
|
749
739
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6,
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
export { 构造元组, 构造对象 } from './help/help.cjs';
|
|
2
|
-
export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑,
|
|
2
|
+
export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑, y as 任意插件, 兼 as 兼容空对象, A as 取插件内部ts类型, 取 as 取插件内部类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, w as 接口结果转换器, 接 as 接口路径类型, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 插 as 插件, z as 插件项类型, 服 as 服务器, 清 as 清理函数类型, 直 as 直接形式转换器, 空 as 空对象, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, d as 获得接口逻辑类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, e as 获得接口错误形式, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果, 请 as 请求附加参数类型 } from './interface-base-CyfrfgWu.cjs';
|
|
3
3
|
export { 任意接口结果返回器, 常用返回器, 接口结果返回器, 自定义返回器 } from './interface/interface-retuen.cjs';
|
|
4
4
|
export { 接口测试 } from './interface/interface-test.cjs';
|
|
5
5
|
export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
|
|
6
6
|
export { JSON解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果, 计算接口逻辑JSON参数 } from './plugin/extend/json.cjs';
|
|
7
7
|
export { 调试请求头插件 } from './plugin/extend/log-headers.cjs';
|
|
8
8
|
export { GET参数解析插件, 任意GET参数解析插件, 任意GET参数解析插件项, 合并GET插件结果, 计算接口逻辑GET参数 } from './plugin/extend/query.cjs';
|
|
9
|
-
export { 发送文件插件 } from './plugin/extend/send-file-plugin.cjs';
|
|
10
9
|
export { 表单解析插件 } from './plugin/extend/urlencoded.cjs';
|
|
11
10
|
export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件结果 } from './plugin/extend/web-socket.cjs';
|
|
12
11
|
export { EXPORT_TYPE } from './symbol/export-type.cjs';
|
|
13
12
|
export { GetNetCoreExportTypeDefine, GetNetCoreExportTypeName, NetCoreExportType } from './types/export-type.cjs';
|
|
14
13
|
export { 常用形式接口封装 } from './wrapper/common-wrapper.cjs';
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
14
|
+
export { 常用形式并自定义返回器接口封装 } from './wrapper/common-wrapper-return.cjs';
|
|
15
|
+
export { 常用直接形式接口封装 } from './wrapper/deferred-result-wrapper.cjs';
|
|
17
16
|
import 'zod';
|
|
18
17
|
import '@lsby/ts-fp-data';
|
|
19
18
|
import 'express';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'zod';
|
|
2
|
-
export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-
|
|
2
|
+
export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-CyfrfgWu.cjs';
|
|
3
3
|
import './interface-retuen.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import 'express';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '@lsby/ts-fp-data';
|
|
2
2
|
import 'express';
|
|
3
3
|
import '../help/interior.cjs';
|
|
4
|
-
export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-
|
|
4
|
+
export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-CyfrfgWu.cjs';
|
|
5
5
|
import 'zod';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
@@ -20,9 +20,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/interface/interface-result.ts
|
|
21
21
|
var interface_result_exports = {};
|
|
22
22
|
__export(interface_result_exports, {
|
|
23
|
-
\u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
24
23
|
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
25
|
-
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668
|
|
24
|
+
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
|
|
25
|
+
\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(interface_result_exports);
|
|
28
28
|
var \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 = class {
|
|
@@ -42,14 +42,14 @@ var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
-
var \
|
|
45
|
+
var \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
46
46
|
\u5B9E\u73B0(\u6570\u636E) {
|
|
47
47
|
switch (\u6570\u636E.getTag()) {
|
|
48
48
|
case "Left": {
|
|
49
49
|
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
50
50
|
}
|
|
51
51
|
case "Right": {
|
|
52
|
-
return \u6570\u636E.assertRight().getRight().
|
|
52
|
+
return \u6570\u636E.assertRight().getRight().data;
|
|
53
53
|
}
|
|
54
54
|
default: {
|
|
55
55
|
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
@@ -59,7 +59,7 @@ var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class e
|
|
|
59
59
|
};
|
|
60
60
|
// Annotate the CommonJS export names for ESM import in node:
|
|
61
61
|
0 && (module.exports = {
|
|
62
|
-
\u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
63
62
|
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
64
|
-
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668
|
|
63
|
+
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
|
|
64
|
+
\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668
|
|
65
65
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '@lsby/ts-fp-data';
|
|
2
|
-
export { x as 任意接口结果转换器,
|
|
2
|
+
export { x as 任意接口结果转换器, 常 as 常用形式转换器, w as 接口结果转换器, 直 as 直接形式转换器 } from '../interface-base-CyfrfgWu.cjs';
|
|
3
3
|
import 'zod';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../help/interior.cjs';
|
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* 描述接口如何将转换器转换后的数据发送给客户端
|
|
5
|
+
*
|
|
6
|
+
* 这一层的存在使得数据格式和传输方式完全解耦:
|
|
7
|
+
* - 相同的数据可以通过 JSON, XML, Protobuf 等不同格式发送
|
|
8
|
+
* - 可以选择不同的传输方式: HTTP 响应, WebSocket, SSE, 文件下载等
|
|
9
|
+
* - 可以设置相应头等数据
|
|
10
|
+
*/
|
|
3
11
|
declare abstract class 接口结果返回器<接口正确形式> {
|
|
4
12
|
abstract 返回(req: Request, res: Response, 结果: 接口正确形式): void | Promise<void>;
|
|
5
13
|
}
|
|
6
14
|
type 任意接口结果返回器 = 接口结果返回器<any>;
|
|
15
|
+
/**
|
|
16
|
+
* 常用返回器: 直接使用 res.send 发送数据
|
|
17
|
+
*/
|
|
7
18
|
declare class 常用返回器<正确形式> extends 接口结果返回器<正确形式> {
|
|
8
19
|
返回(req: Request, res: Response, 结果: 正确形式): void;
|
|
9
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* 自定义返回器: 支持任意自定义的返回逻辑
|
|
23
|
+
*/
|
|
10
24
|
declare class 自定义返回器<正确形式> extends 接口结果返回器<正确形式> {
|
|
11
25
|
private 实现函数;
|
|
12
26
|
constructor(实现函数: (req: Request, res: Response, 结果: 正确形式) => void | Promise<void>);
|
|
@@ -10,8 +10,8 @@ type 请求附加参数类型 = {
|
|
|
10
10
|
log: Log;
|
|
11
11
|
};
|
|
12
12
|
declare class 服务器 {
|
|
13
|
-
private 系统log;
|
|
14
13
|
private 接口log;
|
|
14
|
+
private 系统log;
|
|
15
15
|
private 接口们;
|
|
16
16
|
private 端口;
|
|
17
17
|
private 静态资源路径;
|
|
@@ -21,7 +21,8 @@ declare class 服务器 {
|
|
|
21
21
|
端口: number;
|
|
22
22
|
静态资源路径?: string;
|
|
23
23
|
默认get文件路径?: string;
|
|
24
|
-
log?: Log;
|
|
24
|
+
系统log?: Log;
|
|
25
|
+
接口log?: Log;
|
|
25
26
|
});
|
|
26
27
|
run(): Promise<{
|
|
27
28
|
ip: string[];
|
|
@@ -136,6 +137,15 @@ declare abstract class 接口结果转换器<实现错误类型 extends 接口
|
|
|
136
137
|
abstract 实现(数据: Either<实现错误类型, 实现正确类型>): 接口错误形式 | 接口正确形式;
|
|
137
138
|
}
|
|
138
139
|
type 任意接口结果转换器 = 接口结果转换器<any, any, any, any>;
|
|
140
|
+
/**
|
|
141
|
+
* 常用形式转换器
|
|
142
|
+
*
|
|
143
|
+
* 将业务逻辑返回的 Either<错误, 成功> 转换为前端友好的统一格式:
|
|
144
|
+
* - 成功时: { status: 'success', data: ... }
|
|
145
|
+
* - 失败时: { status: 'fail', data: ... }
|
|
146
|
+
*
|
|
147
|
+
* 这种格式让前端可以通过 status 字段统一判断请求是否成功
|
|
148
|
+
*/
|
|
139
149
|
declare class 常用形式转换器<实现错误类型 extends 接口逻辑错误类型, 实现正确类型 extends 接口逻辑正确类型> extends 接口结果转换器<实现错误类型, 实现正确类型, {
|
|
140
150
|
status: 'fail';
|
|
141
151
|
data: 实现错误类型;
|
|
@@ -151,8 +161,27 @@ declare class 常用形式转换器<实现错误类型 extends 接口逻辑错
|
|
|
151
161
|
data: 实现正确类型;
|
|
152
162
|
};
|
|
153
163
|
}
|
|
154
|
-
|
|
155
|
-
|
|
164
|
+
/**
|
|
165
|
+
* 直接形式转换器
|
|
166
|
+
*
|
|
167
|
+
* 将业务逻辑返回的 Either<错误, {data: ...}> 转换为直接格式:
|
|
168
|
+
* - 成功时: 直接的 data 内容
|
|
169
|
+
* - 失败时: { status: 'fail', data: ... }
|
|
170
|
+
*
|
|
171
|
+
* 用于需要直接返回的场景:
|
|
172
|
+
* - 因为接口逻辑需要组合, 所以返回值必须是对象, 但有时候需要返回一个非对象数据
|
|
173
|
+
* - 这个转换器就约定了一个模式, 用于返回直接结果
|
|
174
|
+
* - 业务逻辑需要返回 Either<错误, 成功>, 其中成功部分必须是 { data: 真正的返回值 }
|
|
175
|
+
* - 如果返回左值,返回标准错误格式 { status: 'fail', data: ... }
|
|
176
|
+
* - 如果返回右值,直接返回 data 部分
|
|
177
|
+
*
|
|
178
|
+
* 典型应用场景:
|
|
179
|
+
* - 文件下载: 直接返回文件流
|
|
180
|
+
* - 图片/视频: 直接返回二进制数据
|
|
181
|
+
* - SSE/WebSocket: 建立长连接
|
|
182
|
+
*/
|
|
183
|
+
declare class 直接形式转换器<实现最终返回类型, 实现错误类型 extends 接口逻辑错误类型, 实现正确类型 extends {
|
|
184
|
+
data: 实现最终返回类型;
|
|
156
185
|
}> extends 接口结果转换器<实现错误类型, 实现正确类型, {
|
|
157
186
|
status: 'fail';
|
|
158
187
|
data: 实现错误类型;
|
|
@@ -202,4 +231,4 @@ type 获得接口正确形式<A> = A extends 接口<any, any, any, any, infer X,
|
|
|
202
231
|
type 获得接口结果转换器类型<A> = A extends 接口<any, any, any, any, any, infer X, any> ? X : never;
|
|
203
232
|
type 获得接口结果返回器类型<A> = A extends 接口<any, any, any, any, any, any, infer X> ? X : never;
|
|
204
233
|
|
|
205
|
-
export { type
|
|
234
|
+
export { type 取插件内部ts类型 as A, type 接口方法类型 as a, 接口 as b, type 获得接口方法类型 as c, type 获得接口逻辑类型 as d, type 获得接口错误形式 as e, type 获得接口正确形式 as f, type 获得接口结果转换器类型 as g, type 获得接口结果返回器类型 as h, type 接口逻辑错误类型 as i, type 接口逻辑正确类型 as j, type 接口逻辑附加参数类型 as k, 接口逻辑Base as l, 接口逻辑 as m, type 任意接口逻辑 as n, type 获得接口逻辑插件类型 as o, type 获得接口逻辑附加参数类型 as p, type 获得接口逻辑错误类型 as q, type 获得接口逻辑正确类型 as r, type 获得接口逻辑上游接口类型 as s, type 获得接口逻辑最后接口类型 as t, type 计算接口逻辑错误结果 as u, type 计算接口逻辑正确结果 as v, 接口结果转换器 as w, type 任意接口结果转换器 as x, type 任意插件 as y, type 插件项类型 as z, type 任意接口 as 任, type 兼容空对象 as 兼, type 取插件内部类型 as 取, type 可调用接口逻辑 as 可, type 合并插件结果 as 合, 常用形式转换器 as 常, type 接口路径类型 as 接, 插件 as 插, 服务器 as 服, type 清理函数类型 as 清, 直接形式转换器 as 直, type 空对象 as 空, type 获得接口路径类型 as 获, type 计算接口逻辑参数 as 计, type 请求附加参数类型 as 请 };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 插 as __ } from '../../interface-base-
|
|
2
|
+
import { 插 as __ } from '../../interface-base-CyfrfgWu.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../../help/interior.cjs';
|
|
@@ -7,6 +7,9 @@ import '@lsby/ts-log';
|
|
|
7
7
|
import 'node:http';
|
|
8
8
|
import '../../interface/interface-retuen.cjs';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* 该插件允许使用者给定任意的数据, 该数据将作为该插件的返回值, 最终传入到接口逻辑中
|
|
12
|
+
*/
|
|
10
13
|
declare class 自定义数据插件<Data extends z.AnyZodObject> extends __<Data> {
|
|
11
14
|
constructor(t: Data, data: z.infer<Data>);
|
|
12
15
|
}
|
|
@@ -35,6 +35,7 @@ __export(json_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(json_exports);
|
|
36
36
|
var import_express = __toESM(require("express"), 1);
|
|
37
37
|
var import_node_util = require("util");
|
|
38
|
+
var import_zod = require("zod");
|
|
38
39
|
|
|
39
40
|
// src/help/interior.ts
|
|
40
41
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
@@ -74,7 +75,7 @@ var \u70D9\u5370 = Symbol();
|
|
|
74
75
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
75
76
|
[\u70D9\u5370] = ["JSON\u89E3\u6790\u63D2\u4EF6"];
|
|
76
77
|
constructor(t, opt) {
|
|
77
|
-
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
78
|
+
super(import_zod.z.object({ body: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
78
79
|
let log = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
79
80
|
await new Promise(
|
|
80
81
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
@@ -88,7 +89,7 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
88
89
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %o", parseResult.error));
|
|
89
90
|
}
|
|
90
91
|
await log.debug("\u6210\u529F\u89E3\u6790 JSON");
|
|
91
|
-
return parseResult.data;
|
|
92
|
+
return { body: parseResult.data };
|
|
92
93
|
});
|
|
93
94
|
}
|
|
94
95
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { AnyZodObject, z } from 'zod';
|
|
3
|
-
import { 插 as __,
|
|
3
|
+
import { 插 as __, z as _____, 取 as _______, o as __________ } from '../../interface-base-CyfrfgWu.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
@@ -8,13 +8,17 @@ import 'node:http';
|
|
|
8
8
|
import '../../interface/interface-retuen.cjs';
|
|
9
9
|
|
|
10
10
|
declare const 烙印: unique symbol;
|
|
11
|
-
declare class JSON解析插件<Result extends AnyZodObject> extends __<
|
|
11
|
+
declare class JSON解析插件<Result extends AnyZodObject> extends __<z.ZodObject<{
|
|
12
|
+
body: Result;
|
|
13
|
+
}>> {
|
|
12
14
|
private [烙印];
|
|
13
15
|
constructor(t: Result, opt: Parameters<typeof express.json>[0]);
|
|
14
16
|
}
|
|
15
17
|
type 任意JSON解析插件 = JSON解析插件<any>;
|
|
16
18
|
type 任意JSON解析插件项 = 任意JSON解析插件;
|
|
17
|
-
type 合并JSON插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意JSON解析插件项 ?
|
|
19
|
+
type 合并JSON插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意JSON解析插件项 ? {
|
|
20
|
+
body: z.infer<_______<插件项>>['body'];
|
|
21
|
+
} & 合并JSON插件结果<xs> : 合并JSON插件结果<xs> : {} : {} : {};
|
|
18
22
|
type 计算接口逻辑JSON参数<接口逻辑> = 合并JSON插件结果<__________<接口逻辑>>;
|
|
19
23
|
|
|
20
24
|
export { JSON解析插件, type 任意JSON解析插件, type 任意JSON解析插件项, type 合并JSON插件结果, type 计算接口逻辑JSON参数 };
|
|
@@ -24,6 +24,7 @@ __export(query_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(query_exports);
|
|
26
26
|
var import_node_util = require("util");
|
|
27
|
+
var import_zod = require("zod");
|
|
27
28
|
|
|
28
29
|
// src/help/interior.ts
|
|
29
30
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
@@ -63,7 +64,7 @@ var \u70D9\u5370 = Symbol();
|
|
|
63
64
|
var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
64
65
|
[\u70D9\u5370] = ["GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6"];
|
|
65
66
|
constructor(t) {
|
|
66
|
-
super(t, async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
67
|
+
super(import_zod.z.object({ query: t }), async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
67
68
|
let log = \u9644\u52A0\u53C2\u6570.log.extend("GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6");
|
|
68
69
|
await log.debug("\u51C6\u5907\u89E3\u6790 GET \u53C2\u6570\uFF1A%o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.query)));
|
|
69
70
|
let parseResult = t.safeParse(req.query);
|
|
@@ -72,7 +73,7 @@ var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
72
73
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 GET \u53C2\u6570\u5931\u8D25: %o", parseResult.error));
|
|
73
74
|
}
|
|
74
75
|
await log.debug("\u6210\u529F\u89E3\u6790 GET \u53C2\u6570");
|
|
75
|
-
return parseResult.data;
|
|
76
|
+
return { query: parseResult.data };
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnyZodObject, z } from 'zod';
|
|
2
|
-
import { 插 as __,
|
|
2
|
+
import { 插 as __, z as _____, 取 as _______, o as __________ } from '../../interface-base-CyfrfgWu.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../../help/interior.cjs';
|
|
@@ -8,13 +8,17 @@ import 'node:http';
|
|
|
8
8
|
import '../../interface/interface-retuen.cjs';
|
|
9
9
|
|
|
10
10
|
declare const 烙印: unique symbol;
|
|
11
|
-
declare class GET参数解析插件<Result extends AnyZodObject> extends __<
|
|
11
|
+
declare class GET参数解析插件<Result extends AnyZodObject> extends __<z.ZodObject<{
|
|
12
|
+
query: Result;
|
|
13
|
+
}>> {
|
|
12
14
|
private [烙印];
|
|
13
15
|
constructor(t: Result);
|
|
14
16
|
}
|
|
15
17
|
type 任意GET参数解析插件 = GET参数解析插件<any>;
|
|
16
18
|
type 任意GET参数解析插件项 = 任意GET参数解析插件;
|
|
17
|
-
type 合并GET插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意GET参数解析插件项 ?
|
|
19
|
+
type 合并GET插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意GET参数解析插件项 ? {
|
|
20
|
+
query: z.infer<_______<插件项>>['query'];
|
|
21
|
+
} & 合并GET插件结果<xs> : 合并GET插件结果<xs> : {} : {} : {};
|
|
18
22
|
type 计算接口逻辑GET参数<接口逻辑> = 合并GET插件结果<__________<接口逻辑>>;
|
|
19
23
|
|
|
20
24
|
export { GET参数解析插件, type 任意GET参数解析插件, type 任意GET参数解析插件项, type 合并GET插件结果, type 计算接口逻辑GET参数 };
|