@lsby/net-core 0.9.0 → 0.9.2
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 +109 -113
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/interface/interface-base.d.cts +1 -1
- package/dist/cjs/interface/interface-logic.cjs +3 -9
- package/dist/cjs/interface/interface-logic.d.cts +1 -1
- package/dist/cjs/interface/interface-result.d.cts +1 -1
- package/dist/cjs/{interface-base-Dy-CTJVo.d.cts → interface-base-Dq8o7vnl.d.cts} +3 -2
- package/dist/cjs/plugin/extend/custom-data.cjs +2 -62
- package/dist/cjs/plugin/extend/custom-data.d.cts +1 -2
- package/dist/cjs/plugin/extend/json.d.cts +1 -1
- package/dist/cjs/plugin/extend/log-headers.d.cts +1 -1
- package/dist/cjs/plugin/extend/query.d.cts +1 -1
- package/dist/cjs/plugin/extend/send-file-plugin.d.cts +1 -1
- package/dist/cjs/plugin/extend/urlencoded.cjs +2 -62
- package/dist/cjs/plugin/extend/urlencoded.d.cts +1 -2
- package/dist/cjs/plugin/extend/web-socket.cjs +0 -1
- package/dist/cjs/plugin/extend/web-socket.d.cts +1 -2
- package/dist/cjs/plugin/plug.d.cts +1 -1
- package/dist/cjs/server/server.cjs +45 -42
- package/dist/cjs/server/server.d.cts +1 -1
- package/dist/cjs/wrapper/common-wrapper-return.d.cts +1 -1
- package/dist/cjs/wrapper/common-wrapper.d.cts +1 -1
- package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +1 -1
- package/dist/esm/{chunk-SS6FF7Y2.js → chunk-75CPTXGZ.js} +45 -42
- package/dist/esm/{chunk-ST4PR6O3.js → chunk-ITCALAYE.js} +3 -9
- package/dist/esm/{chunk-EW7SZA75.js → chunk-OH6PZFGR.js} +0 -1
- package/dist/esm/{chunk-NAQTIAMT.js → chunk-VMCAX3QH.js} +0 -4
- package/dist/esm/{chunk-JSSODPOL.js → chunk-XEV5RHGZ.js} +0 -4
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/interface/interface-base.d.ts +1 -1
- package/dist/esm/interface/interface-logic.d.ts +1 -1
- package/dist/esm/interface/interface-logic.js +1 -1
- package/dist/esm/interface/interface-result.d.ts +1 -1
- package/dist/esm/{interface-base-BCiBG0At.d.ts → interface-base-CKPWT5C9.d.ts} +3 -2
- package/dist/esm/plugin/extend/custom-data.d.ts +1 -2
- package/dist/esm/plugin/extend/custom-data.js +1 -2
- package/dist/esm/plugin/extend/json.d.ts +1 -1
- package/dist/esm/plugin/extend/log-headers.d.ts +1 -1
- package/dist/esm/plugin/extend/query.d.ts +1 -1
- package/dist/esm/plugin/extend/send-file-plugin.d.ts +1 -1
- package/dist/esm/plugin/extend/urlencoded.d.ts +1 -2
- package/dist/esm/plugin/extend/urlencoded.js +1 -2
- package/dist/esm/plugin/extend/web-socket.d.ts +1 -2
- package/dist/esm/plugin/extend/web-socket.js +1 -1
- package/dist/esm/plugin/plug.d.ts +1 -1
- package/dist/esm/server/server.d.ts +1 -1
- package/dist/esm/server/server.js +1 -1
- package/dist/esm/wrapper/common-wrapper-return.d.ts +1 -1
- package/dist/esm/wrapper/common-wrapper.d.ts +1 -1
- package/dist/esm/wrapper/deferred-result-wrapper.d.ts +1 -1
- package/package.json +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -128,32 +128,26 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
|
|
|
128
128
|
return this.\u5B8C\u6574\u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0, \u6E05\u7406\u51FD\u6570, null, null);
|
|
129
129
|
}
|
|
130
130
|
async \u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
131
|
-
let \u65E5\u5FD7\u5BF9\u8C61 = \u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log;
|
|
132
131
|
let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
133
|
-
await \u65E5\u5FD7\u5BF9\u8C61.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
|
|
134
132
|
let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
|
|
135
133
|
for (let \u63D2\u4EF62 of \u63D2\u4EF6\u4EEC) {
|
|
136
134
|
let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF62.\u8FD0\u884C(req, res, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
137
135
|
\u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
|
|
138
136
|
}
|
|
139
137
|
let \u5408\u5E76\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => ({ ...s, ...a }), {});
|
|
140
|
-
await \u65E5\u5FD7\u5BF9\u8C61.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
141
138
|
return \u5408\u5E76\u7ED3\u679C;
|
|
142
139
|
}
|
|
143
|
-
async \u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\
|
|
144
|
-
let log2 = \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.log.extend("\u63A5\u53E3\u903B\u8F91");
|
|
140
|
+
async \u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
145
141
|
let \u6E05\u7406\u51FD\u6570 = this.\u83B7\u5F97\u6E05\u7406\u51FD\u6570?.();
|
|
146
142
|
let \u6700\u7EC8\u7ED3\u679C = void 0;
|
|
147
143
|
try {
|
|
148
|
-
await
|
|
149
|
-
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
|
|
150
|
-
await log2.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
144
|
+
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
151
145
|
\u6700\u7EC8\u7ED3\u679C = \u5B9E\u73B0\u7ED3\u679C.map((a) => ({ ...\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...a }));
|
|
152
146
|
return \u6700\u7EC8\u7ED3\u679C;
|
|
153
147
|
} finally {
|
|
154
148
|
if (\u6E05\u7406\u51FD\u6570 !== void 0) {
|
|
155
149
|
let \u4E0A\u5C42\u6DF7\u5408\u7ED3\u679C = \u6700\u7EC8\u7ED3\u679C !== void 0 && \u6700\u7EC8\u7ED3\u679C.isRight() === true ? \u6700\u7EC8\u7ED3\u679C.assertRight().getRight() : \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570;
|
|
156
|
-
await \u6E05\u7406\u51FD\u6570(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4E0A\u5C42\u6DF7\u5408\u7ED3\u679C, \u4F20\u5165\u7684\
|
|
150
|
+
await \u6E05\u7406\u51FD\u6570(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4E0A\u5C42\u6DF7\u5408\u7ED3\u679C, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
157
151
|
}
|
|
158
152
|
}
|
|
159
153
|
}
|
|
@@ -273,65 +267,6 @@ var \u63A5\u53E3\u6D4B\u8BD5 = class {
|
|
|
273
267
|
}
|
|
274
268
|
};
|
|
275
269
|
|
|
276
|
-
// src/global/global.ts
|
|
277
|
-
var import_ts_global = require("@lsby/ts-global");
|
|
278
|
-
var import_ts_log = require("@lsby/ts-log");
|
|
279
|
-
var import_ws = require("ws");
|
|
280
|
-
var log = new import_ts_log.Log("@lsby:net-core");
|
|
281
|
-
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
282
|
-
constructor(\u8FDE\u63A5\u8868) {
|
|
283
|
-
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
284
|
-
this.\u5B9A\u65F6\u5668ID = setInterval(() => {
|
|
285
|
-
this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
|
|
286
|
-
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}`}`);
|
|
287
|
-
});
|
|
288
|
-
}, 3e4);
|
|
289
|
-
}
|
|
290
|
-
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
291
|
-
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
292
|
-
\u5B9A\u65F6\u5668ID = null;
|
|
293
|
-
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
294
|
-
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
295
|
-
}
|
|
296
|
-
\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
297
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
298
|
-
}
|
|
299
|
-
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
300
|
-
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
301
|
-
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
302
|
-
}
|
|
303
|
-
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
304
|
-
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
305
|
-
}
|
|
306
|
-
\u5220\u9664\u8FDE\u63A5(id) {
|
|
307
|
-
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
308
|
-
try {
|
|
309
|
-
this.\u8FDE\u63A5\u8868[id]?.close(1e3, "\u670D\u52A1\u5668\u4E3B\u52A8\u5173\u95ED");
|
|
310
|
-
} catch (err) {
|
|
311
|
-
this.log.error(`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`}`);
|
|
312
|
-
}
|
|
313
|
-
\u6E05\u7406\u51FD\u6570?.().catch((err) => this.log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`));
|
|
314
|
-
delete this.\u8FDE\u63A5\u8868[id];
|
|
315
|
-
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
316
|
-
}
|
|
317
|
-
async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
|
|
318
|
-
let \u6E05\u7406\u6570\u91CF = 0;
|
|
319
|
-
for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
|
|
320
|
-
if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
|
|
321
|
-
this.\u5220\u9664\u8FDE\u63A5(id);
|
|
322
|
-
\u6E05\u7406\u6570\u91CF++;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
if (\u6E05\u7406\u6570\u91CF > 0) {
|
|
326
|
-
await this.log.info(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
};
|
|
330
|
-
var Global = new import_ts_global.GlobalService([
|
|
331
|
-
new import_ts_global.GlobalItem("log", log),
|
|
332
|
-
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
333
|
-
]);
|
|
334
|
-
|
|
335
270
|
// src/plugin/plug.ts
|
|
336
271
|
var \u63D2\u4EF6 = class {
|
|
337
272
|
constructor(\u7C7B\u578B, \u5B9E\u73B0) {
|
|
@@ -348,7 +283,6 @@ var \u63D2\u4EF6 = class {
|
|
|
348
283
|
|
|
349
284
|
// src/plugin/extend/custom-data.ts
|
|
350
285
|
var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
351
|
-
log = Global.getItem("log");
|
|
352
286
|
constructor(t, data) {
|
|
353
287
|
super(t, async (_res, _req, \u9644\u52A0\u53C2\u6570) => {
|
|
354
288
|
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6");
|
|
@@ -457,7 +391,6 @@ var \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
457
391
|
var import_express2 = __toESM(require("express"), 1);
|
|
458
392
|
var import_node_util3 = require("util");
|
|
459
393
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
460
|
-
log = Global.getItem("log");
|
|
461
394
|
constructor(t, opt) {
|
|
462
395
|
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
463
396
|
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
@@ -479,8 +412,68 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
479
412
|
// src/plugin/extend/web-socket.ts
|
|
480
413
|
var import_ws2 = require("ws");
|
|
481
414
|
var import_zod3 = require("zod");
|
|
415
|
+
|
|
416
|
+
// src/global/global.ts
|
|
417
|
+
var import_ts_global = require("@lsby/ts-global");
|
|
418
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
419
|
+
var import_ws = require("ws");
|
|
420
|
+
var log = new import_ts_log.Log("@lsby:net-core");
|
|
421
|
+
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
422
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
423
|
+
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);
|
|
429
|
+
}
|
|
430
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
431
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
432
|
+
\u5B9A\u65F6\u5668ID = null;
|
|
433
|
+
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
434
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
435
|
+
}
|
|
436
|
+
\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
437
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
438
|
+
}
|
|
439
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
440
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
441
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
442
|
+
}
|
|
443
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
444
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
445
|
+
}
|
|
446
|
+
\u5220\u9664\u8FDE\u63A5(id) {
|
|
447
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
448
|
+
try {
|
|
449
|
+
this.\u8FDE\u63A5\u8868[id]?.close(1e3, "\u670D\u52A1\u5668\u4E3B\u52A8\u5173\u95ED");
|
|
450
|
+
} catch (err) {
|
|
451
|
+
this.log.error(`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`}`);
|
|
452
|
+
}
|
|
453
|
+
\u6E05\u7406\u51FD\u6570?.().catch((err) => this.log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`));
|
|
454
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
455
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
456
|
+
}
|
|
457
|
+
async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
|
|
458
|
+
let \u6E05\u7406\u6570\u91CF = 0;
|
|
459
|
+
for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
|
|
460
|
+
if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
|
|
461
|
+
this.\u5220\u9664\u8FDE\u63A5(id);
|
|
462
|
+
\u6E05\u7406\u6570\u91CF++;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
if (\u6E05\u7406\u6570\u91CF > 0) {
|
|
466
|
+
await this.log.info(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
};
|
|
470
|
+
var Global = new import_ts_global.GlobalService([
|
|
471
|
+
new import_ts_global.GlobalItem("log", log),
|
|
472
|
+
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
473
|
+
]);
|
|
474
|
+
|
|
475
|
+
// src/plugin/extend/web-socket.ts
|
|
482
476
|
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
483
|
-
log = Global.getItem("log");
|
|
484
477
|
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
485
478
|
super(
|
|
486
479
|
import_zod3.z.object({
|
|
@@ -547,7 +540,8 @@ var import_node_os = require("os");
|
|
|
547
540
|
var import_short_uuid = __toESM(require("short-uuid"), 1);
|
|
548
541
|
var import_ws3 = require("ws");
|
|
549
542
|
var \u670D\u52A1\u5668 = class {
|
|
550
|
-
log;
|
|
543
|
+
\u7CFB\u7EDFlog = Global.getItem("log");
|
|
544
|
+
\u63A5\u53E3log;
|
|
551
545
|
\u63A5\u53E3\u4EEC;
|
|
552
546
|
\u7AEF\u53E3;
|
|
553
547
|
\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
@@ -557,13 +551,13 @@ var \u670D\u52A1\u5668 = class {
|
|
|
557
551
|
this.\u7AEF\u53E3 = options.\u7AEF\u53E3;
|
|
558
552
|
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = options.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
559
553
|
this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 = options.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84;
|
|
560
|
-
this
|
|
554
|
+
this.\u63A5\u53E3log = options.log !== void 0 ? Promise.resolve(options.log) : Global.getItem("log");
|
|
561
555
|
}
|
|
562
556
|
async run() {
|
|
563
|
-
let log2 = (await this.log).extend("\u670D\u52A1\u5668");
|
|
564
557
|
let app = (0, import_express3.default)();
|
|
558
|
+
let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
|
|
565
559
|
if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== void 0) {
|
|
566
|
-
await
|
|
560
|
+
await \u7CFB\u7EDFlog.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
|
|
567
561
|
app.use(import_express3.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84));
|
|
568
562
|
}
|
|
569
563
|
app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
|
|
@@ -573,17 +567,17 @@ var \u670D\u52A1\u5668 = class {
|
|
|
573
567
|
}
|
|
574
568
|
async \u5904\u7406\u8BF7\u6C42(req, res) {
|
|
575
569
|
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
576
|
-
let \
|
|
577
|
-
let
|
|
570
|
+
let \u7CFB\u7EDFlog = (await this.\u7CFB\u7EDFlog).extend(\u8BF7\u6C42id);
|
|
571
|
+
let \u63A5\u53E3log = (await this.\u63A5\u53E3log).extend(\u8BF7\u6C42id);
|
|
578
572
|
let \u5F00\u59CB\u65F6\u95F4 = Date.now();
|
|
579
573
|
try {
|
|
580
574
|
let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
|
|
581
575
|
\u8BF7\u6C42\u8DEF\u5F84 = decodeURIComponent(\u8BF7\u6C42\u8DEF\u5F84);
|
|
582
576
|
let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
|
|
583
|
-
await
|
|
577
|
+
await \u7CFB\u7EDFlog.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
584
578
|
let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E32) => \u8BF7\u6C42\u65B9\u6CD5 === \u63A5\u53E32.\u83B7\u5F97\u65B9\u6CD5() && \u8BF7\u6C42\u8DEF\u5F84 === \u63A5\u53E32.\u83B7\u5F97\u8DEF\u5F84()) ?? null;
|
|
585
579
|
if (\u76EE\u6807\u63A5\u53E3 !== null) {
|
|
586
|
-
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3,
|
|
580
|
+
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u63A5\u53E3log, \u7CFB\u7EDFlog);
|
|
587
581
|
return;
|
|
588
582
|
}
|
|
589
583
|
if (this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 !== void 0 && \u8BF7\u6C42\u65B9\u6CD5 === "get") {
|
|
@@ -592,31 +586,35 @@ var \u670D\u52A1\u5668 = class {
|
|
|
592
586
|
res.send(\u9ED8\u8BA4\u6587\u4EF6\u5185\u5BB9);
|
|
593
587
|
return;
|
|
594
588
|
} catch (e) {
|
|
595
|
-
await
|
|
589
|
+
await \u7CFB\u7EDFlog.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
|
|
596
590
|
}
|
|
597
591
|
}
|
|
598
|
-
await
|
|
592
|
+
await \u7CFB\u7EDFlog.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
599
593
|
res.status(404).end();
|
|
600
594
|
} catch (error) {
|
|
601
|
-
await
|
|
595
|
+
await \u7CFB\u7EDFlog.error(error);
|
|
602
596
|
res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
603
597
|
} finally {
|
|
604
598
|
let \u8017\u65F6ms = Date.now() - \u5F00\u59CB\u65F6\u95F4;
|
|
605
|
-
await \
|
|
599
|
+
await \u7CFB\u7EDFlog.info("\u8BF7\u6C42\u5B8C\u6210, \u8017\u65F6: %o ms", \u8017\u65F6ms);
|
|
606
600
|
}
|
|
607
601
|
}
|
|
608
|
-
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \
|
|
609
|
-
let log2 = \u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log.extend("\u5904\u7406\u63A5\u53E3\u903B\u8F91");
|
|
602
|
+
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u63A5\u53E3log, \u7CFB\u7EDFlog) {
|
|
610
603
|
let \u63A5\u53E3\u903B\u8F912 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
611
604
|
let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
612
605
|
let \u7ED3\u679C\u8FD4\u56DE\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8FD4\u56DE\u5668();
|
|
613
606
|
let \u603B\u5F00\u59CB = Date.now();
|
|
614
607
|
let \u5F00\u59CB = Date.now();
|
|
615
|
-
await
|
|
616
|
-
let \u63D2\u4EF6\
|
|
617
|
-
|
|
608
|
+
await \u7CFB\u7EDFlog.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
609
|
+
let \u63D2\u4EF6\u4EEC = \u63A5\u53E3\u903B\u8F912.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
610
|
+
await \u7CFB\u7EDFlog.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
|
|
611
|
+
let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, { log: \u7CFB\u7EDFlog });
|
|
612
|
+
await \u7CFB\u7EDFlog.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
613
|
+
await \u7CFB\u7EDFlog.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
|
|
614
|
+
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u63D2\u4EF6\u7ED3\u679C, {}, { log: \u63A5\u53E3log });
|
|
615
|
+
await \u7CFB\u7EDFlog.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
618
616
|
let \u63A5\u53E3\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
619
|
-
await
|
|
617
|
+
await \u7CFB\u7EDFlog.info("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u63A5\u53E3\u8017\u65F6);
|
|
620
618
|
\u5F00\u59CB = Date.now();
|
|
621
619
|
let \u8F6C\u6362\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
622
620
|
let \u9519\u8BEF\u7ED3\u679C = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod().safeParse(\u8F6C\u6362\u7ED3\u679C);
|
|
@@ -628,61 +626,59 @@ var \u670D\u52A1\u5668 = class {
|
|
|
628
626
|
\u6700\u7EC8\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C.data;
|
|
629
627
|
} else {
|
|
630
628
|
let \u7ED3\u679C\u5B57\u7B26\u4E32 = JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u8F6C\u6362\u7ED3\u679C));
|
|
631
|
-
await
|
|
632
|
-
await
|
|
633
|
-
await
|
|
629
|
+
await \u7CFB\u7EDFlog.error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${\u7ED3\u679C\u5B57\u7B26\u4E32}`);
|
|
630
|
+
await \u7CFB\u7EDFlog.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
|
|
631
|
+
await \u7CFB\u7EDFlog.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
|
|
634
632
|
throw new Error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C`);
|
|
635
633
|
}
|
|
636
634
|
let \u8F6C\u6362\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
637
|
-
await
|
|
638
|
-
await
|
|
635
|
+
await \u7CFB\u7EDFlog.info("\u7ED3\u679C\u8F6C\u6362\u4E0E\u6821\u9A8C\u5B8C\u6210, \u8017\u65F6: %o ms", \u8F6C\u6362\u8017\u65F6);
|
|
636
|
+
await \u7CFB\u7EDFlog.debug("\u6700\u7EC8\u7ED3\u679C: %o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C)));
|
|
639
637
|
\u5F00\u59CB = Date.now();
|
|
640
638
|
await \u7ED3\u679C\u8FD4\u56DE\u5668.\u8FD4\u56DE(req, res, \u6700\u7EC8\u7ED3\u679C);
|
|
641
639
|
let \u8FD4\u56DE\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
642
|
-
await
|
|
640
|
+
await \u7CFB\u7EDFlog.info("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u8FD4\u56DE\u8017\u65F6);
|
|
643
641
|
let \u603B\u8017\u65F6 = Date.now() - \u603B\u5F00\u59CB;
|
|
644
|
-
await
|
|
642
|
+
await \u7CFB\u7EDFlog.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
|
|
645
643
|
}
|
|
646
644
|
async \u521D\u59CB\u5316WebSocket(server) {
|
|
647
645
|
let wss = new import_ws3.WebSocketServer({ server });
|
|
648
|
-
let
|
|
646
|
+
let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
|
|
649
647
|
wss.on("listening", async () => {
|
|
650
|
-
|
|
651
|
-
await log2.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
648
|
+
await \u7CFB\u7EDFlog.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
652
649
|
});
|
|
653
650
|
wss.on("error", async (err) => {
|
|
654
|
-
|
|
655
|
-
await log2.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
651
|
+
await \u7CFB\u7EDFlog.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
656
652
|
});
|
|
657
653
|
wss.on("connection", async (ws, req) => {
|
|
658
|
-
let
|
|
659
|
-
await
|
|
654
|
+
let \u63A5\u53E3log = \u7CFB\u7EDFlog.extend((0, import_short_uuid.default)().new());
|
|
655
|
+
await \u63A5\u53E3log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
|
|
660
656
|
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
|
|
661
657
|
if (\u5BA2\u6237\u7AEFid === null) {
|
|
662
|
-
await
|
|
663
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
658
|
+
await \u63A5\u53E3log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
659
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
664
660
|
}
|
|
665
|
-
await
|
|
661
|
+
await \u63A5\u53E3log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
666
662
|
let WebSocket\u7BA1\u7406\u56682 = Global.getItemSync("WebSocket\u7BA1\u7406\u5668");
|
|
667
663
|
let \u8FDE\u63A5\u5DF2\u5B58\u5728 = WebSocket\u7BA1\u7406\u56682.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
668
664
|
if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
|
|
669
|
-
await
|
|
670
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
665
|
+
await \u63A5\u53E3log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
666
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
671
667
|
}
|
|
672
668
|
WebSocket\u7BA1\u7406\u56682.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
673
|
-
await
|
|
669
|
+
await \u63A5\u53E3log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
674
670
|
ws.on("close", async () => {
|
|
675
|
-
await
|
|
671
|
+
await \u63A5\u53E3log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
|
|
676
672
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
677
673
|
});
|
|
678
674
|
ws.on("error", async (err) => {
|
|
679
|
-
await
|
|
675
|
+
await \u63A5\u53E3log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
|
|
680
676
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
681
677
|
});
|
|
682
678
|
});
|
|
683
679
|
}
|
|
684
|
-
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
685
|
-
await
|
|
680
|
+
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, code, reason) {
|
|
681
|
+
await \u63A5\u53E3log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
|
|
686
682
|
ws.close(code, reason);
|
|
687
683
|
}
|
|
688
684
|
\u83B7\u53D6\u672C\u5730\u5730\u5740() {
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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-
|
|
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';
|
|
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';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'zod';
|
|
2
|
-
export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-
|
|
2
|
+
export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-Dq8o7vnl.cjs';
|
|
3
3
|
import './interface-retuen.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import 'express';
|
|
@@ -51,32 +51,26 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
|
|
|
51
51
|
return this.\u5B8C\u6574\u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0, \u6E05\u7406\u51FD\u6570, null, null);
|
|
52
52
|
}
|
|
53
53
|
async \u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
54
|
-
let \u65E5\u5FD7\u5BF9\u8C61 = \u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log;
|
|
55
54
|
let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
56
|
-
await \u65E5\u5FD7\u5BF9\u8C61.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
|
|
57
55
|
let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
|
|
58
56
|
for (let \u63D2\u4EF6 of \u63D2\u4EF6\u4EEC) {
|
|
59
57
|
let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6.\u8FD0\u884C(req, res, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
60
58
|
\u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
|
|
61
59
|
}
|
|
62
60
|
let \u5408\u5E76\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => ({ ...s, ...a }), {});
|
|
63
|
-
await \u65E5\u5FD7\u5BF9\u8C61.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
64
61
|
return \u5408\u5E76\u7ED3\u679C;
|
|
65
62
|
}
|
|
66
|
-
async \u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\
|
|
67
|
-
let log = \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.log.extend("\u63A5\u53E3\u903B\u8F91");
|
|
63
|
+
async \u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
68
64
|
let \u6E05\u7406\u51FD\u6570 = this.\u83B7\u5F97\u6E05\u7406\u51FD\u6570?.();
|
|
69
65
|
let \u6700\u7EC8\u7ED3\u679C = void 0;
|
|
70
66
|
try {
|
|
71
|
-
await
|
|
72
|
-
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
|
|
73
|
-
await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
67
|
+
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
74
68
|
\u6700\u7EC8\u7ED3\u679C = \u5B9E\u73B0\u7ED3\u679C.map((a) => ({ ...\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...a }));
|
|
75
69
|
return \u6700\u7EC8\u7ED3\u679C;
|
|
76
70
|
} finally {
|
|
77
71
|
if (\u6E05\u7406\u51FD\u6570 !== void 0) {
|
|
78
72
|
let \u4E0A\u5C42\u6DF7\u5408\u7ED3\u679C = \u6700\u7EC8\u7ED3\u679C !== void 0 && \u6700\u7EC8\u7ED3\u679C.isRight() === true ? \u6700\u7EC8\u7ED3\u679C.assertRight().getRight() : \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570;
|
|
79
|
-
await \u6E05\u7406\u51FD\u6570(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4E0A\u5C42\u6DF7\u5408\u7ED3\u679C, \u4F20\u5165\u7684\
|
|
73
|
+
await \u6E05\u7406\u51FD\u6570(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4E0A\u5C42\u6DF7\u5408\u7ED3\u679C, \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
80
74
|
}
|
|
81
75
|
}
|
|
82
76
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '@lsby/ts-fp-data';
|
|
2
2
|
import 'express';
|
|
3
3
|
import '../help/interior.cjs';
|
|
4
|
-
export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-
|
|
4
|
+
export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-Dq8o7vnl.cjs';
|
|
5
5
|
import 'zod';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '@lsby/ts-fp-data';
|
|
2
|
-
export { x as 任意接口结果转换器, y as 常用延时直接形式转换器, 常 as 常用形式转换器, w as 接口结果转换器 } from '../interface-base-
|
|
2
|
+
export { x as 任意接口结果转换器, y as 常用延时直接形式转换器, 常 as 常用形式转换器, w as 接口结果转换器 } from '../interface-base-Dq8o7vnl.cjs';
|
|
3
3
|
import 'zod';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../help/interior.cjs';
|
|
@@ -10,7 +10,8 @@ type 请求附加参数类型 = {
|
|
|
10
10
|
log: Log;
|
|
11
11
|
};
|
|
12
12
|
declare class 服务器 {
|
|
13
|
-
private log;
|
|
13
|
+
private 系统log;
|
|
14
|
+
private 接口log;
|
|
14
15
|
private 接口们;
|
|
15
16
|
private 端口;
|
|
16
17
|
private 静态资源路径;
|
|
@@ -101,7 +102,7 @@ declare abstract class 接口逻辑Base<插件类型 extends 插件项类型[],
|
|
|
101
102
|
abstract 获得插件们(): [...插件类型];
|
|
102
103
|
abstract 实现(参数: 合并插件结果<插件类型>, 逻辑附加参数: 逻辑附加参数类型, 请求附加参数: 请求附加参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
103
104
|
获得清理函数?(): 清理函数类型<插件类型, 逻辑附加参数类型> | undefined;
|
|
104
|
-
通过插件结果运行(合并插件结果: 合并插件结果<插件类型>, 传入的逻辑附加参数: 逻辑附加参数类型,
|
|
105
|
+
通过插件结果运行(合并插件结果: 合并插件结果<插件类型>, 传入的逻辑附加参数: 逻辑附加参数类型, 传入的请求附加参数: 请求附加参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
105
106
|
运行(req: Request, res: Response, 传入的逻辑附加参数: 逻辑附加参数类型, 传入的插件附加参数: 请求附加参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
106
107
|
混合<输入的插件类型 extends 插件项类型[], 输入的错误类型 extends 接口逻辑错误类型, 输入的返回类型 extends 接口逻辑正确类型, 输入的上游接口逻辑类型 extends 任意接口逻辑 | null, 输入的最后接口逻辑类型 extends 任意接口逻辑 | null>(输入: 接口逻辑Base<输入的插件类型, 返回类型, 输入的错误类型, 输入的返回类型, 输入的上游接口逻辑类型, 输入的最后接口逻辑类型>): 接口逻辑Base<[
|
|
107
108
|
...插件类型,
|
|
@@ -24,65 +24,6 @@ __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
|
-
var import_ws = require("ws");
|
|
31
|
-
var log = new import_ts_log.Log("@lsby:net-core");
|
|
32
|
-
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
33
|
-
constructor(\u8FDE\u63A5\u8868) {
|
|
34
|
-
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
35
|
-
this.\u5B9A\u65F6\u5668ID = setInterval(() => {
|
|
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
|
-
}, 3e4);
|
|
40
|
-
}
|
|
41
|
-
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
42
|
-
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
43
|
-
\u5B9A\u65F6\u5668ID = null;
|
|
44
|
-
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
45
|
-
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
46
|
-
}
|
|
47
|
-
\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
48
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
49
|
-
}
|
|
50
|
-
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
51
|
-
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
52
|
-
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
53
|
-
}
|
|
54
|
-
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
55
|
-
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
56
|
-
}
|
|
57
|
-
\u5220\u9664\u8FDE\u63A5(id) {
|
|
58
|
-
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
59
|
-
try {
|
|
60
|
-
this.\u8FDE\u63A5\u8868[id]?.close(1e3, "\u670D\u52A1\u5668\u4E3B\u52A8\u5173\u95ED");
|
|
61
|
-
} catch (err) {
|
|
62
|
-
this.log.error(`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`}`);
|
|
63
|
-
}
|
|
64
|
-
\u6E05\u7406\u51FD\u6570?.().catch((err) => this.log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`));
|
|
65
|
-
delete this.\u8FDE\u63A5\u8868[id];
|
|
66
|
-
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
67
|
-
}
|
|
68
|
-
async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
|
|
69
|
-
let \u6E05\u7406\u6570\u91CF = 0;
|
|
70
|
-
for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
|
|
71
|
-
if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
|
|
72
|
-
this.\u5220\u9664\u8FDE\u63A5(id);
|
|
73
|
-
\u6E05\u7406\u6570\u91CF++;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (\u6E05\u7406\u6570\u91CF > 0) {
|
|
77
|
-
await this.log.info(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
var Global = new import_ts_global.GlobalService([
|
|
82
|
-
new import_ts_global.GlobalItem("log", log),
|
|
83
|
-
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
84
|
-
]);
|
|
85
|
-
|
|
86
27
|
// src/plugin/plug.ts
|
|
87
28
|
var \u63D2\u4EF6 = class {
|
|
88
29
|
constructor(\u7C7B\u578B, \u5B9E\u73B0) {
|
|
@@ -99,11 +40,10 @@ var \u63D2\u4EF6 = class {
|
|
|
99
40
|
|
|
100
41
|
// src/plugin/extend/custom-data.ts
|
|
101
42
|
var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
102
|
-
log = Global.getItem("log");
|
|
103
43
|
constructor(t, data) {
|
|
104
44
|
super(t, async (_res, _req, \u9644\u52A0\u53C2\u6570) => {
|
|
105
|
-
let
|
|
106
|
-
await
|
|
45
|
+
let log = \u9644\u52A0\u53C2\u6570.log.extend("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6");
|
|
46
|
+
await log.debug("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6\u8FD0\u884C, \u7ED3\u679C: %o", data);
|
|
107
47
|
return data;
|
|
108
48
|
});
|
|
109
49
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 插 as __ } from '../../interface-base-
|
|
2
|
+
import { 插 as __ } from '../../interface-base-Dq8o7vnl.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../../help/interior.cjs';
|
|
@@ -8,7 +8,6 @@ import 'node:http';
|
|
|
8
8
|
import '../../interface/interface-retuen.cjs';
|
|
9
9
|
|
|
10
10
|
declare class 自定义数据插件<Data extends z.AnyZodObject> extends __<Data> {
|
|
11
|
-
private log;
|
|
12
11
|
constructor(t: Data, data: z.infer<Data>);
|
|
13
12
|
}
|
|
14
13
|
|
|
@@ -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-
|
|
3
|
+
import { 插 as __, A as _____, 取 as _______, o as __________ } from '../../interface-base-Dq8o7vnl.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnyZodObject, z } from 'zod';
|
|
2
|
-
import { 插 as __, A as _____, 取 as _______, o as __________ } from '../../interface-base-
|
|
2
|
+
import { 插 as __, A as _____, 取 as _______, o as __________ } from '../../interface-base-Dq8o7vnl.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../../help/interior.cjs';
|