@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.
Files changed (71) hide show
  1. package/dist/cjs/global/global.cjs +8 -5
  2. package/dist/cjs/index.cjs +49 -59
  3. package/dist/cjs/index.d.cts +3 -4
  4. package/dist/cjs/interface/interface-base.d.cts +1 -1
  5. package/dist/cjs/interface/interface-logic.d.cts +1 -1
  6. package/dist/cjs/interface/interface-result.cjs +6 -6
  7. package/dist/cjs/interface/interface-result.d.cts +1 -1
  8. package/dist/cjs/interface/interface-retuen.d.cts +14 -0
  9. package/dist/cjs/{interface-base-Dq8o7vnl.d.cts → interface-base-CyfrfgWu.d.cts} +34 -5
  10. package/dist/cjs/plugin/extend/custom-data.d.cts +4 -1
  11. package/dist/cjs/plugin/extend/json.cjs +3 -2
  12. package/dist/cjs/plugin/extend/json.d.cts +7 -3
  13. package/dist/cjs/plugin/extend/log-headers.d.cts +1 -1
  14. package/dist/cjs/plugin/extend/query.cjs +3 -2
  15. package/dist/cjs/plugin/extend/query.d.cts +7 -3
  16. package/dist/cjs/plugin/extend/urlencoded.cjs +4 -3
  17. package/dist/cjs/plugin/extend/urlencoded.d.cts +4 -2
  18. package/dist/cjs/plugin/extend/web-socket.cjs +8 -5
  19. package/dist/cjs/plugin/extend/web-socket.d.cts +1 -1
  20. package/dist/cjs/plugin/plug.d.cts +1 -1
  21. package/dist/cjs/server/server.cjs +11 -7
  22. package/dist/cjs/server/server.d.cts +1 -1
  23. package/dist/cjs/wrapper/common-wrapper-return.cjs +3 -3
  24. package/dist/cjs/wrapper/common-wrapper-return.d.cts +12 -3
  25. package/dist/cjs/wrapper/common-wrapper.d.cts +8 -1
  26. package/dist/cjs/wrapper/deferred-result-wrapper.cjs +6 -6
  27. package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +12 -5
  28. package/dist/esm/{chunk-XEV5RHGZ.js → chunk-3XRAG6DM.js} +4 -3
  29. package/dist/esm/{chunk-75CPTXGZ.js → chunk-3ZQFVYIR.js} +4 -3
  30. package/dist/esm/{chunk-OH6PZFGR.js → chunk-C5FED6EO.js} +1 -1
  31. package/dist/esm/{chunk-AEG7V7QY.js → chunk-DNJQGD5M.js} +3 -3
  32. package/dist/esm/{chunk-LZOZF4CS.js → chunk-H7LZCHCE.js} +3 -3
  33. package/dist/esm/{chunk-WECMWUFB.js → chunk-HDPEZW7H.js} +1 -1
  34. package/dist/esm/{chunk-JXTWTY2S.js → chunk-NB2QNDI2.js} +5 -5
  35. package/dist/esm/{chunk-OUDYK6TE.js → chunk-NJKBRPN7.js} +8 -5
  36. package/dist/esm/{chunk-GMYXAJS3.js → chunk-TSDOOGHG.js} +3 -2
  37. package/dist/esm/{chunk-AY6KWNWX.js → chunk-UUXGAK5S.js} +3 -2
  38. package/dist/esm/global/global.js +1 -1
  39. package/dist/esm/index.d.ts +3 -4
  40. package/dist/esm/index.js +19 -23
  41. package/dist/esm/interface/interface-base.d.ts +1 -1
  42. package/dist/esm/interface/interface-logic.d.ts +1 -1
  43. package/dist/esm/interface/interface-result.d.ts +1 -1
  44. package/dist/esm/interface/interface-result.js +5 -5
  45. package/dist/esm/interface/interface-retuen.d.ts +14 -0
  46. package/dist/esm/{interface-base-CKPWT5C9.d.ts → interface-base-C1ZNSMJz.d.ts} +34 -5
  47. package/dist/esm/plugin/extend/custom-data.d.ts +4 -1
  48. package/dist/esm/plugin/extend/json.d.ts +7 -3
  49. package/dist/esm/plugin/extend/json.js +1 -1
  50. package/dist/esm/plugin/extend/log-headers.d.ts +1 -1
  51. package/dist/esm/plugin/extend/query.d.ts +7 -3
  52. package/dist/esm/plugin/extend/query.js +1 -1
  53. package/dist/esm/plugin/extend/urlencoded.d.ts +4 -2
  54. package/dist/esm/plugin/extend/urlencoded.js +1 -1
  55. package/dist/esm/plugin/extend/web-socket.d.ts +1 -1
  56. package/dist/esm/plugin/extend/web-socket.js +2 -2
  57. package/dist/esm/plugin/plug.d.ts +1 -1
  58. package/dist/esm/server/server.d.ts +1 -1
  59. package/dist/esm/server/server.js +2 -2
  60. package/dist/esm/wrapper/common-wrapper-return.d.ts +12 -3
  61. package/dist/esm/wrapper/common-wrapper-return.js +4 -4
  62. package/dist/esm/wrapper/common-wrapper.d.ts +8 -1
  63. package/dist/esm/wrapper/common-wrapper.js +2 -2
  64. package/dist/esm/wrapper/deferred-result-wrapper.d.ts +12 -5
  65. package/dist/esm/wrapper/deferred-result-wrapper.js +4 -4
  66. package/package.json +1 -1
  67. package/dist/cjs/plugin/extend/send-file-plugin.cjs +0 -58
  68. package/dist/cjs/plugin/extend/send-file-plugin.d.cts +0 -21
  69. package/dist/esm/chunk-RRUUWHTF.js +0 -22
  70. package/dist/esm/plugin/extend/send-file-plugin.d.ts +0 -21
  71. 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
