@lsby/net-core 0.4.0-beta.2 → 0.4.0-beta.3
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/bin/gen-list/bin.cjs +15 -14
- package/dist/bin/gen-list/index.cjs +13 -12
- package/dist/bin/gen-table-list/bin.cjs +157 -0
- package/dist/bin/gen-table-list/bin.d.cts +1 -0
- package/dist/bin/gen-table-list/index.cjs +156 -0
- package/dist/bin/gen-table-list/index.d.cts +3 -0
- package/dist/bin/gen-table-type/addition.cjs +58 -0
- package/dist/bin/gen-table-type/addition.d.cts +3 -0
- package/dist/bin/gen-table-type/bin.cjs +208 -0
- package/dist/bin/gen-table-type/bin.d.cts +1 -0
- package/dist/bin/gen-table-type/index.cjs +207 -0
- package/dist/bin/gen-table-type/index.d.cts +3 -0
- package/dist/bin/gen-test/bin.cjs +16 -15
- package/dist/bin/gen-test/index.cjs +15 -14
- package/dist/bin/gen-type/bin.cjs +13 -12
- package/dist/bin/gen-type/index.cjs +12 -11
- package/dist/cjs/action/action.cjs +2 -2
- package/dist/cjs/bin/gen-list/bin.cjs +15 -14
- package/dist/cjs/bin/gen-list/index.cjs +13 -12
- package/dist/cjs/bin/gen-table-list/bin.cjs +157 -0
- package/dist/cjs/bin/gen-table-list/bin.d.cts +1 -0
- package/dist/cjs/bin/gen-table-list/index.cjs +156 -0
- package/dist/cjs/bin/gen-table-list/index.d.cts +3 -0
- package/dist/cjs/bin/gen-table-type/addition.cjs +58 -0
- package/dist/cjs/bin/gen-table-type/addition.d.cts +3 -0
- package/dist/cjs/bin/gen-table-type/bin.cjs +208 -0
- package/dist/cjs/bin/gen-table-type/bin.d.cts +1 -0
- package/dist/cjs/bin/gen-table-type/index.cjs +207 -0
- package/dist/cjs/bin/gen-table-type/index.d.cts +3 -0
- package/dist/cjs/bin/gen-test/bin.cjs +16 -15
- package/dist/cjs/bin/gen-test/index.cjs +15 -14
- package/dist/cjs/bin/gen-type/bin.cjs +13 -12
- package/dist/cjs/bin/gen-type/index.cjs +12 -11
- package/dist/cjs/global/global.cjs +2 -2
- package/dist/cjs/global/ws.cjs +2 -2
- package/dist/cjs/index.cjs +227 -87
- package/dist/cjs/index.d.cts +3 -2
- package/dist/cjs/interface/interface-base.d.cts +4 -4
- package/dist/cjs/interface/interface-logic.cjs +16 -10
- package/dist/cjs/interface/interface-logic.d.cts +34 -15
- package/dist/cjs/interface/interface-result.d.cts +2 -2
- package/dist/cjs/interface-table/interface-table.cjs +59 -0
- package/dist/cjs/interface-table/interface-table.d.cts +95 -0
- package/dist/cjs/plugin/extend/chinese-path.d.cts +1 -1
- package/dist/cjs/plugin/extend/custom-data.cjs +2 -2
- package/dist/cjs/plugin/extend/custom-data.d.cts +1 -1
- package/dist/cjs/plugin/extend/json.cjs +5 -5
- package/dist/cjs/plugin/extend/urlencoded.cjs +4 -4
- package/dist/cjs/plugin/extend/web-socket.cjs +7 -7
- package/dist/cjs/plugin/extend/web-socket.d.cts +2 -2
- package/dist/cjs/plugin/plug.d.cts +1 -1
- package/dist/cjs/server/server.cjs +187 -68
- package/dist/cjs/server/server.d.cts +15 -2
- package/dist/cjs/tools/tools.cjs +1 -1
- package/dist/esm/action/action.js +1 -1
- package/dist/esm/bin/gen-list/bin.js +3 -3
- package/dist/esm/bin/gen-list/index.js +1 -1
- package/dist/esm/bin/gen-table-list/bin.d.ts +1 -0
- package/dist/esm/bin/gen-table-list/bin.js +16 -0
- package/dist/esm/bin/gen-table-list/index.d.ts +3 -0
- package/dist/esm/bin/gen-table-list/index.js +6 -0
- package/dist/esm/bin/gen-table-type/addition.d.ts +3 -0
- package/dist/esm/bin/gen-table-type/addition.js +6 -0
- package/dist/esm/bin/gen-table-type/bin.d.ts +1 -0
- package/dist/esm/bin/gen-table-type/bin.js +17 -0
- package/dist/esm/bin/gen-table-type/index.d.ts +3 -0
- package/dist/esm/bin/gen-table-type/index.js +7 -0
- package/dist/esm/bin/gen-test/bin.js +2 -2
- package/dist/esm/bin/gen-test/index.js +1 -1
- package/dist/esm/bin/gen-type/bin.js +2 -2
- package/dist/esm/bin/gen-type/index.js +1 -1
- package/dist/esm/{chunk-F7TZXXFE.js → chunk-2QVSQMI7.js} +13 -12
- package/dist/esm/{chunk-JX5MRJL6.js → chunk-43ZE4ZNH.js} +1 -1
- package/dist/esm/{chunk-5WR5VNYH.js → chunk-47ICFQXW.js} +2 -2
- package/dist/esm/{chunk-6AW5SSYA.js → chunk-6Y4UXWIN.js} +3 -3
- package/dist/esm/{chunk-GVIGQG5Y.js → chunk-7Y3YE4M5.js} +4 -4
- package/dist/esm/chunk-AAZFVBDH.js +144 -0
- package/dist/esm/chunk-CSKAQDJA.js +204 -0
- package/dist/esm/{chunk-AVB7KPZC.js → chunk-CSOONB3X.js} +6 -6
- package/dist/esm/{chunk-BC6IISWS.js → chunk-DGDZQLIJ.js} +1 -1
- package/dist/esm/{chunk-BOCS6H24.js → chunk-ELSBYQPF.js} +12 -11
- package/dist/esm/{chunk-EAVNASDB.js → chunk-FIQSBTYJ.js} +2 -2
- package/dist/esm/{chunk-PVE5VI5K.js → chunk-IGHJCQ2S.js} +1 -1
- package/dist/esm/chunk-IY26L2UM.js +122 -0
- package/dist/esm/{chunk-EZ7OJFSQ.js → chunk-QGSMHYVT.js} +15 -9
- package/dist/esm/chunk-RG6U5R37.js +34 -0
- package/dist/esm/chunk-XICLHBEA.js +34 -0
- package/dist/esm/{chunk-WIZEBP6C.js → chunk-YATLUSDZ.js} +15 -14
- package/dist/esm/global/global.js +2 -2
- package/dist/esm/global/ws.js +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +16 -10
- package/dist/esm/interface/interface-base.d.ts +4 -4
- package/dist/esm/interface/interface-logic.d.ts +34 -15
- package/dist/esm/interface/interface-logic.js +3 -3
- package/dist/esm/interface/interface-result.d.ts +2 -2
- package/dist/esm/interface-table/interface-table.d.ts +95 -0
- package/dist/esm/interface-table/interface-table.js +8 -0
- package/dist/esm/plugin/extend/chinese-path.d.ts +1 -1
- package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
- package/dist/esm/plugin/extend/custom-data.js +3 -3
- package/dist/esm/plugin/extend/json.js +4 -4
- package/dist/esm/plugin/extend/urlencoded.js +3 -3
- package/dist/esm/plugin/extend/web-socket.d.ts +2 -2
- package/dist/esm/plugin/extend/web-socket.js +3 -3
- package/dist/esm/plugin/plug.d.ts +1 -1
- package/dist/esm/server/server.d.ts +15 -2
- package/dist/esm/server/server.js +5 -4
- package/dist/esm/tools/tools.js +1 -1
- package/package.json +14 -4
- package/dist/esm/chunk-3ERQ6GCK.js +0 -101
package/dist/cjs/index.cjs
CHANGED
|
@@ -36,6 +36,7 @@ __export(src_exports, {
|
|
|
36
36
|
\u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6: () => \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6,
|
|
37
37
|
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
38
38
|
\u622A\u65AD\u5B57\u7B26\u4E32: () => \u622A\u65AD\u5B57\u7B26\u4E32,
|
|
39
|
+
\u6241\u5E73\u5316\u6761\u4EF6\u7EC4: () => \u6241\u5E73\u5316\u6761\u4EF6\u7EC4,
|
|
39
40
|
\u63A5\u53E3: () => \u63A5\u53E3,
|
|
40
41
|
\u63A5\u53E3\u6D4B\u8BD5: () => \u63A5\u53E3\u6D4B\u8BD5,
|
|
41
42
|
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
|
|
@@ -43,6 +44,7 @@ __export(src_exports, {
|
|
|
43
44
|
\u63D2\u4EF6: () => \u63D2\u4EF6,
|
|
44
45
|
\u670D\u52A1\u5668: () => \u670D\u52A1\u5668,
|
|
45
46
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6: () => \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
|
|
47
|
+
\u865A\u62DF\u8868: () => \u865A\u62DF\u8868,
|
|
46
48
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u89E3\u6790\u63D2\u4EF6,
|
|
47
49
|
\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32: () => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32
|
|
48
50
|
});
|
|
@@ -89,8 +91,8 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
89
91
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
90
92
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
91
93
|
let \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570)));
|
|
92
|
-
let \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
93
|
-
if (\u9519\u8BEF)
|
|
94
|
+
let \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0] ?? null;
|
|
95
|
+
if (\u9519\u8BEF !== null)
|
|
94
96
|
return \u9519\u8BEF;
|
|
95
97
|
let \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
|
|
96
98
|
return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
@@ -228,10 +230,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
228
230
|
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
229
231
|
}
|
|
230
232
|
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
231
|
-
return this.\u8FDE\u63A5\u8868
|
|
233
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
|
|
232
234
|
}
|
|
233
235
|
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
234
|
-
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id]
|
|
236
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
|
|
235
237
|
}
|
|
236
238
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
237
239
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
@@ -253,30 +255,36 @@ var \u63A5\u53E3\u903B\u8F91 = class _\u63A5\u53E3\u903B\u8F91 {
|
|
|
253
255
|
static \u6DF7\u5408(\u903B\u8F91\u4EEC) {
|
|
254
256
|
return \u903B\u8F91\u4EEC.reduce((s, a) => s.\u6DF7\u5408(a));
|
|
255
257
|
}
|
|
256
|
-
static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0) {
|
|
257
|
-
|
|
258
|
+
static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0, \u903B\u8F91\u9644\u52A0\u53C2\u6570) {
|
|
259
|
+
let c = new class extends _\u63A5\u53E3\u903B\u8F91 {
|
|
258
260
|
\u83B7\u5F97\u63D2\u4EF6\u4EEC() {
|
|
259
261
|
return \u63D2\u4EF6\u4EEC;
|
|
260
262
|
}
|
|
261
|
-
\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\
|
|
262
|
-
return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\
|
|
263
|
+
\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702) {
|
|
264
|
+
return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702);
|
|
263
265
|
}
|
|
264
266
|
}();
|
|
267
|
+
c.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = \u903B\u8F91\u9644\u52A0\u53C2\u6570 ?? {};
|
|
268
|
+
return c;
|
|
265
269
|
}
|
|
266
|
-
|
|
267
|
-
|
|
270
|
+
\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = {};
|
|
271
|
+
\u8BBE\u7F6E\u903B\u8F91\u9644\u52A0\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
272
|
+
return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020(this.\u83B7\u5F97\u63D2\u4EF6\u4EEC(), this.\u5B9E\u73B0, \u8BBE\u7F6E\u53C2\u6570);
|
|
273
|
+
}
|
|
274
|
+
async \u8FD0\u884C(req, res, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
|
|
275
|
+
let log = (await Global.getItem("log")).extend(\u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u63A5\u53E3\u903B\u8F91");
|
|
268
276
|
let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
269
277
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
|
|
270
278
|
let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
|
|
271
279
|
for (let \u63D2\u4EF62 of \u63D2\u4EF6\u4EEC) {
|
|
272
280
|
let \u63D2\u4EF6\u672C\u4F53 = await \u63D2\u4EF62.run();
|
|
273
|
-
let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
|
|
281
|
+
let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
|
|
274
282
|
\u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
|
|
275
283
|
}
|
|
276
284
|
let \u5408\u5E76\u63D2\u4EF6\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => Object.assign(s, a), {});
|
|
277
285
|
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
278
286
|
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
|
|
279
|
-
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
|
|
287
|
+
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, Object.assign(this.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570));
|
|
280
288
|
await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
281
289
|
return \u5B9E\u73B0\u7ED3\u679C;
|
|
282
290
|
}
|
|
@@ -324,6 +332,36 @@ var \u63A5\u53E3\u6D4B\u8BD5 = class {
|
|
|
324
332
|
}
|
|
325
333
|
};
|
|
326
334
|
|
|
335
|
+
// src/interface-table/interface-table.ts
|
|
336
|
+
var \u865A\u62DF\u8868 = class {
|
|
337
|
+
constructor(\u6784\u9020\u53C2\u6570) {
|
|
338
|
+
this.\u6784\u9020\u53C2\u6570 = \u6784\u9020\u53C2\u6570;
|
|
339
|
+
}
|
|
340
|
+
static \u8D44\u6E90\u8DEF\u5F84;
|
|
341
|
+
};
|
|
342
|
+
function \u6241\u5E73\u5316\u6761\u4EF6\u7EC4(\u6761\u4EF6\u7EC4) {
|
|
343
|
+
let \u6241\u5E73\u5316\u6761\u4EF6 = [];
|
|
344
|
+
for (let \u6761\u4EF6\u7EC4\u9879 of \u6761\u4EF6\u7EC4) {
|
|
345
|
+
switch (\u6761\u4EF6\u7EC4\u9879.\u6A21\u5F0F) {
|
|
346
|
+
case "\u76F4\u63A5\u6761\u4EF6":
|
|
347
|
+
\u6241\u5E73\u5316\u6761\u4EF6.push({
|
|
348
|
+
\u7EC4\u5408\u6A21\u5F0F: "\u4E0E",
|
|
349
|
+
\u6761\u4EF6: \u6761\u4EF6\u7EC4\u9879.\u503C
|
|
350
|
+
});
|
|
351
|
+
break;
|
|
352
|
+
case "\u7EC4\u5408\u6761\u4EF6":
|
|
353
|
+
for (let \u6761\u4EF6\u9879 of \u6761\u4EF6\u7EC4\u9879.\u6761\u4EF6\u4EEC) {
|
|
354
|
+
\u6241\u5E73\u5316\u6761\u4EF6.push({
|
|
355
|
+
\u7EC4\u5408\u6A21\u5F0F: \u6761\u4EF6\u7EC4\u9879.\u7EC4\u5408\u6A21\u5F0F,
|
|
356
|
+
\u6761\u4EF6: \u6761\u4EF6\u9879
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return \u6241\u5E73\u5316\u6761\u4EF6;
|
|
363
|
+
}
|
|
364
|
+
|
|
327
365
|
// src/plugin/extend/chinese-path.ts
|
|
328
366
|
var import_node_url = require("url");
|
|
329
367
|
var import_zod = require("zod");
|
|
@@ -368,8 +406,8 @@ var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
368
406
|
};
|
|
369
407
|
|
|
370
408
|
// src/plugin/extend/json.ts
|
|
371
|
-
var import_node_util = require("util");
|
|
372
409
|
var import_express = __toESM(require("express"), 1);
|
|
410
|
+
var import_node_util = require("util");
|
|
373
411
|
|
|
374
412
|
// src/tools/tools.ts
|
|
375
413
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
@@ -386,7 +424,7 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
|
386
424
|
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
387
425
|
let \u65B0\u6570\u636E = {};
|
|
388
426
|
for (let key in \u6570\u636E) {
|
|
389
|
-
if (\u6570\u636E.hasOwnProperty(key))
|
|
427
|
+
if (\u6570\u636E.hasOwnProperty(key) === true)
|
|
390
428
|
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
391
429
|
}
|
|
392
430
|
return \u65B0\u6570\u636E;
|
|
@@ -407,7 +445,7 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
407
445
|
);
|
|
408
446
|
await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.body));
|
|
409
447
|
let parseResult = t.safeParse(req.body);
|
|
410
|
-
if (
|
|
448
|
+
if (parseResult.success === false) {
|
|
411
449
|
await log.err("\u89E3\u6790 JSON \u5931\u8D25\uFF1A%o", parseResult.error);
|
|
412
450
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %O", parseResult.error));
|
|
413
451
|
}
|
|
@@ -418,8 +456,8 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
418
456
|
};
|
|
419
457
|
|
|
420
458
|
// src/plugin/extend/urlencoded.ts
|
|
421
|
-
var import_node_util2 = require("util");
|
|
422
459
|
var import_express2 = __toESM(require("express"), 1);
|
|
460
|
+
var import_node_util2 = require("util");
|
|
423
461
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
424
462
|
log = Global.getItem("log");
|
|
425
463
|
constructor(t, opt) {
|
|
@@ -431,7 +469,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
431
469
|
})
|
|
432
470
|
);
|
|
433
471
|
let parseResult = t.safeParse(req.body);
|
|
434
|
-
if (
|
|
472
|
+
if (parseResult.success === false) {
|
|
435
473
|
await log.err("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error);
|
|
436
474
|
throw new Error((0, import_node_util2.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
|
|
437
475
|
}
|
|
@@ -450,7 +488,7 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
450
488
|
ws\u64CD\u4F5C: import_zod2.z.object({
|
|
451
489
|
\u53D1\u9001ws\u4FE1\u606F: import_zod2.z.function(import_zod2.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod2.z.promise(import_zod2.z.void())),
|
|
452
490
|
\u5173\u95EDws\u8FDE\u63A5: import_zod2.z.function(import_zod2.z.tuple([]), import_zod2.z.promise(import_zod2.z.void()))
|
|
453
|
-
}).or(import_zod2.z.
|
|
491
|
+
}).or(import_zod2.z.null())
|
|
454
492
|
}),
|
|
455
493
|
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
456
494
|
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("ws\u63D2\u4EF6");
|
|
@@ -458,13 +496,13 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
458
496
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
459
497
|
let ws\u53E5\u67C4 = null;
|
|
460
498
|
await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
461
|
-
if (typeof wsId
|
|
499
|
+
if (typeof wsId === "string") {
|
|
462
500
|
await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4");
|
|
463
501
|
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
464
502
|
}
|
|
465
|
-
if (
|
|
503
|
+
if (ws\u53E5\u67C4 === null) {
|
|
466
504
|
await log.err("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
467
|
-
return { ws\u64CD\u4F5C:
|
|
505
|
+
return { ws\u64CD\u4F5C: null };
|
|
468
506
|
}
|
|
469
507
|
let \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
|
|
470
508
|
await log.debug("WebSocket \u53E5\u67C4\u5DF2\u51C6\u5907\u597D");
|
|
@@ -474,7 +512,7 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
474
512
|
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
|
|
475
513
|
return new Promise((res, rej) => {
|
|
476
514
|
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
477
|
-
if (err) {
|
|
515
|
+
if ((err ?? null) !== null) {
|
|
478
516
|
log.err("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err }).catch(console.error);
|
|
479
517
|
return rej(err);
|
|
480
518
|
}
|
|
@@ -495,93 +533,193 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
495
533
|
};
|
|
496
534
|
|
|
497
535
|
// src/server/server.ts
|
|
498
|
-
var import_node_os = require("os");
|
|
499
536
|
var import_express3 = __toESM(require("express"), 1);
|
|
537
|
+
var import_node_os = require("os");
|
|
500
538
|
var import_short_uuid = __toESM(require("short-uuid"), 1);
|
|
501
539
|
var import_ws2 = require("ws");
|
|
502
540
|
var \u670D\u52A1\u5668 = class {
|
|
503
|
-
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
541
|
+
constructor(\u63A5\u53E3\u4EEC, \u865A\u62DF\u8868\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
504
542
|
this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
|
|
543
|
+
this.\u865A\u62DF\u8868\u4EEC = \u865A\u62DF\u8868\u4EEC;
|
|
505
544
|
this.\u7AEF\u53E3 = \u7AEF\u53E3;
|
|
506
545
|
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
507
546
|
}
|
|
508
547
|
log = Global.getItem("log");
|
|
509
548
|
async run() {
|
|
510
549
|
let app = (0, import_express3.default)();
|
|
511
|
-
app.use(
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
await log.debug("\u5C1D\u8BD5\u5339\u914D\u9759\u6001\u8D44\u6E90...");
|
|
541
|
-
import_express3.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
|
|
542
|
-
setHeaders: async () => {
|
|
543
|
-
await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
544
|
-
}
|
|
545
|
-
})(req, res, async () => {
|
|
546
|
-
await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
547
|
-
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
548
|
-
res.status(404);
|
|
549
|
-
res.end();
|
|
550
|
-
});
|
|
550
|
+
app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
|
|
551
|
+
let server = app.listen(this.\u7AEF\u53E3);
|
|
552
|
+
await this.\u521D\u59CB\u5316WebSocket(server);
|
|
553
|
+
return { ip: this.\u83B7\u53D6\u672C\u5730\u5730\u5740(), server };
|
|
554
|
+
}
|
|
555
|
+
async \u5904\u7406\u8BF7\u6C42(req, res) {
|
|
556
|
+
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
557
|
+
let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
|
|
558
|
+
try {
|
|
559
|
+
let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
|
|
560
|
+
let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
|
|
561
|
+
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
562
|
+
let \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 ?? null;
|
|
563
|
+
if (\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== null && \u8BF7\u6C42\u65B9\u6CD5 === "get" && await this.\u5904\u7406\u9759\u6001\u8D44\u6E90(req, res, log)) {
|
|
564
|
+
return;
|
|
565
|
+
}
|
|
566
|
+
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;
|
|
567
|
+
if (\u76EE\u6807\u63A5\u53E3 !== null) {
|
|
568
|
+
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, log, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42id);
|
|
569
|
+
return;
|
|
570
|
+
}
|
|
571
|
+
if (\u8BF7\u6C42\u65B9\u6CD5 === "post") {
|
|
572
|
+
let \u76EE\u6807\u865A\u62DF\u8868 = this.\u865A\u62DF\u8868\u4EEC.find((\u865A\u62DF\u88682) => \u8BF7\u6C42\u8DEF\u5F84.startsWith(\u865A\u62DF\u88682.\u8D44\u6E90\u8DEF\u5F84)) ?? null;
|
|
573
|
+
if (\u76EE\u6807\u865A\u62DF\u8868 !== null) {
|
|
574
|
+
let \u865A\u62DF\u8868\u64CD\u4F5C = this.\u89E3\u6790\u865A\u62DF\u8868\u64CD\u4F5C(\u76EE\u6807\u865A\u62DF\u8868.\u8D44\u6E90\u8DEF\u5F84, \u8BF7\u6C42\u8DEF\u5F84);
|
|
575
|
+
if (\u865A\u62DF\u8868\u64CD\u4F5C !== null) {
|
|
576
|
+
await this.\u5904\u7406\u865A\u62DF\u8868\u903B\u8F91(req, res, log, \u865A\u62DF\u8868\u64CD\u4F5C, \u76EE\u6807\u865A\u62DF\u8868, \u8BF7\u6C42id);
|
|
577
|
+
return;
|
|
578
|
+
}
|
|
551
579
|
}
|
|
552
|
-
} catch (e) {
|
|
553
|
-
await log.err(e);
|
|
554
|
-
res.status(500);
|
|
555
|
-
res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
556
580
|
}
|
|
557
|
-
|
|
558
|
-
|
|
581
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
582
|
+
res.status(404).end();
|
|
583
|
+
} catch (error) {
|
|
584
|
+
await log.err(error);
|
|
585
|
+
res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
async \u5904\u7406\u9759\u6001\u8D44\u6E90(req, res, log) {
|
|
589
|
+
let \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 ?? null;
|
|
590
|
+
let \u547D\u4E2D = false;
|
|
591
|
+
if (\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== null) {
|
|
592
|
+
await new Promise((resolve) => {
|
|
593
|
+
import_express3.default.static(\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
|
|
594
|
+
setHeaders: async () => {
|
|
595
|
+
await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
596
|
+
\u547D\u4E2D = true;
|
|
597
|
+
resolve();
|
|
598
|
+
}
|
|
599
|
+
})(req, res, () => resolve());
|
|
600
|
+
});
|
|
601
|
+
} else {
|
|
602
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
603
|
+
}
|
|
604
|
+
return \u547D\u4E2D;
|
|
605
|
+
}
|
|
606
|
+
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, log, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42id) {
|
|
607
|
+
let \u63A5\u53E3\u903B\u8F912 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
608
|
+
let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
609
|
+
await log.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
610
|
+
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id });
|
|
611
|
+
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
612
|
+
let \u6700\u7EC8\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
613
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
|
|
614
|
+
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
615
|
+
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
616
|
+
}
|
|
617
|
+
async \u5904\u7406\u865A\u62DF\u8868\u903B\u8F91(req, res, log, \u865A\u62DF\u8868\u64CD\u4F5C, \u76EE\u6807\u865A\u62DF\u8868, \u8BF7\u6C42id) {
|
|
618
|
+
await log.debug("\u8C03\u7528\u865A\u62DF\u8868\u903B\u8F91...");
|
|
619
|
+
await log.debug("\u8C03\u7528json\u89E3\u6790...");
|
|
620
|
+
await new Promise(
|
|
621
|
+
(pRes, _rej) => import_express3.default.json({})(req, res, () => {
|
|
622
|
+
pRes(null);
|
|
623
|
+
})
|
|
624
|
+
);
|
|
625
|
+
await log.debug("json\u89E3\u6790\u5B8C\u6210");
|
|
626
|
+
await log.debug("\u865A\u62DF\u8868: %O", \u76EE\u6807\u865A\u62DF\u8868.name);
|
|
627
|
+
await log.debug("\u64CD\u4F5C: %O", \u865A\u62DF\u8868\u64CD\u4F5C);
|
|
628
|
+
await log.debug("\u63D0\u53D6\u6784\u9020\u53C2\u6570...");
|
|
629
|
+
let \u6784\u9020\u53C2\u6570 = req.body?.["construction"] ?? null;
|
|
630
|
+
if (\u6784\u9020\u53C2\u6570 === null)
|
|
631
|
+
throw new Error("\u6784\u9020\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A");
|
|
632
|
+
await log.debug("\u6784\u9020\u53C2\u6570: %O", \u6784\u9020\u53C2\u6570);
|
|
633
|
+
let \u865A\u62DF\u8868\u5B9E\u4F8B = new \u76EE\u6807\u865A\u62DF\u8868(\u6784\u9020\u53C2\u6570);
|
|
634
|
+
let \u7ED3\u679C;
|
|
635
|
+
switch (\u865A\u62DF\u8868\u64CD\u4F5C) {
|
|
636
|
+
case "add": {
|
|
637
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u589E");
|
|
638
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u589E(req.body?.["value"]);
|
|
639
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
640
|
+
break;
|
|
641
|
+
}
|
|
642
|
+
case "del": {
|
|
643
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u5220");
|
|
644
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u5220(req.body?.["where"]);
|
|
645
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
646
|
+
break;
|
|
647
|
+
}
|
|
648
|
+
case "set": {
|
|
649
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u6539");
|
|
650
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u6539(req.body?.["value"], req.body?.["where"]);
|
|
651
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
652
|
+
break;
|
|
653
|
+
}
|
|
654
|
+
case "get": {
|
|
655
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u67E5");
|
|
656
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u67E5(req.body?.["where"], req.body?.["page"], req.body?.["sort"]);
|
|
657
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
658
|
+
break;
|
|
659
|
+
}
|
|
660
|
+
default: {
|
|
661
|
+
throw new Error(`\u610F\u5916\u7684\u64CD\u4F5C: ${\u865A\u62DF\u8868\u64CD\u4F5C}`);
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
let \u6700\u7EC8\u7ED3\u679C = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668().\u5B9E\u73B0(await \u7ED3\u679C.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id }));
|
|
665
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
|
|
666
|
+
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
667
|
+
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
668
|
+
}
|
|
669
|
+
\u89E3\u6790\u865A\u62DF\u8868\u64CD\u4F5C(\u8D44\u6E90\u8DEF\u5F84, \u8BF7\u6C42\u8DEF\u5F84) {
|
|
670
|
+
let \u5206\u89E3 = \u8BF7\u6C42\u8DEF\u5F84.split("/");
|
|
671
|
+
let \u64CD\u4F5C = \u5206\u89E3.at(-1) ?? null;
|
|
672
|
+
let \u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 = \u5206\u89E3.slice(0, -1).join("/");
|
|
673
|
+
if (\u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 !== \u8D44\u6E90\u8DEF\u5F84)
|
|
674
|
+
return null;
|
|
675
|
+
if (\u64CD\u4F5C !== "add" && \u64CD\u4F5C !== "del" && \u64CD\u4F5C !== "set" && \u64CD\u4F5C !== "get")
|
|
676
|
+
return null;
|
|
677
|
+
return \u64CD\u4F5C;
|
|
678
|
+
}
|
|
679
|
+
async \u521D\u59CB\u5316WebSocket(server) {
|
|
559
680
|
let wss = new import_ws2.WebSocketServer({ server });
|
|
681
|
+
let logBase = (await this.log).extend("web-socket");
|
|
560
682
|
wss.on("connection", async (ws, req) => {
|
|
561
|
-
let log =
|
|
562
|
-
await log.debug(
|
|
683
|
+
let log = logBase.extend((0, import_short_uuid.default)().new()).extend("WebSocket");
|
|
684
|
+
await log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
|
|
685
|
+
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
|
|
686
|
+
if (\u5BA2\u6237\u7AEFid === null) {
|
|
687
|
+
await log.err("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
688
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
689
|
+
}
|
|
690
|
+
await log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
563
691
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
564
|
-
let \
|
|
565
|
-
if (
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
let \u5B58\u5728\u7684\u5BA2\u6237\u7AEFid = \u5BA2\u6237\u7AEFid;
|
|
692
|
+
let \u662F\u5426\u5DF2\u5B58\u5728 = await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
693
|
+
if (\u662F\u5426\u5DF2\u5B58\u5728) {
|
|
694
|
+
await log.err("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
695
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
696
|
+
}
|
|
570
697
|
await WebSocket\u7BA1\u7406\u80052.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
571
|
-
await log.
|
|
698
|
+
await log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
572
699
|
ws.on("close", async () => {
|
|
573
|
-
await log.
|
|
574
|
-
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\
|
|
700
|
+
await log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
|
|
701
|
+
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
575
702
|
});
|
|
576
703
|
ws.on("error", async (err) => {
|
|
577
|
-
await log.err(
|
|
578
|
-
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\
|
|
704
|
+
await log.err("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
|
|
705
|
+
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
579
706
|
});
|
|
580
707
|
});
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
};
|
|
708
|
+
wss.on("listening", async () => {
|
|
709
|
+
let log = logBase;
|
|
710
|
+
await log.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
711
|
+
});
|
|
712
|
+
wss.on("error", async (err) => {
|
|
713
|
+
let log = logBase;
|
|
714
|
+
await log.err("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, code, reason) {
|
|
718
|
+
await log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u539F\u56E0: ${reason}`);
|
|
719
|
+
ws.close(code, reason);
|
|
720
|
+
}
|
|
721
|
+
\u83B7\u53D6\u672C\u5730\u5730\u5740() {
|
|
722
|
+
return Object.values((0, import_node_os.networkInterfaces)()).flatMap((iface) => iface ?? []).map((address) => `http://${address.address}:${this.\u7AEF\u53E3}`);
|
|
585
723
|
}
|
|
586
724
|
};
|
|
587
725
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -592,6 +730,7 @@ var \u670D\u52A1\u5668 = class {
|
|
|
592
730
|
\u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6,
|
|
593
731
|
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
594
732
|
\u622A\u65AD\u5B57\u7B26\u4E32,
|
|
733
|
+
\u6241\u5E73\u5316\u6761\u4EF6\u7EC4,
|
|
595
734
|
\u63A5\u53E3,
|
|
596
735
|
\u63A5\u53E3\u6D4B\u8BD5,
|
|
597
736
|
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
|
|
@@ -599,6 +738,7 @@ var \u670D\u52A1\u5668 = class {
|
|
|
599
738
|
\u63D2\u4EF6,
|
|
600
739
|
\u670D\u52A1\u5668,
|
|
601
740
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
|
|
741
|
+
\u865A\u62DF\u8868,
|
|
602
742
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6,
|
|
603
743
|
\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32
|
|
604
744
|
});
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { 业务行为, 业务行为参数类型, 业务行为返回类型, 业务行为错误类型, 计算业务行为参数, 计算业务行为返回, 计算业务行为错误 } from './action/action.cjs';
|
|
2
2
|
export { 任意接口, 接口, 接口方法类型, 接口路径类型, 获得接口方法类型, 获得接口正确形式, 获得接口结果转换器类型, 获得接口路径类型, 获得接口逻辑类型, 获得接口错误形式 } from './interface/interface-base.cjs';
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
3
|
+
export { 任意接口逻辑, 可调用接口逻辑, 接口逻辑, 接口逻辑正确类型, 接口逻辑错误类型, 接口逻辑附加参数类型, 获得接口逻辑插件类型, 获得接口逻辑正确类型, 获得接口逻辑错误类型, 获得接口逻辑附加参数类型 } from './interface/interface-logic.cjs';
|
|
4
|
+
export { 任意接口结果转换器, 常用形式转换器, 接口结果转换器 } from './interface/interface-result.cjs';
|
|
5
5
|
export { 接口测试 } from './interface/interface-test.cjs';
|
|
6
|
+
export { 任意虚拟表, 分页选项, 基本类型, 扁平化条件组, 扁平化条件组项, 排序选项, 条件, 条件组, 翻译列描述, 翻译自定义类型, 虚拟表 } from './interface-table/interface-table.cjs';
|
|
6
7
|
export { 中文路径支持插件 } from './plugin/extend/chinese-path.cjs';
|
|
7
8
|
export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
|
|
8
9
|
export { JSON解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.cjs';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import { 接口结果转换器 as _______ } from './interface-result.cjs';
|
|
4
|
-
import 'express';
|
|
2
|
+
import { 可调用接口逻辑 as _______, 获得接口逻辑错误类型 as __________, 获得接口逻辑正确类型 as __________$1 } from './interface-logic.cjs';
|
|
3
|
+
import { 接口结果转换器 as _______$1 } from './interface-result.cjs';
|
|
5
4
|
import '@lsby/ts-fp-data';
|
|
5
|
+
import 'express';
|
|
6
6
|
import '../plugin/plug.cjs';
|
|
7
7
|
|
|
8
8
|
type 接口路径类型 = string;
|
|
@@ -10,7 +10,7 @@ type 接口方法类型 = 'get' | 'post';
|
|
|
10
10
|
/**
|
|
11
11
|
* 接口的描述.
|
|
12
12
|
*/
|
|
13
|
-
declare class 接口<路径类型 extends 接口路径类型, 方法类型 extends 接口方法类型, 逻辑类型 extends
|
|
13
|
+
declare class 接口<路径类型 extends 接口路径类型, 方法类型 extends 接口方法类型, 逻辑类型 extends _______, 接口错误形式Zod extends z.ZodTypeAny, 接口正确形式Zod extends z.ZodTypeAny, 接口结果转换器类型 extends _______$1<__________<逻辑类型>, __________$1<逻辑类型>, z.infer<接口错误形式Zod>, z.infer<接口正确形式Zod>>> {
|
|
14
14
|
private 请求路径;
|
|
15
15
|
private 请求方法;
|
|
16
16
|
private 接口逻辑;
|
|
@@ -37,10 +37,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
37
37
|
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
38
38
|
}
|
|
39
39
|
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
40
|
-
return this.\u8FDE\u63A5\u8868
|
|
40
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
|
|
41
41
|
}
|
|
42
42
|
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
43
|
-
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id]
|
|
43
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
|
|
44
44
|
}
|
|
45
45
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
46
46
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
@@ -62,30 +62,36 @@ var \u63A5\u53E3\u903B\u8F91 = class _\u63A5\u53E3\u903B\u8F91 {
|
|
|
62
62
|
static \u6DF7\u5408(\u903B\u8F91\u4EEC) {
|
|
63
63
|
return \u903B\u8F91\u4EEC.reduce((s, a) => s.\u6DF7\u5408(a));
|
|
64
64
|
}
|
|
65
|
-
static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0) {
|
|
66
|
-
|
|
65
|
+
static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0, \u903B\u8F91\u9644\u52A0\u53C2\u6570) {
|
|
66
|
+
let c = new class extends _\u63A5\u53E3\u903B\u8F91 {
|
|
67
67
|
\u83B7\u5F97\u63D2\u4EF6\u4EEC() {
|
|
68
68
|
return \u63D2\u4EF6\u4EEC;
|
|
69
69
|
}
|
|
70
|
-
\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\
|
|
71
|
-
return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\
|
|
70
|
+
\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702) {
|
|
71
|
+
return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u65702);
|
|
72
72
|
}
|
|
73
73
|
}();
|
|
74
|
+
c.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = \u903B\u8F91\u9644\u52A0\u53C2\u6570 ?? {};
|
|
75
|
+
return c;
|
|
74
76
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570 = {};
|
|
78
|
+
\u8BBE\u7F6E\u903B\u8F91\u9644\u52A0\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
79
|
+
return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020(this.\u83B7\u5F97\u63D2\u4EF6\u4EEC(), this.\u5B9E\u73B0, \u8BBE\u7F6E\u53C2\u6570);
|
|
80
|
+
}
|
|
81
|
+
async \u8FD0\u884C(req, res, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
|
|
82
|
+
let log = (await Global.getItem("log")).extend(\u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u63A5\u53E3\u903B\u8F91");
|
|
77
83
|
let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
78
84
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
|
|
79
85
|
let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
|
|
80
86
|
for (let \u63D2\u4EF6 of \u63D2\u4EF6\u4EEC) {
|
|
81
87
|
let \u63D2\u4EF6\u672C\u4F53 = await \u63D2\u4EF6.run();
|
|
82
|
-
let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
|
|
88
|
+
let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
|
|
83
89
|
\u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
|
|
84
90
|
}
|
|
85
91
|
let \u5408\u5E76\u63D2\u4EF6\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => Object.assign(s, a), {});
|
|
86
92
|
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
87
93
|
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
|
|
88
|
-
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
|
|
94
|
+
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, Object.assign(this.\u5185\u90E8\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570));
|
|
89
95
|
await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
90
96
|
return \u5B9E\u73B0\u7ED3\u679C;
|
|
91
97
|
}
|