@lsby/net-core 0.8.1 → 0.9.1
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 +114 -112
- 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 +4 -4
- 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-D0rlBwTb.d.cts → interface-base-Dq8o7vnl.d.cts} +12 -5
- 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 +49 -46
- 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-ST4PR6O3.js → chunk-BDY77BE7.js} +4 -4
- package/dist/esm/{chunk-TBBZDFIS.js → chunk-RRM3JVJB.js} +52 -49
- package/dist/esm/{chunk-EW7SZA75.js → chunk-VJFTSMHQ.js} +3 -4
- 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 +19 -19
- 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-T320o147.d.ts → interface-base-CKPWT5C9.d.ts} +12 -5
- 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/json.js +2 -2
- 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/query.js +2 -2
- 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 +2 -2
- package/dist/esm/plugin/plug.d.ts +1 -1
- package/dist/esm/server/server.d.ts +1 -1
- package/dist/esm/server/server.js +2 -2
- package/dist/esm/wrapper/common-wrapper-return.d.ts +1 -1
- package/dist/esm/wrapper/common-wrapper-return.js +2 -2
- package/dist/esm/wrapper/common-wrapper.d.ts +1 -1
- package/dist/esm/wrapper/common-wrapper.js +2 -2
- package/dist/esm/wrapper/deferred-result-wrapper.d.ts +1 -1
- package/dist/esm/wrapper/deferred-result-wrapper.js +2 -2
- package/package.json +1 -1
- package/dist/esm/{chunk-AY6KWNWX.js → chunk-6SGTOPVW.js} +3 -3
- package/dist/esm/{chunk-JXTWTY2S.js → chunk-AP57BLCR.js} +3 -3
- package/dist/esm/{chunk-GMYXAJS3.js → chunk-B2WM3PYV.js} +3 -3
- package/dist/esm/{chunk-WECMWUFB.js → chunk-GGR24VBS.js} +3 -3
- package/dist/esm/{chunk-LZOZF4CS.js → chunk-WXP6N5FD.js} +3 -3
package/dist/cjs/index.cjs
CHANGED
|
@@ -140,20 +140,20 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
|
|
|
140
140
|
await \u65E5\u5FD7\u5BF9\u8C61.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
141
141
|
return \u5408\u5E76\u7ED3\u679C;
|
|
142
142
|
}
|
|
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\
|
|
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\u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
144
|
+
let log2 = \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log.extend("\u63A5\u53E3\u903B\u8F91");
|
|
145
145
|
let \u6E05\u7406\u51FD\u6570 = this.\u83B7\u5F97\u6E05\u7406\u51FD\u6570?.();
|
|
146
146
|
let \u6700\u7EC8\u7ED3\u679C = void 0;
|
|
147
147
|
try {
|
|
148
148
|
await log2.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
|
|
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\
|
|
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\u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
150
150
|
await log2.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
151
151
|
\u6700\u7EC8\u7ED3\u679C = \u5B9E\u73B0\u7ED3\u679C.map((a) => ({ ...\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...a }));
|
|
152
152
|
return \u6700\u7EC8\u7ED3\u679C;
|
|
153
153
|
} finally {
|
|
154
154
|
if (\u6E05\u7406\u51FD\u6570 !== void 0) {
|
|
155
155
|
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\
|
|
156
|
+
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
157
|
}
|
|
158
158
|
}
|
|
159
159
|
}
|
|
@@ -273,65 +273,6 @@ var \u63A5\u53E3\u6D4B\u8BD5 = class {
|
|
|
273
273
|
}
|
|
274
274
|
};
|
|
275
275
|
|
|
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
276
|
// src/plugin/plug.ts
|
|
336
277
|
var \u63D2\u4EF6 = class {
|
|
337
278
|
constructor(\u7C7B\u578B, \u5B9E\u73B0) {
|
|
@@ -348,7 +289,6 @@ var \u63D2\u4EF6 = class {
|
|
|
348
289
|
|
|
349
290
|
// src/plugin/extend/custom-data.ts
|
|
350
291
|
var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
351
|
-
log = Global.getItem("log");
|
|
352
292
|
constructor(t, data) {
|
|
353
293
|
super(t, async (_res, _req, \u9644\u52A0\u53C2\u6570) => {
|
|
354
294
|
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6");
|
|
@@ -457,7 +397,6 @@ var \u53D1\u9001\u6587\u4EF6\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
457
397
|
var import_express2 = __toESM(require("express"), 1);
|
|
458
398
|
var import_node_util3 = require("util");
|
|
459
399
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
460
|
-
log = Global.getItem("log");
|
|
461
400
|
constructor(t, opt) {
|
|
462
401
|
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
463
402
|
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
@@ -479,8 +418,68 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
479
418
|
// src/plugin/extend/web-socket.ts
|
|
480
419
|
var import_ws2 = require("ws");
|
|
481
420
|
var import_zod3 = require("zod");
|
|
421
|
+
|
|
422
|
+
// src/global/global.ts
|
|
423
|
+
var import_ts_global = require("@lsby/ts-global");
|
|
424
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
425
|
+
var import_ws = require("ws");
|
|
426
|
+
var log = new import_ts_log.Log("@lsby:net-core");
|
|
427
|
+
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
428
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
429
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
430
|
+
this.\u5B9A\u65F6\u5668ID = setInterval(() => {
|
|
431
|
+
this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
|
|
432
|
+
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}`}`);
|
|
433
|
+
});
|
|
434
|
+
}, 3e4);
|
|
435
|
+
}
|
|
436
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
437
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
438
|
+
\u5B9A\u65F6\u5668ID = null;
|
|
439
|
+
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
440
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
441
|
+
}
|
|
442
|
+
\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
443
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
444
|
+
}
|
|
445
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
446
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
447
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
448
|
+
}
|
|
449
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
450
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
451
|
+
}
|
|
452
|
+
\u5220\u9664\u8FDE\u63A5(id) {
|
|
453
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
454
|
+
try {
|
|
455
|
+
this.\u8FDE\u63A5\u8868[id]?.close(1e3, "\u670D\u52A1\u5668\u4E3B\u52A8\u5173\u95ED");
|
|
456
|
+
} catch (err) {
|
|
457
|
+
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}`}`);
|
|
458
|
+
}
|
|
459
|
+
\u6E05\u7406\u51FD\u6570?.().catch((err) => this.log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`));
|
|
460
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
461
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
462
|
+
}
|
|
463
|
+
async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
|
|
464
|
+
let \u6E05\u7406\u6570\u91CF = 0;
|
|
465
|
+
for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
|
|
466
|
+
if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
|
|
467
|
+
this.\u5220\u9664\u8FDE\u63A5(id);
|
|
468
|
+
\u6E05\u7406\u6570\u91CF++;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
if (\u6E05\u7406\u6570\u91CF > 0) {
|
|
472
|
+
await this.log.info(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
};
|
|
476
|
+
var Global = new import_ts_global.GlobalService([
|
|
477
|
+
new import_ts_global.GlobalItem("log", log),
|
|
478
|
+
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
479
|
+
]);
|
|
480
|
+
|
|
481
|
+
// src/plugin/extend/web-socket.ts
|
|
482
482
|
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
483
|
-
log = Global.getItem("log");
|
|
484
483
|
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
485
484
|
super(
|
|
486
485
|
import_zod3.z.object({
|
|
@@ -547,18 +546,24 @@ var import_node_os = require("os");
|
|
|
547
546
|
var import_short_uuid = __toESM(require("short-uuid"), 1);
|
|
548
547
|
var import_ws3 = require("ws");
|
|
549
548
|
var \u670D\u52A1\u5668 = class {
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
549
|
+
\u7CFB\u7EDFlog = Global.getItem("log");
|
|
550
|
+
\u63A5\u53E3log;
|
|
551
|
+
\u63A5\u53E3\u4EEC;
|
|
552
|
+
\u7AEF\u53E3;
|
|
553
|
+
\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
554
|
+
\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84;
|
|
555
|
+
constructor(options) {
|
|
556
|
+
this.\u63A5\u53E3\u4EEC = options.\u63A5\u53E3\u4EEC;
|
|
557
|
+
this.\u7AEF\u53E3 = options.\u7AEF\u53E3;
|
|
558
|
+
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = options.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
559
|
+
this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 = options.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84;
|
|
560
|
+
this.\u63A5\u53E3log = options.log !== void 0 ? Promise.resolve(options.log) : Global.getItem("log");
|
|
555
561
|
}
|
|
556
|
-
log = Global.getItem("log");
|
|
557
562
|
async run() {
|
|
558
|
-
let log2 = (await this.log).extend("\u670D\u52A1\u5668");
|
|
559
563
|
let app = (0, import_express3.default)();
|
|
564
|
+
let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
|
|
560
565
|
if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== void 0) {
|
|
561
|
-
await
|
|
566
|
+
await \u7CFB\u7EDFlog.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
|
|
562
567
|
app.use(import_express3.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84));
|
|
563
568
|
}
|
|
564
569
|
app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
|
|
@@ -568,17 +573,17 @@ var \u670D\u52A1\u5668 = class {
|
|
|
568
573
|
}
|
|
569
574
|
async \u5904\u7406\u8BF7\u6C42(req, res) {
|
|
570
575
|
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
571
|
-
let \
|
|
572
|
-
let
|
|
576
|
+
let \u7CFB\u7EDFlog = (await this.\u7CFB\u7EDFlog).extend(\u8BF7\u6C42id);
|
|
577
|
+
let \u63A5\u53E3log = (await this.\u63A5\u53E3log).extend(\u8BF7\u6C42id);
|
|
573
578
|
let \u5F00\u59CB\u65F6\u95F4 = Date.now();
|
|
574
579
|
try {
|
|
575
580
|
let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
|
|
576
581
|
\u8BF7\u6C42\u8DEF\u5F84 = decodeURIComponent(\u8BF7\u6C42\u8DEF\u5F84);
|
|
577
582
|
let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
|
|
578
|
-
await
|
|
583
|
+
await \u7CFB\u7EDFlog.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
579
584
|
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;
|
|
580
585
|
if (\u76EE\u6807\u63A5\u53E3 !== null) {
|
|
581
|
-
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3,
|
|
586
|
+
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u63A5\u53E3log, \u7CFB\u7EDFlog);
|
|
582
587
|
return;
|
|
583
588
|
}
|
|
584
589
|
if (this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 !== void 0 && \u8BF7\u6C42\u65B9\u6CD5 === "get") {
|
|
@@ -587,31 +592,30 @@ var \u670D\u52A1\u5668 = class {
|
|
|
587
592
|
res.send(\u9ED8\u8BA4\u6587\u4EF6\u5185\u5BB9);
|
|
588
593
|
return;
|
|
589
594
|
} catch (e) {
|
|
590
|
-
await
|
|
595
|
+
await \u7CFB\u7EDFlog.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
|
|
591
596
|
}
|
|
592
597
|
}
|
|
593
|
-
await
|
|
598
|
+
await \u7CFB\u7EDFlog.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
594
599
|
res.status(404).end();
|
|
595
600
|
} catch (error) {
|
|
596
|
-
await
|
|
601
|
+
await \u7CFB\u7EDFlog.error(error);
|
|
597
602
|
res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
598
603
|
} finally {
|
|
599
604
|
let \u8017\u65F6ms = Date.now() - \u5F00\u59CB\u65F6\u95F4;
|
|
600
|
-
await \
|
|
605
|
+
await \u7CFB\u7EDFlog.info("\u8BF7\u6C42\u5B8C\u6210, \u8017\u65F6: %o ms", \u8017\u65F6ms);
|
|
601
606
|
}
|
|
602
607
|
}
|
|
603
|
-
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \
|
|
604
|
-
let log2 = \u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log.extend("\u5904\u7406\u63A5\u53E3\u903B\u8F91");
|
|
608
|
+
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u63A5\u53E3log, \u7CFB\u7EDFlog) {
|
|
605
609
|
let \u63A5\u53E3\u903B\u8F912 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
606
610
|
let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
607
611
|
let \u7ED3\u679C\u8FD4\u56DE\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8FD4\u56DE\u5668();
|
|
608
612
|
let \u603B\u5F00\u59CB = Date.now();
|
|
609
613
|
let \u5F00\u59CB = Date.now();
|
|
610
|
-
await
|
|
611
|
-
let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, \
|
|
612
|
-
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u63D2\u4EF6\u7ED3\u679C, {}, \
|
|
614
|
+
await \u7CFB\u7EDFlog.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
615
|
+
let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, { log: \u7CFB\u7EDFlog });
|
|
616
|
+
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 });
|
|
613
617
|
let \u63A5\u53E3\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
614
|
-
await
|
|
618
|
+
await \u7CFB\u7EDFlog.info("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u63A5\u53E3\u8017\u65F6);
|
|
615
619
|
\u5F00\u59CB = Date.now();
|
|
616
620
|
let \u8F6C\u6362\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
617
621
|
let \u9519\u8BEF\u7ED3\u679C = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod().safeParse(\u8F6C\u6362\u7ED3\u679C);
|
|
@@ -623,61 +627,59 @@ var \u670D\u52A1\u5668 = class {
|
|
|
623
627
|
\u6700\u7EC8\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C.data;
|
|
624
628
|
} else {
|
|
625
629
|
let \u7ED3\u679C\u5B57\u7B26\u4E32 = JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u8F6C\u6362\u7ED3\u679C));
|
|
626
|
-
await
|
|
627
|
-
await
|
|
628
|
-
await
|
|
630
|
+
await \u7CFB\u7EDFlog.error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${\u7ED3\u679C\u5B57\u7B26\u4E32}`);
|
|
631
|
+
await \u7CFB\u7EDFlog.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
|
|
632
|
+
await \u7CFB\u7EDFlog.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
|
|
629
633
|
throw new Error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C`);
|
|
630
634
|
}
|
|
631
635
|
let \u8F6C\u6362\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
632
|
-
await
|
|
633
|
-
await
|
|
636
|
+
await \u7CFB\u7EDFlog.info("\u7ED3\u679C\u8F6C\u6362\u4E0E\u6821\u9A8C\u5B8C\u6210, \u8017\u65F6: %o ms", \u8F6C\u6362\u8017\u65F6);
|
|
637
|
+
await \u7CFB\u7EDFlog.debug("\u6700\u7EC8\u7ED3\u679C: %o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C)));
|
|
634
638
|
\u5F00\u59CB = Date.now();
|
|
635
639
|
await \u7ED3\u679C\u8FD4\u56DE\u5668.\u8FD4\u56DE(req, res, \u6700\u7EC8\u7ED3\u679C);
|
|
636
640
|
let \u8FD4\u56DE\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
637
|
-
await
|
|
641
|
+
await \u7CFB\u7EDFlog.info("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u8FD4\u56DE\u8017\u65F6);
|
|
638
642
|
let \u603B\u8017\u65F6 = Date.now() - \u603B\u5F00\u59CB;
|
|
639
|
-
await
|
|
643
|
+
await \u7CFB\u7EDFlog.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
|
|
640
644
|
}
|
|
641
645
|
async \u521D\u59CB\u5316WebSocket(server) {
|
|
642
646
|
let wss = new import_ws3.WebSocketServer({ server });
|
|
643
|
-
let
|
|
647
|
+
let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
|
|
644
648
|
wss.on("listening", async () => {
|
|
645
|
-
|
|
646
|
-
await log2.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
649
|
+
await \u7CFB\u7EDFlog.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
647
650
|
});
|
|
648
651
|
wss.on("error", async (err) => {
|
|
649
|
-
|
|
650
|
-
await log2.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
652
|
+
await \u7CFB\u7EDFlog.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
651
653
|
});
|
|
652
654
|
wss.on("connection", async (ws, req) => {
|
|
653
|
-
let
|
|
654
|
-
await
|
|
655
|
+
let \u63A5\u53E3log = \u7CFB\u7EDFlog.extend((0, import_short_uuid.default)().new());
|
|
656
|
+
await \u63A5\u53E3log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
|
|
655
657
|
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
|
|
656
658
|
if (\u5BA2\u6237\u7AEFid === null) {
|
|
657
|
-
await
|
|
658
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
659
|
+
await \u63A5\u53E3log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
660
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
659
661
|
}
|
|
660
|
-
await
|
|
662
|
+
await \u63A5\u53E3log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
661
663
|
let WebSocket\u7BA1\u7406\u56682 = Global.getItemSync("WebSocket\u7BA1\u7406\u5668");
|
|
662
664
|
let \u8FDE\u63A5\u5DF2\u5B58\u5728 = WebSocket\u7BA1\u7406\u56682.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
663
665
|
if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
|
|
664
|
-
await
|
|
665
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
666
|
+
await \u63A5\u53E3log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
667
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
666
668
|
}
|
|
667
669
|
WebSocket\u7BA1\u7406\u56682.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
668
|
-
await
|
|
670
|
+
await \u63A5\u53E3log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
669
671
|
ws.on("close", async () => {
|
|
670
|
-
await
|
|
672
|
+
await \u63A5\u53E3log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
|
|
671
673
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
672
674
|
});
|
|
673
675
|
ws.on("error", async (err) => {
|
|
674
|
-
await
|
|
676
|
+
await \u63A5\u53E3log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
|
|
675
677
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
676
678
|
});
|
|
677
679
|
});
|
|
678
680
|
}
|
|
679
|
-
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
680
|
-
await
|
|
681
|
+
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, code, reason) {
|
|
682
|
+
await \u63A5\u53E3log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
|
|
681
683
|
ws.close(code, reason);
|
|
682
684
|
}
|
|
683
685
|
\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';
|
|
@@ -63,20 +63,20 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
|
|
|
63
63
|
await \u65E5\u5FD7\u5BF9\u8C61.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
64
64
|
return \u5408\u5E76\u7ED3\u679C;
|
|
65
65
|
}
|
|
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\
|
|
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\u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
67
|
+
let log = \u4F20\u5165\u7684\u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log.extend("\u63A5\u53E3\u903B\u8F91");
|
|
68
68
|
let \u6E05\u7406\u51FD\u6570 = this.\u83B7\u5F97\u6E05\u7406\u51FD\u6570?.();
|
|
69
69
|
let \u6700\u7EC8\u7ED3\u679C = void 0;
|
|
70
70
|
try {
|
|
71
71
|
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
|
|
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\
|
|
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\u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
73
73
|
await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
74
74
|
\u6700\u7EC8\u7ED3\u679C = \u5B9E\u73B0\u7ED3\u679C.map((a) => ({ ...\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...a }));
|
|
75
75
|
return \u6700\u7EC8\u7ED3\u679C;
|
|
76
76
|
} finally {
|
|
77
77
|
if (\u6E05\u7406\u51FD\u6570 !== void 0) {
|
|
78
78
|
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\
|
|
79
|
+
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
80
|
}
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -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,12 +10,19 @@ type 请求附加参数类型 = {
|
|
|
10
10
|
log: Log;
|
|
11
11
|
};
|
|
12
12
|
declare class 服务器 {
|
|
13
|
+
private 系统log;
|
|
14
|
+
private 接口log;
|
|
13
15
|
private 接口们;
|
|
14
16
|
private 端口;
|
|
15
|
-
private
|
|
16
|
-
private 默认get
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
private 静态资源路径;
|
|
18
|
+
private 默认get文件路径;
|
|
19
|
+
constructor(options: {
|
|
20
|
+
接口们: 任意接口[];
|
|
21
|
+
端口: number;
|
|
22
|
+
静态资源路径?: string;
|
|
23
|
+
默认get文件路径?: string;
|
|
24
|
+
log?: Log;
|
|
25
|
+
});
|
|
19
26
|
run(): Promise<{
|
|
20
27
|
ip: string[];
|
|
21
28
|
api: string[];
|
|
@@ -95,7 +102,7 @@ declare abstract class 接口逻辑Base<插件类型 extends 插件项类型[],
|
|
|
95
102
|
abstract 获得插件们(): [...插件类型];
|
|
96
103
|
abstract 实现(参数: 合并插件结果<插件类型>, 逻辑附加参数: 逻辑附加参数类型, 请求附加参数: 请求附加参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
97
104
|
获得清理函数?(): 清理函数类型<插件类型, 逻辑附加参数类型> | undefined;
|
|
98
|
-
通过插件结果运行(合并插件结果: 合并插件结果<插件类型>, 传入的逻辑附加参数: 逻辑附加参数类型,
|
|
105
|
+
通过插件结果运行(合并插件结果: 合并插件结果<插件类型>, 传入的逻辑附加参数: 逻辑附加参数类型, 传入的请求附加参数: 请求附加参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
99
106
|
运行(req: Request, res: Response, 传入的逻辑附加参数: 逻辑附加参数类型, 传入的插件附加参数: 请求附加参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
100
107
|
混合<输入的插件类型 extends 插件项类型[], 输入的错误类型 extends 接口逻辑错误类型, 输入的返回类型 extends 接口逻辑正确类型, 输入的上游接口逻辑类型 extends 任意接口逻辑 | null, 输入的最后接口逻辑类型 extends 任意接口逻辑 | null>(输入: 接口逻辑Base<输入的插件类型, 返回类型, 输入的错误类型, 输入的返回类型, 输入的上游接口逻辑类型, 输入的最后接口逻辑类型>): 接口逻辑Base<[
|
|
101
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';
|