- this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
36
- 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}`}`);
37
- });
38
- }, 3e4);
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 = {};
@@ -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
- \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6: () => \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6,
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 \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
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().fn();
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 import_zod = require("zod");
344
- var zod\u7C7B\u578B\u8868\u793A = import_zod.z.object({});
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("JSON\u89E3\u6790\u63D2\u4EF6");
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 import_zod3 = require("zod");
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
- this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
426
- 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}`}`);
427
- });
428
- }, 3e4);
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
- import_zod3.z.object({
480
- ws\u64CD\u4F5C: import_zod3.z.object({
481
- \u53D1\u9001ws\u4FE1\u606F: import_zod3.z.function(import_zod3.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod3.z.promise(import_zod3.z.void())),
482
- \u5173\u95EDws\u8FDE\u63A5: import_zod3.z.function(import_zod3.z.tuple([]), import_zod3.z.promise(import_zod3.z.void())),
483
- \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570: import_zod3.z.function(import_zod3.z.tuple([import_zod3.z.function(import_zod3.z.tuple([]), import_zod3.z.promise(import_zod3.z.void()))]), import_zod3.z.promise(import_zod3.z.void()))
484
- }).or(import_zod3.z.null())
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.\u63A5\u53E3log = options.log !== void 0 ? Promise.resolve(options.log) : Global.getItem("log");
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 import_zod4 = require("zod");
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 = import_zod4.z.object({ status: import_zod4.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
697
- let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod4.z.object({ status: import_zod4.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
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 import_zod5 = require("zod");
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 = import_zod5.z.object({ status: import_zod5.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
708
- let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod5.z.object({ status: import_zod5.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
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 import_zod6 = require("zod");
716
- var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
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 = import_zod6.z.object({ status: import_zod6.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
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 \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668();
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
- \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6,
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,
@@ -1,19 +1,18 @@
1
1
  export { 构造元组, 构造对象 } from './help/help.cjs';
2
- export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑, z as 任意插件, 兼 as 兼容空对象, B as 取插件内部ts类型, 取 as 取插件内部类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, y as 常用延时直接形式转换器, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, w as 接口结果转换器, 接 as 接口路径类型, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 插 as 插件, A 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-Dq8o7vnl.cjs';
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 { 常用形式并自定义返回接口封装 } from './wrapper/common-wrapper-return.cjs';
16
- export { 常用延时直接形式接口封装 } from './wrapper/deferred-result-wrapper.cjs';
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-Dq8o7vnl.cjs';
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-Dq8o7vnl.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-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 \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
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().fn();
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 任意接口结果转换器, y as 常用延时直接形式转换器, as 常用形式转换器, w as 接口结果转换器 } from '../interface-base-Dq8o7vnl.cjs';
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
- declare class 常用延时直接形式转换器<实现最终返回类型, 实现错误类型 extends 接口逻辑错误类型, 实现正确类型 extends {
155
- fn: () => 实现最终返回类型;
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 插件项类型 as A, type 取插件内部ts类型 as B, 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, 常用延时直接形式转换器 as y, type 任意插件 as z, type 任意接口 as 任, type 兼容空对象 as 兼, type 取插件内部类型 as 取, type 可调用接口逻辑 as 可, type 合并插件结果 as 合, 常用形式转换器 as 常, type 接口路径类型 as 接, 插件 as 插, 服务器 as 服, type 清理函数类型 as 清, type 空对象 as 空, type 获得接口路径类型 as 获, type 计算接口逻辑参数 as 计, type 请求附加参数类型 as 请 };
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-Dq8o7vnl.cjs';
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 __, A as _____, 取 as _______, o as __________ } from '../../interface-base-Dq8o7vnl.cjs';
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 __<Result> {
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解析插件项 ? z.infer<_______<插件项>> & 合并JSON插件结果<xs> : 合并JSON插件结果<xs> : {} : {} : {};
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参数 };
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { 插 as __ } from '../../interface-base-Dq8o7vnl.cjs';
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';
@@ -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 __, A as _____, 取 as _______, o as __________ } from '../../interface-base-Dq8o7vnl.cjs';
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 __<Result> {
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参数解析插件项 ? z.infer<_______<插件项>> & 合并GET插件结果<xs> : 合并GET插件结果<xs> : {} : {} : {};
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参数 };