@lsby/net-core 0.3.41 → 0.3.43
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/index.cjs +41 -18
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/interface/extend/json-base.cjs +4 -4
- package/dist/cjs/interface/extend/json-wrap.cjs +4 -4
- package/dist/cjs/plugin/extend/chinese-path.cjs +2 -2
- package/dist/cjs/plugin/extend/custom-data.cjs +41 -3
- package/dist/cjs/plugin/extend/custom-data.d.cts +1 -0
- package/dist/cjs/plugin/extend/json.cjs +4 -4
- package/dist/cjs/plugin/extend/urlencoded.cjs +41 -4
- package/dist/cjs/plugin/extend/urlencoded.d.cts +1 -0
- package/dist/cjs/plugin/extend/web-socket.cjs +19 -6
- package/dist/cjs/plugin/extend/web-socket.d.cts +1 -0
- package/dist/cjs/plugin/plug.cjs +2 -2
- package/dist/cjs/plugin/plug.d.cts +6 -3
- package/dist/cjs/result/result.cjs +4 -4
- package/dist/cjs/result/result.d.cts +6 -3
- package/dist/cjs/server/server.cjs +4 -3
- package/dist/esm/{chunk-MUTTFLKG.js → chunk-24WMTMT6.js} +20 -7
- package/dist/esm/{chunk-N4NY37XI.js → chunk-43GZE5YL.js} +2 -2
- package/dist/esm/{chunk-3PONWJ35.js → chunk-47T4ZLNQ.js} +1 -1
- package/dist/esm/{chunk-F6MKRRVF.js → chunk-4V2TOQZ2.js} +4 -4
- package/dist/esm/{chunk-47GMSX5W.js → chunk-5MFTZ5T3.js} +4 -3
- package/dist/esm/{chunk-OOCVEPVP.js → chunk-6AW5SSYA.js} +10 -3
- package/dist/esm/{chunk-PVCULVI3.js → chunk-FAW4GTXP.js} +4 -4
- package/dist/esm/{chunk-VBFA32JO.js → chunk-GVIGQG5Y.js} +5 -5
- package/dist/esm/chunk-JX5MRJL6.js +22 -0
- package/dist/esm/{chunk-BVLGIDYF.js → chunk-WF7MUELD.js} +4 -4
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +21 -21
- package/dist/esm/interface/extend/json-base.js +3 -3
- package/dist/esm/interface/extend/json-wrap.js +4 -4
- package/dist/esm/plugin/extend/chinese-path.js +2 -2
- package/dist/esm/plugin/extend/custom-data.d.ts +1 -0
- package/dist/esm/plugin/extend/custom-data.js +4 -2
- package/dist/esm/plugin/extend/json.js +2 -2
- package/dist/esm/plugin/extend/urlencoded.d.ts +1 -0
- package/dist/esm/plugin/extend/urlencoded.js +4 -2
- package/dist/esm/plugin/extend/web-socket.d.ts +1 -0
- package/dist/esm/plugin/extend/web-socket.js +2 -2
- package/dist/esm/plugin/plug.d.ts +6 -3
- package/dist/esm/plugin/plug.js +1 -1
- package/dist/esm/result/result.d.ts +6 -3
- package/dist/esm/result/result.js +1 -1
- package/dist/esm/server/server.js +1 -1
- package/package.json +1 -1
- package/dist/esm/chunk-2MN4G2DG.js +0 -14
package/dist/cjs/index.cjs
CHANGED
|
@@ -258,8 +258,8 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
258
258
|
this.data = data;
|
|
259
259
|
}
|
|
260
260
|
log = Global.getItem("log");
|
|
261
|
-
async run(req, res) {
|
|
262
|
-
let log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
261
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
262
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
263
263
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
264
264
|
res.send(this.data);
|
|
265
265
|
}
|
|
@@ -282,8 +282,8 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
282
282
|
this.data = data;
|
|
283
283
|
}
|
|
284
284
|
log = Global.getItem("log");
|
|
285
|
-
async run(req, res) {
|
|
286
|
-
let log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
285
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
286
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
287
287
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
288
288
|
res.send(this.data);
|
|
289
289
|
}
|
|
@@ -396,8 +396,8 @@ var \u63D2\u4EF6 = class {
|
|
|
396
396
|
\u83B7\u5F97\u7C7B\u578B() {
|
|
397
397
|
return this.\u7C7B\u578B;
|
|
398
398
|
}
|
|
399
|
-
\
|
|
400
|
-
return this.\u5B9E\u73B0;
|
|
399
|
+
\u8FD0\u884C(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
400
|
+
return this.\u5B9E\u73B0(req, res, \u9644\u52A0\u53C2\u6570);
|
|
401
401
|
}
|
|
402
402
|
};
|
|
403
403
|
|
|
@@ -416,8 +416,13 @@ var \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6 = class extends \u63D2\u4EF
|
|
|
416
416
|
|
|
417
417
|
// src/plugin/extend/custom-data.ts
|
|
418
418
|
var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
419
|
+
log = Global.getItem("log");
|
|
419
420
|
constructor(t, data) {
|
|
420
|
-
super(t, async () =>
|
|
421
|
+
super(t, async (_res, _req, \u9644\u52A0\u53C2\u6570) => {
|
|
422
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6");
|
|
423
|
+
await log.debug("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6\u8FD0\u884C, \u7ED3\u679C: %o", data);
|
|
424
|
+
return data;
|
|
425
|
+
});
|
|
421
426
|
}
|
|
422
427
|
};
|
|
423
428
|
|
|
@@ -427,8 +432,8 @@ var import_express = __toESM(require("express"), 1);
|
|
|
427
432
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
428
433
|
log = Global.getItem("log");
|
|
429
434
|
constructor(t, opt) {
|
|
430
|
-
super(t, async (req, res) => {
|
|
431
|
-
let log = (await this.log).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
435
|
+
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
436
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
432
437
|
await new Promise(
|
|
433
438
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
434
439
|
pRes(null);
|
|
@@ -450,16 +455,20 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
450
455
|
var import_node_util2 = require("util");
|
|
451
456
|
var import_express2 = __toESM(require("express"), 1);
|
|
452
457
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
458
|
+
log = Global.getItem("log");
|
|
453
459
|
constructor(t, opt) {
|
|
454
|
-
super(t, async (req, res) => {
|
|
460
|
+
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
461
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
455
462
|
await new Promise(
|
|
456
463
|
(pRes, _rej) => import_express2.default.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
457
464
|
pRes(null);
|
|
458
465
|
})
|
|
459
466
|
);
|
|
460
467
|
let parseResult = t.safeParse(req.body);
|
|
461
|
-
if (!parseResult.success)
|
|
468
|
+
if (!parseResult.success) {
|
|
469
|
+
await log.err("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error);
|
|
462
470
|
throw new Error((0, import_node_util2.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
|
|
471
|
+
}
|
|
463
472
|
return parseResult.data;
|
|
464
473
|
});
|
|
465
474
|
}
|
|
@@ -468,6 +477,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
468
477
|
// src/plugin/extend/web-socket.ts
|
|
469
478
|
var import_zod3 = require("zod");
|
|
470
479
|
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
480
|
+
log = Global.getItem("log");
|
|
471
481
|
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
472
482
|
super(
|
|
473
483
|
import_zod3.z.object({
|
|
@@ -476,27 +486,39 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
476
486
|
\u5173\u95EDws\u8FDE\u63A5: import_zod3.z.function(import_zod3.z.tuple([]), import_zod3.z.promise(import_zod3.z.void()))
|
|
477
487
|
}).or(import_zod3.z.undefined())
|
|
478
488
|
}),
|
|
479
|
-
async (req, _res) => {
|
|
489
|
+
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
490
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("ws\u63D2\u4EF6");
|
|
480
491
|
let wsId = req.headers["ws-client-id"];
|
|
481
492
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
482
493
|
let ws\u53E5\u67C4 = null;
|
|
483
|
-
|
|
494
|
+
await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
495
|
+
if (typeof wsId == "string") {
|
|
496
|
+
await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4", { wsId });
|
|
484
497
|
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
485
|
-
|
|
498
|
+
}
|
|
499
|
+
if (!ws\u53E5\u67C4) {
|
|
500
|
+
await log.err("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
486
501
|
return { ws\u64CD\u4F5C: void 0 };
|
|
502
|
+
}
|
|
487
503
|
let \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
|
|
504
|
+
await log.debug("WebSocket \u53E5\u67C4\u5DF2\u51C6\u5907\u597D", { wsId });
|
|
488
505
|
return {
|
|
489
506
|
ws\u64CD\u4F5C: {
|
|
490
507
|
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
508
|
+
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
|
|
491
509
|
return new Promise((res, rej) => {
|
|
492
510
|
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
493
|
-
if (err)
|
|
511
|
+
if (err) {
|
|
512
|
+
log.err("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err }).catch(console.error);
|
|
494
513
|
return rej(err);
|
|
514
|
+
}
|
|
515
|
+
log.info("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F", { \u4FE1\u606F }).catch(console.error);
|
|
495
516
|
return res();
|
|
496
517
|
});
|
|
497
518
|
});
|
|
498
519
|
},
|
|
499
520
|
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
521
|
+
await log.debug("\u5173\u95ED WebSocket \u8FDE\u63A5");
|
|
500
522
|
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
501
523
|
}
|
|
502
524
|
}
|
|
@@ -521,7 +543,8 @@ var \u670D\u52A1\u5668 = class {
|
|
|
521
543
|
async run() {
|
|
522
544
|
let app = (0, import_express3.default)();
|
|
523
545
|
app.use(async (req, res) => {
|
|
524
|
-
let
|
|
546
|
+
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
547
|
+
let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
|
|
525
548
|
try {
|
|
526
549
|
let \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
527
550
|
let \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
@@ -536,13 +559,13 @@ var \u670D\u52A1\u5668 = class {
|
|
|
536
559
|
let \u63A5\u53E3\u7C7B\u578B2 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
|
|
537
560
|
let \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B2.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
538
561
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
|
|
539
|
-
let \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF62) => await (await \u63D2\u4EF62.run()).\
|
|
562
|
+
let \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF62) => await (await \u63D2\u4EF62.run()).\u8FD0\u884C(req, res, { \u8BF7\u6C42id })))).reduce((s, a) => Object.assign(s, a), {});
|
|
540
563
|
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
541
564
|
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u903B\u8F91...");
|
|
542
565
|
let \u63A5\u53E3\u7ED3\u679C = await \u76EE\u6807\u63A5\u53E3.\u63A5\u53E3\u5B9E\u73B0(\u63D2\u4EF6\u7ED3\u679C);
|
|
543
566
|
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
544
567
|
await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
|
|
545
|
-
await \u63A5\u53E3\u7ED3\u679C.run(req, res);
|
|
568
|
+
await \u63A5\u53E3\u7ED3\u679C.run(req, res, { \u8BF7\u6C42id });
|
|
546
569
|
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
547
570
|
return;
|
|
548
571
|
}
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -9,7 +9,7 @@ export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
|
|
|
9
9
|
export { JSON解析插件, 从接口类型获得JSON参数, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.cjs';
|
|
10
10
|
export { 表单解析插件 } from './plugin/extend/urlencoded.cjs';
|
|
11
11
|
export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件结果 } from './plugin/extend/web-socket.cjs';
|
|
12
|
-
export { 任意插件, 包装插件项, 取Task插件内部类型, 取Task插件类型, 取插件内部ts类型, 合并插件结果, 插件,
|
|
12
|
+
export { 任意插件, 包装插件项, 取Task插件内部类型, 取Task插件类型, 取插件内部ts类型, 合并插件结果, 插件, 插件项类型, 附加参数类型 } from './plugin/plug.cjs';
|
|
13
13
|
export { 正确JSON结果, 正确结果, 正确自定义结果, 结果, 错误JSON结果, 错误结果 } from './result/result.cjs';
|
|
14
14
|
export { 服务器 } from './server/server.cjs';
|
|
15
15
|
import '@lsby/ts-fp-data';
|
|
@@ -92,8 +92,8 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
92
92
|
this.data = data;
|
|
93
93
|
}
|
|
94
94
|
log = Global.getItem("log");
|
|
95
|
-
async run(req, res) {
|
|
96
|
-
let log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
95
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
96
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
97
97
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
98
98
|
res.send(this.data);
|
|
99
99
|
}
|
|
@@ -107,8 +107,8 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
107
107
|
this.data = data;
|
|
108
108
|
}
|
|
109
109
|
log = Global.getItem("log");
|
|
110
|
-
async run(req, res) {
|
|
111
|
-
let log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
110
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
111
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
112
112
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
113
113
|
res.send(this.data);
|
|
114
114
|
}
|
|
@@ -94,8 +94,8 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
94
94
|
this.data = data;
|
|
95
95
|
}
|
|
96
96
|
log = Global.getItem("log");
|
|
97
|
-
async run(req, res) {
|
|
98
|
-
let log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
97
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
98
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
99
99
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
100
100
|
res.send(this.data);
|
|
101
101
|
}
|
|
@@ -109,8 +109,8 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
109
109
|
this.data = data;
|
|
110
110
|
}
|
|
111
111
|
log = Global.getItem("log");
|
|
112
|
-
async run(req, res) {
|
|
113
|
-
let log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
112
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
113
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
114
114
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
115
115
|
res.send(this.data);
|
|
116
116
|
}
|
|
@@ -35,8 +35,8 @@ var \u63D2\u4EF6 = class {
|
|
|
35
35
|
\u83B7\u5F97\u7C7B\u578B() {
|
|
36
36
|
return this.\u7C7B\u578B;
|
|
37
37
|
}
|
|
38
|
-
\
|
|
39
|
-
return this.\u5B9E\u73B0;
|
|
38
|
+
\u8FD0\u884C(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
39
|
+
return this.\u5B9E\u73B0(req, res, \u9644\u52A0\u53C2\u6570);
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
|
|
@@ -24,6 +24,39 @@ __export(custom_data_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(custom_data_exports);
|
|
26
26
|
|
|
27
|
+
// src/global/global.ts
|
|
28
|
+
var import_ts_global = require("@lsby/ts-global");
|
|
29
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
30
|
+
|
|
31
|
+
// src/global/ws.ts
|
|
32
|
+
var WebSocket\u7BA1\u7406\u8005 = class {
|
|
33
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
34
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
35
|
+
}
|
|
36
|
+
async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
|
|
37
|
+
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
38
|
+
}
|
|
39
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
40
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
|
|
41
|
+
}
|
|
42
|
+
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
43
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
|
|
44
|
+
}
|
|
45
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
46
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// src/global/global.ts
|
|
51
|
+
var Global = new import_ts_global.GlobalService([
|
|
52
|
+
new import_ts_global.GlobalAsyncItem("log", async () => {
|
|
53
|
+
return new import_ts_log.Log("@lsby:net-core");
|
|
54
|
+
}),
|
|
55
|
+
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u8005", async () => {
|
|
56
|
+
return new WebSocket\u7BA1\u7406\u8005({});
|
|
57
|
+
})
|
|
58
|
+
]);
|
|
59
|
+
|
|
27
60
|
// src/plugin/plug.ts
|
|
28
61
|
var \u63D2\u4EF6 = class {
|
|
29
62
|
constructor(\u7C7B\u578B, \u5B9E\u73B0) {
|
|
@@ -33,15 +66,20 @@ var \u63D2\u4EF6 = class {
|
|
|
33
66
|
\u83B7\u5F97\u7C7B\u578B() {
|
|
34
67
|
return this.\u7C7B\u578B;
|
|
35
68
|
}
|
|
36
|
-
\
|
|
37
|
-
return this.\u5B9E\u73B0;
|
|
69
|
+
\u8FD0\u884C(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
70
|
+
return this.\u5B9E\u73B0(req, res, \u9644\u52A0\u53C2\u6570);
|
|
38
71
|
}
|
|
39
72
|
};
|
|
40
73
|
|
|
41
74
|
// src/plugin/extend/custom-data.ts
|
|
42
75
|
var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
76
|
+
log = Global.getItem("log");
|
|
43
77
|
constructor(t, data) {
|
|
44
|
-
super(t, async () =>
|
|
78
|
+
super(t, async (_res, _req, \u9644\u52A0\u53C2\u6570) => {
|
|
79
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6");
|
|
80
|
+
await log.debug("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6\u8FD0\u884C, \u7ED3\u679C: %o", data);
|
|
81
|
+
return data;
|
|
82
|
+
});
|
|
45
83
|
}
|
|
46
84
|
};
|
|
47
85
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -101,8 +101,8 @@ var \u63D2\u4EF6 = class {
|
|
|
101
101
|
\u83B7\u5F97\u7C7B\u578B() {
|
|
102
102
|
return this.\u7C7B\u578B;
|
|
103
103
|
}
|
|
104
|
-
\
|
|
105
|
-
return this.\u5B9E\u73B0;
|
|
104
|
+
\u8FD0\u884C(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
105
|
+
return this.\u5B9E\u73B0(req, res, \u9644\u52A0\u53C2\u6570);
|
|
106
106
|
}
|
|
107
107
|
};
|
|
108
108
|
|
|
@@ -110,8 +110,8 @@ var \u63D2\u4EF6 = class {
|
|
|
110
110
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
111
111
|
log = Global.getItem("log");
|
|
112
112
|
constructor(t, opt) {
|
|
113
|
-
super(t, async (req, res) => {
|
|
114
|
-
let log = (await this.log).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
113
|
+
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
114
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
115
115
|
await new Promise(
|
|
116
116
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
117
117
|
pRes(null);
|
|
@@ -36,6 +36,39 @@ module.exports = __toCommonJS(urlencoded_exports);
|
|
|
36
36
|
var import_node_util = require("util");
|
|
37
37
|
var import_express = __toESM(require("express"), 1);
|
|
38
38
|
|
|
39
|
+
// src/global/global.ts
|
|
40
|
+
var import_ts_global = require("@lsby/ts-global");
|
|
41
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
42
|
+
|
|
43
|
+
// src/global/ws.ts
|
|
44
|
+
var WebSocket\u7BA1\u7406\u8005 = class {
|
|
45
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
46
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
47
|
+
}
|
|
48
|
+
async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
|
|
49
|
+
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
50
|
+
}
|
|
51
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
52
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
|
|
53
|
+
}
|
|
54
|
+
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
55
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
|
|
56
|
+
}
|
|
57
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
58
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// src/global/global.ts
|
|
63
|
+
var Global = new import_ts_global.GlobalService([
|
|
64
|
+
new import_ts_global.GlobalAsyncItem("log", async () => {
|
|
65
|
+
return new import_ts_log.Log("@lsby:net-core");
|
|
66
|
+
}),
|
|
67
|
+
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u8005", async () => {
|
|
68
|
+
return new WebSocket\u7BA1\u7406\u8005({});
|
|
69
|
+
})
|
|
70
|
+
]);
|
|
71
|
+
|
|
39
72
|
// src/plugin/plug.ts
|
|
40
73
|
var \u63D2\u4EF6 = class {
|
|
41
74
|
constructor(\u7C7B\u578B, \u5B9E\u73B0) {
|
|
@@ -45,23 +78,27 @@ var \u63D2\u4EF6 = class {
|
|
|
45
78
|
\u83B7\u5F97\u7C7B\u578B() {
|
|
46
79
|
return this.\u7C7B\u578B;
|
|
47
80
|
}
|
|
48
|
-
\
|
|
49
|
-
return this.\u5B9E\u73B0;
|
|
81
|
+
\u8FD0\u884C(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
82
|
+
return this.\u5B9E\u73B0(req, res, \u9644\u52A0\u53C2\u6570);
|
|
50
83
|
}
|
|
51
84
|
};
|
|
52
85
|
|
|
53
86
|
// src/plugin/extend/urlencoded.ts
|
|
54
87
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
88
|
+
log = Global.getItem("log");
|
|
55
89
|
constructor(t, opt) {
|
|
56
|
-
super(t, async (req, res) => {
|
|
90
|
+
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
91
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
57
92
|
await new Promise(
|
|
58
93
|
(pRes, _rej) => import_express.default.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
59
94
|
pRes(null);
|
|
60
95
|
})
|
|
61
96
|
);
|
|
62
97
|
let parseResult = t.safeParse(req.body);
|
|
63
|
-
if (!parseResult.success)
|
|
98
|
+
if (!parseResult.success) {
|
|
99
|
+
await log.err("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error);
|
|
64
100
|
throw new Error((0, import_node_util.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
|
|
101
|
+
}
|
|
65
102
|
return parseResult.data;
|
|
66
103
|
});
|
|
67
104
|
}
|
|
@@ -67,13 +67,14 @@ var \u63D2\u4EF6 = class {
|
|
|
67
67
|
\u83B7\u5F97\u7C7B\u578B() {
|
|
68
68
|
return this.\u7C7B\u578B;
|
|
69
69
|
}
|
|
70
|
-
\
|
|
71
|
-
return this.\u5B9E\u73B0;
|
|
70
|
+
\u8FD0\u884C(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
71
|
+
return this.\u5B9E\u73B0(req, res, \u9644\u52A0\u53C2\u6570);
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
// src/plugin/extend/web-socket.ts
|
|
76
76
|
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
77
|
+
log = Global.getItem("log");
|
|
77
78
|
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
78
79
|
super(
|
|
79
80
|
import_zod.z.object({
|
|
@@ -82,27 +83,39 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
82
83
|
\u5173\u95EDws\u8FDE\u63A5: import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void()))
|
|
83
84
|
}).or(import_zod.z.undefined())
|
|
84
85
|
}),
|
|
85
|
-
async (req, _res) => {
|
|
86
|
+
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
87
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("ws\u63D2\u4EF6");
|
|
86
88
|
let wsId = req.headers["ws-client-id"];
|
|
87
89
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
88
90
|
let ws\u53E5\u67C4 = null;
|
|
89
|
-
|
|
91
|
+
await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
92
|
+
if (typeof wsId == "string") {
|
|
93
|
+
await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4", { wsId });
|
|
90
94
|
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
91
|
-
|
|
95
|
+
}
|
|
96
|
+
if (!ws\u53E5\u67C4) {
|
|
97
|
+
await log.err("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
92
98
|
return { ws\u64CD\u4F5C: void 0 };
|
|
99
|
+
}
|
|
93
100
|
let \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
|
|
101
|
+
await log.debug("WebSocket \u53E5\u67C4\u5DF2\u51C6\u5907\u597D", { wsId });
|
|
94
102
|
return {
|
|
95
103
|
ws\u64CD\u4F5C: {
|
|
96
104
|
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
105
|
+
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
|
|
97
106
|
return new Promise((res, rej) => {
|
|
98
107
|
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
99
|
-
if (err)
|
|
108
|
+
if (err) {
|
|
109
|
+
log.err("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err }).catch(console.error);
|
|
100
110
|
return rej(err);
|
|
111
|
+
}
|
|
112
|
+
log.info("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F", { \u4FE1\u606F }).catch(console.error);
|
|
101
113
|
return res();
|
|
102
114
|
});
|
|
103
115
|
});
|
|
104
116
|
},
|
|
105
117
|
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
118
|
+
await log.debug("\u5173\u95ED WebSocket \u8FDE\u63A5");
|
|
106
119
|
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
107
120
|
}
|
|
108
121
|
}
|
package/dist/cjs/plugin/plug.cjs
CHANGED
|
@@ -31,8 +31,8 @@ var \u63D2\u4EF6 = class {
|
|
|
31
31
|
\u83B7\u5F97\u7C7B\u578B() {
|
|
32
32
|
return this.\u7C7B\u578B;
|
|
33
33
|
}
|
|
34
|
-
\
|
|
35
|
-
return this.\u5B9E\u73B0;
|
|
34
|
+
\u8FD0\u884C(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
35
|
+
return this.\u5B9E\u73B0(req, res, \u9644\u52A0\u53C2\u6570);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -2,13 +2,16 @@ import { Request, Response } from 'express';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { Task } from '@lsby/ts-fp-data';
|
|
4
4
|
|
|
5
|
+
type 附加参数类型 = {
|
|
6
|
+
请求id: string;
|
|
7
|
+
};
|
|
5
8
|
declare class 插件<Obj extends z.AnyZodObject> {
|
|
6
9
|
private 类型;
|
|
7
10
|
private 实现;
|
|
8
11
|
protected readonly __类型保持符号?: Obj;
|
|
9
|
-
constructor(类型: Obj, 实现: (req: Request, res: Response) => Promise<z.infer<Obj>>);
|
|
12
|
+
constructor(类型: Obj, 实现: (req: Request, res: Response, 附加参数: 附加参数类型) => Promise<z.infer<Obj>>);
|
|
10
13
|
获得类型(): Obj;
|
|
11
|
-
|
|
14
|
+
运行(req: Request, res: Response, 附加参数: 附加参数类型): Promise<z.infer<Obj>>;
|
|
12
15
|
}
|
|
13
16
|
type 任意插件 = 插件<any>;
|
|
14
17
|
type 包装插件项<A> = Task<A>;
|
|
@@ -18,4 +21,4 @@ type 取Task插件类型<A> = A extends Task<infer x> ? x : never;
|
|
|
18
21
|
type 取插件内部ts类型<A> = A extends 插件<infer x> ? z.infer<x> : never;
|
|
19
22
|
type 合并插件结果<Arr extends Array<插件项类型>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<插件项类型> ? z.infer<取Task插件内部类型<插件项>> & 合并插件结果<xs> : {} : {} : {};
|
|
20
23
|
|
|
21
|
-
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type
|
|
24
|
+
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type 插件项类型, type 附加参数类型 };
|
|
@@ -97,8 +97,8 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
97
97
|
this.data = data;
|
|
98
98
|
}
|
|
99
99
|
log = Global.getItem("log");
|
|
100
|
-
async run(req, res) {
|
|
101
|
-
let log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
100
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
101
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
102
102
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
103
103
|
res.send(this.data);
|
|
104
104
|
}
|
|
@@ -121,8 +121,8 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
121
121
|
this.data = data;
|
|
122
122
|
}
|
|
123
123
|
log = Global.getItem("log");
|
|
124
|
-
async run(req, res) {
|
|
125
|
-
let log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
124
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
125
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
126
126
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
127
127
|
res.send(this.data);
|
|
128
128
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
|
+
import { 附加参数类型 as ______ } from '../plugin/plug.cjs';
|
|
3
|
+
import 'zod';
|
|
4
|
+
import '@lsby/ts-fp-data';
|
|
2
5
|
|
|
3
6
|
declare abstract class 结果<T> {
|
|
4
7
|
protected readonly __类型保持符号?: T;
|
|
5
|
-
abstract run(req: Request, res: Response): Promise<void>;
|
|
8
|
+
abstract run(req: Request, res: Response, 附加参数: ______): Promise<void>;
|
|
6
9
|
}
|
|
7
10
|
declare abstract class 正确结果<T> extends 结果<T> {
|
|
8
11
|
private 正确结果烙印;
|
|
@@ -11,7 +14,7 @@ declare class 正确JSON结果<Data extends Record<string, unknown>> extends 正
|
|
|
11
14
|
private data;
|
|
12
15
|
private log;
|
|
13
16
|
constructor(data: Data);
|
|
14
|
-
run(req: Request, res: Response): Promise<void>;
|
|
17
|
+
run(req: Request, res: Response, 附加参数: ______): Promise<void>;
|
|
15
18
|
}
|
|
16
19
|
declare class 正确自定义结果 extends 正确结果<unknown> {
|
|
17
20
|
private customHandler;
|
|
@@ -25,7 +28,7 @@ declare class 错误JSON结果<Data> extends 错误结果<Data> {
|
|
|
25
28
|
private data;
|
|
26
29
|
private log;
|
|
27
30
|
constructor(data: Data);
|
|
28
|
-
run(req: Request, res: Response): Promise<void>;
|
|
31
|
+
run(req: Request, res: Response, 附加参数: ______): Promise<void>;
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
export { 正确JSON结果, 正确结果, 正确自定义结果, 结果, 错误JSON结果, 错误结果 };
|
|
@@ -82,7 +82,8 @@ var \u670D\u52A1\u5668 = class {
|
|
|
82
82
|
async run() {
|
|
83
83
|
let app = (0, import_express.default)();
|
|
84
84
|
app.use(async (req, res) => {
|
|
85
|
-
let
|
|
85
|
+
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
86
|
+
let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
|
|
86
87
|
try {
|
|
87
88
|
let \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
88
89
|
let \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
@@ -97,13 +98,13 @@ var \u670D\u52A1\u5668 = class {
|
|
|
97
98
|
let \u63A5\u53E3\u7C7B\u578B = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
|
|
98
99
|
let \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
99
100
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
|
|
100
|
-
let \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF6) => await (await \u63D2\u4EF6.run()).\
|
|
101
|
+
let \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF6) => await (await \u63D2\u4EF6.run()).\u8FD0\u884C(req, res, { \u8BF7\u6C42id })))).reduce((s, a) => Object.assign(s, a), {});
|
|
101
102
|
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
102
103
|
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u903B\u8F91...");
|
|
103
104
|
let \u63A5\u53E3\u7ED3\u679C = await \u76EE\u6807\u63A5\u53E3.\u63A5\u53E3\u5B9E\u73B0(\u63D2\u4EF6\u7ED3\u679C);
|
|
104
105
|
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
105
106
|
await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
|
|
106
|
-
await \u63A5\u53E3\u7ED3\u679C.run(req, res);
|
|
107
|
+
await \u63A5\u53E3\u7ED3\u679C.run(req, res, { \u8BF7\u6C42id });
|
|
107
108
|
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
108
109
|
return;
|
|
109
110
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
插件
|
|
3
|
+
} from "./chunk-43GZE5YL.js";
|
|
1
4
|
import {
|
|
2
5
|
Global
|
|
3
6
|
} from "./chunk-BC6IISWS.js";
|
|
4
|
-
import {
|
|
5
|
-
插件
|
|
6
|
-
} from "./chunk-N4NY37XI.js";
|
|
7
7
|
|
|
8
8
|
// src/plugin/extend/web-socket.ts
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
11
|
+
log = Global.getItem("log");
|
|
11
12
|
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
12
13
|
super(
|
|
13
14
|
z.object({
|
|
@@ -16,27 +17,39 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
16
17
|
\u5173\u95EDws\u8FDE\u63A5: z.function(z.tuple([]), z.promise(z.void()))
|
|
17
18
|
}).or(z.undefined())
|
|
18
19
|
}),
|
|
19
|
-
async (req, _res) => {
|
|
20
|
+
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
21
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("ws\u63D2\u4EF6");
|
|
20
22
|
let wsId = req.headers["ws-client-id"];
|
|
21
23
|
let WebSocket\u7BA1\u7406\u8005 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
22
24
|
let ws\u53E5\u67C4 = null;
|
|
23
|
-
|
|
25
|
+
await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
26
|
+
if (typeof wsId == "string") {
|
|
27
|
+
await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4", { wsId });
|
|
24
28
|
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u8005.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
25
|
-
|
|
29
|
+
}
|
|
30
|
+
if (!ws\u53E5\u67C4) {
|
|
31
|
+
await log.err("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
26
32
|
return { ws\u64CD\u4F5C: void 0 };
|
|
33
|
+
}
|
|
27
34
|
let \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
|
|
35
|
+
await log.debug("WebSocket \u53E5\u67C4\u5DF2\u51C6\u5907\u597D", { wsId });
|
|
28
36
|
return {
|
|
29
37
|
ws\u64CD\u4F5C: {
|
|
30
38
|
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
39
|
+
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
|
|
31
40
|
return new Promise((res, rej) => {
|
|
32
41
|
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
33
|
-
if (err)
|
|
42
|
+
if (err) {
|
|
43
|
+
log.err("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err }).catch(console.error);
|
|
34
44
|
return rej(err);
|
|
45
|
+
}
|
|
46
|
+
log.info("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F", { \u4FE1\u606F }).catch(console.error);
|
|
35
47
|
return res();
|
|
36
48
|
});
|
|
37
49
|
});
|
|
38
50
|
},
|
|
39
51
|
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
52
|
+
await log.debug("\u5173\u95ED WebSocket \u8FDE\u63A5");
|
|
40
53
|
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
41
54
|
}
|
|
42
55
|
}
|
|
@@ -7,8 +7,8 @@ var \u63D2\u4EF6 = class {
|
|
|
7
7
|
\u83B7\u5F97\u7C7B\u578B() {
|
|
8
8
|
return this.\u7C7B\u578B;
|
|
9
9
|
}
|
|
10
|
-
\
|
|
11
|
-
return this.\u5B9E\u73B0;
|
|
10
|
+
\u8FD0\u884C(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
11
|
+
return this.\u5B9E\u73B0(req, res, \u9644\u52A0\u53C2\u6570);
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
|
|
@@ -17,8 +17,8 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
17
17
|
this.data = data;
|
|
18
18
|
}
|
|
19
19
|
log = Global.getItem("log");
|
|
20
|
-
async run(req, res) {
|
|
21
|
-
let log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
20
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
21
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
22
22
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
23
23
|
res.send(this.data);
|
|
24
24
|
}
|
|
@@ -41,8 +41,8 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
41
41
|
this.data = data;
|
|
42
42
|
}
|
|
43
43
|
log = Global.getItem("log");
|
|
44
|
-
async run(req, res) {
|
|
45
|
-
let log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
44
|
+
async run(req, res, \u9644\u52A0\u53C2\u6570) {
|
|
45
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
46
46
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
47
47
|
res.send(this.data);
|
|
48
48
|
}
|
|
@@ -17,7 +17,8 @@ var \u670D\u52A1\u5668 = class {
|
|
|
17
17
|
async run() {
|
|
18
18
|
let app = express();
|
|
19
19
|
app.use(async (req, res) => {
|
|
20
|
-
let
|
|
20
|
+
let \u8BF7\u6C42id = short().new();
|
|
21
|
+
let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
|
|
21
22
|
try {
|
|
22
23
|
let \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
23
24
|
let \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
@@ -32,13 +33,13 @@ var \u670D\u52A1\u5668 = class {
|
|
|
32
33
|
let \u63A5\u53E3\u7C7B\u578B = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
|
|
33
34
|
let \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
34
35
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
|
|
35
|
-
let \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF6) => await (await \u63D2\u4EF6.run()).\
|
|
36
|
+
let \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF6) => await (await \u63D2\u4EF6.run()).\u8FD0\u884C(req, res, { \u8BF7\u6C42id })))).reduce((s, a) => Object.assign(s, a), {});
|
|
36
37
|
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
37
38
|
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u903B\u8F91...");
|
|
38
39
|
let \u63A5\u53E3\u7ED3\u679C = await \u76EE\u6807\u63A5\u53E3.\u63A5\u53E3\u5B9E\u73B0(\u63D2\u4EF6\u7ED3\u679C);
|
|
39
40
|
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
40
41
|
await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
|
|
41
|
-
await \u63A5\u53E3\u7ED3\u679C.run(req, res);
|
|
42
|
+
await \u63A5\u53E3\u7ED3\u679C.run(req, res, { \u8BF7\u6C42id });
|
|
42
43
|
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
43
44
|
return;
|
|
44
45
|
}
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
插件
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-43GZE5YL.js";
|
|
4
|
+
import {
|
|
5
|
+
Global
|
|
6
|
+
} from "./chunk-BC6IISWS.js";
|
|
4
7
|
|
|
5
8
|
// src/plugin/extend/urlencoded.ts
|
|
6
9
|
import { format } from "node:util";
|
|
7
10
|
import express from "express";
|
|
8
11
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
12
|
+
log = Global.getItem("log");
|
|
9
13
|
constructor(t, opt) {
|
|
10
|
-
super(t, async (req, res) => {
|
|
14
|
+
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
15
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
11
16
|
await new Promise(
|
|
12
17
|
(pRes, _rej) => express.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
13
18
|
pRes(null);
|
|
14
19
|
})
|
|
15
20
|
);
|
|
16
21
|
let parseResult = t.safeParse(req.body);
|
|
17
|
-
if (!parseResult.success)
|
|
22
|
+
if (!parseResult.success) {
|
|
23
|
+
await log.err("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error);
|
|
18
24
|
throw new Error(format("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
|
|
25
|
+
}
|
|
19
26
|
return parseResult.data;
|
|
20
27
|
});
|
|
21
28
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
正确JSON结果,
|
|
3
|
-
错误JSON结果
|
|
4
|
-
} from "./chunk-F6MKRRVF.js";
|
|
5
1
|
import {
|
|
6
2
|
接口
|
|
7
3
|
} from "./chunk-G4P3OAFL.js";
|
|
4
|
+
import {
|
|
5
|
+
正确JSON结果,
|
|
6
|
+
错误JSON结果
|
|
7
|
+
} from "./chunk-4V2TOQZ2.js";
|
|
8
8
|
|
|
9
9
|
// src/interface/extend/json-base.ts
|
|
10
10
|
var JSON\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
插件
|
|
3
|
+
} from "./chunk-43GZE5YL.js";
|
|
1
4
|
import {
|
|
2
5
|
递归截断字符串
|
|
3
6
|
} from "./chunk-PVE5VI5K.js";
|
|
4
7
|
import {
|
|
5
8
|
Global
|
|
6
9
|
} from "./chunk-BC6IISWS.js";
|
|
7
|
-
import {
|
|
8
|
-
插件
|
|
9
|
-
} from "./chunk-N4NY37XI.js";
|
|
10
10
|
|
|
11
11
|
// src/plugin/extend/json.ts
|
|
12
12
|
import { format } from "node:util";
|
|
@@ -14,8 +14,8 @@ import express from "express";
|
|
|
14
14
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
15
15
|
log = Global.getItem("log");
|
|
16
16
|
constructor(t, opt) {
|
|
17
|
-
super(t, async (req, res) => {
|
|
18
|
-
let log = (await this.log).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
17
|
+
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
18
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
19
19
|
await new Promise(
|
|
20
20
|
(pRes, _rej) => express.json(opt)(req, res, () => {
|
|
21
21
|
pRes(null);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
插件
|
|
3
|
+
} from "./chunk-43GZE5YL.js";
|
|
4
|
+
import {
|
|
5
|
+
Global
|
|
6
|
+
} from "./chunk-BC6IISWS.js";
|
|
7
|
+
|
|
8
|
+
// src/plugin/extend/custom-data.ts
|
|
9
|
+
var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
10
|
+
log = Global.getItem("log");
|
|
11
|
+
constructor(t, data) {
|
|
12
|
+
super(t, async (_res, _req, \u9644\u52A0\u53C2\u6570) => {
|
|
13
|
+
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6");
|
|
14
|
+
await log.debug("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6\u8FD0\u884C, \u7ED3\u679C: %o", data);
|
|
15
|
+
return data;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
自定义数据插件
|
|
22
|
+
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
正确JSON结果,
|
|
3
|
-
错误JSON结果
|
|
4
|
-
} from "./chunk-F6MKRRVF.js";
|
|
5
1
|
import {
|
|
6
2
|
接口
|
|
7
3
|
} from "./chunk-G4P3OAFL.js";
|
|
8
4
|
import {
|
|
9
5
|
接口类型
|
|
10
6
|
} from "./chunk-SF5Z34AP.js";
|
|
7
|
+
import {
|
|
8
|
+
正确JSON结果,
|
|
9
|
+
错误JSON结果
|
|
10
|
+
} from "./chunk-4V2TOQZ2.js";
|
|
11
11
|
|
|
12
12
|
// src/interface/extend/json-wrap.ts
|
|
13
13
|
import { z } from "zod";
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { 自定义数据插件 } from './plugin/extend/custom-data.js';
|
|
|
9
9
|
export { JSON解析插件, 从接口类型获得JSON参数, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.js';
|
|
10
10
|
export { 表单解析插件 } from './plugin/extend/urlencoded.js';
|
|
11
11
|
export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件结果 } from './plugin/extend/web-socket.js';
|
|
12
|
-
export { 任意插件, 包装插件项, 取Task插件内部类型, 取Task插件类型, 取插件内部ts类型, 合并插件结果, 插件,
|
|
12
|
+
export { 任意插件, 包装插件项, 取Task插件内部类型, 取Task插件类型, 取插件内部ts类型, 合并插件结果, 插件, 插件项类型, 附加参数类型 } from './plugin/plug.js';
|
|
13
13
|
export { 正确JSON结果, 正确结果, 正确自定义结果, 结果, 错误JSON结果, 错误结果 } from './result/result.js';
|
|
14
14
|
export { 服务器 } from './server/server.js';
|
|
15
15
|
import '@lsby/ts-fp-data';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,42 +1,34 @@
|
|
|
1
1
|
import {
|
|
2
2
|
WebSocket插件
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-24WMTMT6.js";
|
|
4
4
|
import {
|
|
5
5
|
JSON接口
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FAW4GTXP.js";
|
|
7
7
|
import {
|
|
8
8
|
JSON状态接口,
|
|
9
9
|
JSON状态接口类型
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WF7MUELD.js";
|
|
11
11
|
import {
|
|
12
12
|
中文路径支持插件
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-47T4ZLNQ.js";
|
|
14
14
|
import {
|
|
15
15
|
自定义数据插件
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-JX5MRJL6.js";
|
|
17
17
|
import {
|
|
18
18
|
JSON解析插件
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GVIGQG5Y.js";
|
|
20
20
|
import {
|
|
21
21
|
表单解析插件
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-6AW5SSYA.js";
|
|
23
23
|
import {
|
|
24
|
-
|
|
25
|
-
} from "./chunk-
|
|
24
|
+
插件
|
|
25
|
+
} from "./chunk-43GZE5YL.js";
|
|
26
26
|
import {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
正确自定义结果,
|
|
30
|
-
结果,
|
|
31
|
-
错误JSON结果,
|
|
32
|
-
错误结果
|
|
33
|
-
} from "./chunk-F6MKRRVF.js";
|
|
34
|
-
import "./chunk-PVE5VI5K.js";
|
|
27
|
+
服务器
|
|
28
|
+
} from "./chunk-5MFTZ5T3.js";
|
|
35
29
|
import {
|
|
36
30
|
业务行为
|
|
37
31
|
} from "./chunk-5WR5VNYH.js";
|
|
38
|
-
import "./chunk-BC6IISWS.js";
|
|
39
|
-
import "./chunk-EAVNASDB.js";
|
|
40
32
|
import {
|
|
41
33
|
接口
|
|
42
34
|
} from "./chunk-G4P3OAFL.js";
|
|
@@ -47,8 +39,16 @@ import {
|
|
|
47
39
|
接口类型
|
|
48
40
|
} from "./chunk-SF5Z34AP.js";
|
|
49
41
|
import {
|
|
50
|
-
|
|
51
|
-
|
|
42
|
+
正确JSON结果,
|
|
43
|
+
正确结果,
|
|
44
|
+
正确自定义结果,
|
|
45
|
+
结果,
|
|
46
|
+
错误JSON结果,
|
|
47
|
+
错误结果
|
|
48
|
+
} from "./chunk-4V2TOQZ2.js";
|
|
49
|
+
import "./chunk-PVE5VI5K.js";
|
|
50
|
+
import "./chunk-BC6IISWS.js";
|
|
51
|
+
import "./chunk-EAVNASDB.js";
|
|
52
52
|
export {
|
|
53
53
|
JSON\u63A5\u53E3,
|
|
54
54
|
JSON\u72B6\u6001\u63A5\u53E3,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
JSON接口
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-FAW4GTXP.js";
|
|
4
|
+
import "../../chunk-G4P3OAFL.js";
|
|
5
|
+
import "../../chunk-4V2TOQZ2.js";
|
|
5
6
|
import "../../chunk-PVE5VI5K.js";
|
|
6
7
|
import "../../chunk-BC6IISWS.js";
|
|
7
8
|
import "../../chunk-EAVNASDB.js";
|
|
8
|
-
import "../../chunk-G4P3OAFL.js";
|
|
9
9
|
export {
|
|
10
10
|
JSON\u63A5\u53E3
|
|
11
11
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
JSON状态接口,
|
|
3
3
|
JSON状态接口类型
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-WF7MUELD.js";
|
|
5
|
+
import "../../chunk-G4P3OAFL.js";
|
|
6
|
+
import "../../chunk-SF5Z34AP.js";
|
|
7
|
+
import "../../chunk-4V2TOQZ2.js";
|
|
6
8
|
import "../../chunk-PVE5VI5K.js";
|
|
7
9
|
import "../../chunk-BC6IISWS.js";
|
|
8
10
|
import "../../chunk-EAVNASDB.js";
|
|
9
|
-
import "../../chunk-G4P3OAFL.js";
|
|
10
|
-
import "../../chunk-SF5Z34AP.js";
|
|
11
11
|
export {
|
|
12
12
|
JSON\u72B6\u6001\u63A5\u53E3,
|
|
13
13
|
JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
自定义数据插件
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-JX5MRJL6.js";
|
|
4
|
+
import "../../chunk-43GZE5YL.js";
|
|
5
|
+
import "../../chunk-BC6IISWS.js";
|
|
6
|
+
import "../../chunk-EAVNASDB.js";
|
|
5
7
|
export {
|
|
6
8
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6
|
|
7
9
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
JSON解析插件
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-GVIGQG5Y.js";
|
|
4
|
+
import "../../chunk-43GZE5YL.js";
|
|
4
5
|
import "../../chunk-PVE5VI5K.js";
|
|
5
6
|
import "../../chunk-BC6IISWS.js";
|
|
6
7
|
import "../../chunk-EAVNASDB.js";
|
|
7
|
-
import "../../chunk-N4NY37XI.js";
|
|
8
8
|
export {
|
|
9
9
|
JSON\u89E3\u6790\u63D2\u4EF6
|
|
10
10
|
};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
表单解析插件
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-6AW5SSYA.js";
|
|
4
|
+
import "../../chunk-43GZE5YL.js";
|
|
5
|
+
import "../../chunk-BC6IISWS.js";
|
|
6
|
+
import "../../chunk-EAVNASDB.js";
|
|
5
7
|
export {
|
|
6
8
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6
|
|
7
9
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
WebSocket插件
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-24WMTMT6.js";
|
|
4
|
+
import "../../chunk-43GZE5YL.js";
|
|
4
5
|
import "../../chunk-BC6IISWS.js";
|
|
5
6
|
import "../../chunk-EAVNASDB.js";
|
|
6
|
-
import "../../chunk-N4NY37XI.js";
|
|
7
7
|
export {
|
|
8
8
|
WebSocket\u63D2\u4EF6
|
|
9
9
|
};
|
|
@@ -2,13 +2,16 @@ import { Request, Response } from 'express';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { Task } from '@lsby/ts-fp-data';
|
|
4
4
|
|
|
5
|
+
type 附加参数类型 = {
|
|
6
|
+
请求id: string;
|
|
7
|
+
};
|
|
5
8
|
declare class 插件<Obj extends z.AnyZodObject> {
|
|
6
9
|
private 类型;
|
|
7
10
|
private 实现;
|
|
8
11
|
protected readonly __类型保持符号?: Obj;
|
|
9
|
-
constructor(类型: Obj, 实现: (req: Request, res: Response) => Promise<z.infer<Obj>>);
|
|
12
|
+
constructor(类型: Obj, 实现: (req: Request, res: Response, 附加参数: 附加参数类型) => Promise<z.infer<Obj>>);
|
|
10
13
|
获得类型(): Obj;
|
|
11
|
-
|
|
14
|
+
运行(req: Request, res: Response, 附加参数: 附加参数类型): Promise<z.infer<Obj>>;
|
|
12
15
|
}
|
|
13
16
|
type 任意插件 = 插件<any>;
|
|
14
17
|
type 包装插件项<A> = Task<A>;
|
|
@@ -18,4 +21,4 @@ type 取Task插件类型<A> = A extends Task<infer x> ? x : never;
|
|
|
18
21
|
type 取插件内部ts类型<A> = A extends 插件<infer x> ? z.infer<x> : never;
|
|
19
22
|
type 合并插件结果<Arr extends Array<插件项类型>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<插件项类型> ? z.infer<取Task插件内部类型<插件项>> & 合并插件结果<xs> : {} : {} : {};
|
|
20
23
|
|
|
21
|
-
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type
|
|
24
|
+
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type 插件项类型, type 附加参数类型 };
|
package/dist/esm/plugin/plug.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
|
+
import { 附加参数类型 as ______ } from '../plugin/plug.js';
|
|
3
|
+
import 'zod';
|
|
4
|
+
import '@lsby/ts-fp-data';
|
|
2
5
|
|
|
3
6
|
declare abstract class 结果<T> {
|
|
4
7
|
protected readonly __类型保持符号?: T;
|
|
5
|
-
abstract run(req: Request, res: Response): Promise<void>;
|
|
8
|
+
abstract run(req: Request, res: Response, 附加参数: ______): Promise<void>;
|
|
6
9
|
}
|
|
7
10
|
declare abstract class 正确结果<T> extends 结果<T> {
|
|
8
11
|
private 正确结果烙印;
|
|
@@ -11,7 +14,7 @@ declare class 正确JSON结果<Data extends Record<string, unknown>> extends 正
|
|
|
11
14
|
private data;
|
|
12
15
|
private log;
|
|
13
16
|
constructor(data: Data);
|
|
14
|
-
run(req: Request, res: Response): Promise<void>;
|
|
17
|
+
run(req: Request, res: Response, 附加参数: ______): Promise<void>;
|
|
15
18
|
}
|
|
16
19
|
declare class 正确自定义结果 extends 正确结果<unknown> {
|
|
17
20
|
private customHandler;
|
|
@@ -25,7 +28,7 @@ declare class 错误JSON结果<Data> extends 错误结果<Data> {
|
|
|
25
28
|
private data;
|
|
26
29
|
private log;
|
|
27
30
|
constructor(data: Data);
|
|
28
|
-
run(req: Request, res: Response): Promise<void>;
|
|
31
|
+
run(req: Request, res: Response, 附加参数: ______): Promise<void>;
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
export { 正确JSON结果, 正确结果, 正确自定义结果, 结果, 错误JSON结果, 错误结果 };
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
插件
|
|
3
|
-
} from "./chunk-N4NY37XI.js";
|
|
4
|
-
|
|
5
|
-
// src/plugin/extend/custom-data.ts
|
|
6
|
-
var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
7
|
-
constructor(t, data) {
|
|
8
|
-
super(t, async () => data);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export {
|
|
13
|
-
自定义数据插件
|
|
14
|
-
};
|