@lsby/net-core 0.4.0-beta.9 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/gen-table-type/addition.cjs +62 -3
- package/dist/bin/gen-table-type/bin.cjs +67 -9
- package/dist/bin/gen-table-type/index.cjs +67 -9
- package/dist/cjs/bin/gen-table-type/addition.cjs +62 -3
- package/dist/cjs/bin/gen-table-type/bin.cjs +67 -9
- package/dist/cjs/bin/gen-table-type/index.cjs +67 -9
- package/dist/cjs/global/global.cjs +15 -6
- package/dist/cjs/global/ws.cjs +15 -6
- package/dist/cjs/global/ws.d.cts +7 -5
- package/dist/cjs/index.cjs +46 -18
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/interface-api/interface-logic.cjs +15 -6
- package/dist/cjs/interface-table/interface-table.cjs +12 -0
- package/dist/cjs/interface-table/interface-table.d.cts +47 -10
- package/dist/cjs/plugin/extend/custom-data.cjs +15 -6
- package/dist/cjs/plugin/extend/json.cjs +15 -6
- package/dist/cjs/plugin/extend/urlencoded.cjs +15 -6
- package/dist/cjs/plugin/extend/web-socket.cjs +28 -12
- package/dist/cjs/plugin/extend/web-socket.d.cts +2 -1
- package/dist/cjs/server/server.cjs +21 -12
- package/dist/esm/bin/gen-table-type/addition.js +1 -1
- package/dist/esm/bin/gen-table-type/bin.js +2 -2
- package/dist/esm/bin/gen-table-type/index.js +2 -2
- package/dist/esm/{chunk-DGDZQLIJ.js → chunk-6OUBMR67.js} +1 -1
- package/dist/esm/{chunk-LLLXAZBC.js → chunk-7BWGQYV4.js} +1 -1
- package/dist/esm/chunk-7SYNHJKU.js +31 -0
- package/dist/esm/chunk-GN24MVWF.js +23 -0
- package/dist/esm/{chunk-2G4PSYTL.js → chunk-GXEQYEJ4.js} +1 -1
- package/dist/esm/{chunk-VSMO652U.js → chunk-HSGHMDHC.js} +6 -7
- package/dist/esm/{chunk-7RPSQQZA.js → chunk-JVIKC22S.js} +7 -7
- package/dist/esm/{chunk-43ZE4ZNH.js → chunk-LM4VEBKS.js} +1 -1
- package/dist/esm/{chunk-XOR7HWL4.js → chunk-NDNOPR5R.js} +14 -7
- package/dist/esm/{chunk-JXGP4GSQ.js → chunk-TELFIRYE.js} +1 -1
- package/dist/esm/chunk-V3CNI7QV.js +99 -0
- package/dist/esm/global/global.js +2 -2
- package/dist/esm/global/ws.d.ts +7 -5
- package/dist/esm/global/ws.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +9 -9
- package/dist/esm/interface-api/interface-logic.js +3 -3
- package/dist/esm/interface-table/interface-table.d.ts +47 -10
- package/dist/esm/interface-table/interface-table.js +1 -1
- package/dist/esm/plugin/extend/custom-data.js +3 -3
- package/dist/esm/plugin/extend/json.js +3 -3
- package/dist/esm/plugin/extend/urlencoded.js +3 -3
- package/dist/esm/plugin/extend/web-socket.d.ts +2 -1
- package/dist/esm/plugin/extend/web-socket.js +3 -3
- package/dist/esm/server/server.js +3 -3
- package/package.json +2 -2
- package/dist/esm/chunk-63YFVECY.js +0 -11
- package/dist/esm/chunk-CPOABMEY.js +0 -40
- package/dist/esm/chunk-FIQSBTYJ.js +0 -22
package/dist/cjs/global/ws.cjs
CHANGED
|
@@ -27,17 +27,26 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
27
27
|
constructor(\u8FDE\u63A5\u8868) {
|
|
28
28
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
31
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
32
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
32
33
|
}
|
|
33
|
-
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(
|
|
34
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(
|
|
34
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
35
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
35
36
|
}
|
|
36
|
-
async \
|
|
37
|
-
|
|
37
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
38
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
39
|
+
return;
|
|
40
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
41
|
+
}
|
|
42
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
43
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
38
44
|
}
|
|
39
45
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
46
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
47
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
40
48
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
49
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
41
50
|
}
|
|
42
51
|
};
|
|
43
52
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/cjs/global/ws.d.cts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { WebSocket } from 'ws';
|
|
2
2
|
|
|
3
|
-
type
|
|
3
|
+
type id = string;
|
|
4
4
|
declare class WebSocket管理者 {
|
|
5
5
|
private 连接表;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
private 清理函数表;
|
|
7
|
+
constructor(连接表: Record<id, WebSocket | null>);
|
|
8
|
+
增加连接(id: id, ws句柄: WebSocket): Promise<void>;
|
|
9
|
+
查询连接存在(id: string): Promise<boolean>;
|
|
10
|
+
设置清理函数(id: string, 清理函数: () => Promise<void>): Promise<void>;
|
|
11
|
+
获得句柄(id: id): Promise<WebSocket | null>;
|
|
10
12
|
删除连接(id: string): Promise<void>;
|
|
11
13
|
}
|
|
12
14
|
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -225,17 +225,26 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
225
225
|
constructor(\u8FDE\u63A5\u8868) {
|
|
226
226
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
227
227
|
}
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
229
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
230
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
230
231
|
}
|
|
231
|
-
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(
|
|
232
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(
|
|
232
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
233
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
233
234
|
}
|
|
234
|
-
async \
|
|
235
|
-
|
|
235
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
236
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
237
|
+
return;
|
|
238
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
239
|
+
}
|
|
240
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
241
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
236
242
|
}
|
|
237
243
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
244
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
245
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
238
246
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
247
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
239
248
|
}
|
|
240
249
|
};
|
|
241
250
|
|
|
@@ -337,6 +346,18 @@ var \u865A\u62DF\u8868 = class {
|
|
|
337
346
|
this.\u6784\u9020\u53C2\u6570 = \u6784\u9020\u53C2\u6570;
|
|
338
347
|
}
|
|
339
348
|
static \u8D44\u6E90\u8DEF\u5F84;
|
|
349
|
+
\u8C03\u7528\u589E(body) {
|
|
350
|
+
return this.\u589E(body.value);
|
|
351
|
+
}
|
|
352
|
+
\u8C03\u7528\u5220(body) {
|
|
353
|
+
return this.\u5220(body.where);
|
|
354
|
+
}
|
|
355
|
+
\u8C03\u7528\u6539(body) {
|
|
356
|
+
return this.\u6539(body.value, body.where);
|
|
357
|
+
}
|
|
358
|
+
\u8C03\u7528\u67E5(body) {
|
|
359
|
+
return this.\u67E5(body.where, body.page, body.sort);
|
|
360
|
+
}
|
|
340
361
|
};
|
|
341
362
|
|
|
342
363
|
// src/plugin/extend/chinese-path.ts
|
|
@@ -464,7 +485,8 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
464
485
|
import_zod2.z.object({
|
|
465
486
|
ws\u64CD\u4F5C: import_zod2.z.object({
|
|
466
487
|
\u53D1\u9001ws\u4FE1\u606F: import_zod2.z.function(import_zod2.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod2.z.promise(import_zod2.z.void())),
|
|
467
|
-
\u5173\u95EDws\u8FDE\u63A5: import_zod2.z.function(import_zod2.z.tuple([]), import_zod2.z.promise(import_zod2.z.void()))
|
|
488
|
+
\u5173\u95EDws\u8FDE\u63A5: import_zod2.z.function(import_zod2.z.tuple([]), import_zod2.z.promise(import_zod2.z.void())),
|
|
489
|
+
\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570: import_zod2.z.function(import_zod2.z.tuple([import_zod2.z.function(import_zod2.z.tuple([]), import_zod2.z.promise(import_zod2.z.void()))]), import_zod2.z.promise(import_zod2.z.void()))
|
|
468
490
|
}).or(import_zod2.z.null())
|
|
469
491
|
}),
|
|
470
492
|
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
@@ -473,10 +495,13 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
473
495
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
474
496
|
let ws\u53E5\u67C4 = null;
|
|
475
497
|
await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
476
|
-
if (typeof wsId
|
|
477
|
-
await log.
|
|
478
|
-
ws\
|
|
498
|
+
if (typeof wsId !== "string") {
|
|
499
|
+
await log.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket Id");
|
|
500
|
+
return { ws\u64CD\u4F5C: null };
|
|
479
501
|
}
|
|
502
|
+
let \u5B58\u5728\u7684wsId = wsId;
|
|
503
|
+
await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4");
|
|
504
|
+
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(\u5B58\u5728\u7684wsId);
|
|
480
505
|
if (ws\u53E5\u67C4 === null) {
|
|
481
506
|
await log.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
482
507
|
return { ws\u64CD\u4F5C: null };
|
|
@@ -486,11 +511,11 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
486
511
|
return {
|
|
487
512
|
ws\u64CD\u4F5C: {
|
|
488
513
|
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
489
|
-
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F",
|
|
514
|
+
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F: %O", \u4FE1\u606F);
|
|
490
515
|
return new Promise((res, rej) => {
|
|
491
516
|
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
492
517
|
if ((err ?? null) !== null) {
|
|
493
|
-
log.error("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25",
|
|
518
|
+
log.error("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25: %O", err).catch(console.error);
|
|
494
519
|
return rej(err);
|
|
495
520
|
}
|
|
496
521
|
log.debug("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F").catch(console.error);
|
|
@@ -501,6 +526,9 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
501
526
|
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
502
527
|
await log.debug("\u5173\u95ED WebSocket \u8FDE\u63A5");
|
|
503
528
|
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
529
|
+
},
|
|
530
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(\u6E05\u7406\u51FD\u6570) {
|
|
531
|
+
await WebSocket\u7BA1\u7406\u80052.\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(\u5B58\u5728\u7684wsId, \u6E05\u7406\u51FD\u6570);
|
|
504
532
|
}
|
|
505
533
|
}
|
|
506
534
|
};
|
|
@@ -610,22 +638,22 @@ var \u670D\u52A1\u5668 = class {
|
|
|
610
638
|
switch (\u865A\u62DF\u8868\u64CD\u4F5C) {
|
|
611
639
|
case "add": {
|
|
612
640
|
await log.debug("\u8C03\u7528\u903B\u8F91: \u589E");
|
|
613
|
-
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u589E(req.body
|
|
641
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u8C03\u7528\u589E(req.body);
|
|
614
642
|
break;
|
|
615
643
|
}
|
|
616
644
|
case "del": {
|
|
617
645
|
await log.debug("\u8C03\u7528\u903B\u8F91: \u5220");
|
|
618
|
-
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u5220(req.body
|
|
646
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u8C03\u7528\u5220(req.body);
|
|
619
647
|
break;
|
|
620
648
|
}
|
|
621
649
|
case "set": {
|
|
622
650
|
await log.debug("\u8C03\u7528\u903B\u8F91: \u6539");
|
|
623
|
-
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u6539(req.body
|
|
651
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u8C03\u7528\u6539(req.body);
|
|
624
652
|
break;
|
|
625
653
|
}
|
|
626
654
|
case "get": {
|
|
627
655
|
await log.debug("\u8C03\u7528\u903B\u8F91: \u67E5");
|
|
628
|
-
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u67E5(req.body
|
|
656
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u8C03\u7528\u67E5(req.body);
|
|
629
657
|
break;
|
|
630
658
|
}
|
|
631
659
|
default: {
|
|
@@ -661,8 +689,8 @@ var \u670D\u52A1\u5668 = class {
|
|
|
661
689
|
}
|
|
662
690
|
await log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
663
691
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
664
|
-
let \
|
|
665
|
-
if (\
|
|
692
|
+
let \u8FDE\u63A5\u5DF2\u5B58\u5728 = await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
693
|
+
if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
|
|
666
694
|
await log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
667
695
|
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
668
696
|
}
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -3,7 +3,7 @@ export { 任意接口, 接口, 接口方法类型, 接口路径类型, 获得接
|
|
|
3
3
|
export { 任意接口逻辑, 可调用接口逻辑, 接口逻辑, 接口逻辑正确类型, 接口逻辑错误类型, 接口逻辑附加参数类型, 获得接口逻辑插件类型, 获得接口逻辑正确类型, 获得接口逻辑错误类型, 获得接口逻辑附加参数类型 } from './interface-api/interface-logic.cjs';
|
|
4
4
|
export { 任意接口结果转换器, 常用形式转换器, 接口结果转换器 } from './interface-api/interface-result.cjs';
|
|
5
5
|
export { 接口测试 } from './interface-api/interface-test.cjs';
|
|
6
|
-
export { 任意虚拟表, 分页选项, 排序选项, 是any, 条件, 条件组, 翻译列描述,
|
|
6
|
+
export { 任意虚拟表, 分页选项, 排序选项, 是any, 未定义对象转可选对象, 条件, 条件组, 翻译修改值列描述, 翻译列描述, 翻译插入列描述, 翻译查询列描述, 翻译自定义类型, 虚拟表 } from './interface-table/interface-table.cjs';
|
|
7
7
|
export { 中文路径支持插件 } from './plugin/extend/chinese-path.cjs';
|
|
8
8
|
export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
|
|
9
9
|
export { JSON解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.cjs';
|
|
@@ -33,17 +33,26 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
33
33
|
constructor(\u8FDE\u63A5\u8868) {
|
|
34
34
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
37
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
38
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
38
39
|
}
|
|
39
|
-
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(
|
|
40
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(
|
|
40
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
41
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
41
42
|
}
|
|
42
|
-
async \
|
|
43
|
-
|
|
43
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
44
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
45
|
+
return;
|
|
46
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
47
|
+
}
|
|
48
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
49
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
44
50
|
}
|
|
45
51
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
52
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
53
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
46
54
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
55
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
47
56
|
}
|
|
48
57
|
};
|
|
49
58
|
|
|
@@ -28,6 +28,18 @@ var \u865A\u62DF\u8868 = class {
|
|
|
28
28
|
this.\u6784\u9020\u53C2\u6570 = \u6784\u9020\u53C2\u6570;
|
|
29
29
|
}
|
|
30
30
|
static \u8D44\u6E90\u8DEF\u5F84;
|
|
31
|
+
\u8C03\u7528\u589E(body) {
|
|
32
|
+
return this.\u589E(body.value);
|
|
33
|
+
}
|
|
34
|
+
\u8C03\u7528\u5220(body) {
|
|
35
|
+
return this.\u5220(body.where);
|
|
36
|
+
}
|
|
37
|
+
\u8C03\u7528\u6539(body) {
|
|
38
|
+
return this.\u6539(body.value, body.where);
|
|
39
|
+
}
|
|
40
|
+
\u8C03\u7528\u67E5(body) {
|
|
41
|
+
return this.\u67E5(body.where, body.page, body.sort);
|
|
42
|
+
}
|
|
31
43
|
};
|
|
32
44
|
// Annotate the CommonJS export names for ESM import in node:
|
|
33
45
|
0 && (module.exports = {
|
|
@@ -47,11 +47,29 @@ type 排序选项<列名称们> = {
|
|
|
47
47
|
};
|
|
48
48
|
type 翻译自定义类型<A> = A extends '字符串' ? string : A extends '数字' ? number : A extends '布尔' ? boolean : never;
|
|
49
49
|
type 翻译列描述<对象> = 是any<对象> extends true ? any : {
|
|
50
|
-
[key in keyof 对象]: 翻译自定义类型<对象[key]
|
|
50
|
+
[key in keyof 对象]: '类型' extends keyof 对象[key] ? 翻译自定义类型<对象[key]['类型']> : never;
|
|
51
51
|
};
|
|
52
|
-
type
|
|
53
|
-
[key in keyof 对象]: 翻译自定义类型<对象[key]> |
|
|
52
|
+
type 翻译查询列描述<对象> = 是any<对象> extends true ? any : {
|
|
53
|
+
[key in keyof 对象]: '类型' extends keyof 对象[key] ? '可空' extends keyof 对象[key] ? 对象[key]['可空'] extends 'false' ? 翻译自定义类型<对象[key]['类型']> : 翻译自定义类型<对象[key]['类型']> | null : never : never;
|
|
54
54
|
};
|
|
55
|
+
type 翻译插入列描述<对象> = 是any<对象> extends true ? any : 归约数组对象<联合转元组<未定义对象转可选对象<{
|
|
56
|
+
[key in keyof 对象]: '类型' extends keyof 对象[key] ? '可选' extends keyof 对象[key] ? 对象[key]['可选'] extends 'false' ? 翻译自定义类型<对象[key]['类型']> : 翻译自定义类型<对象[key]['类型']> | undefined : never : never;
|
|
57
|
+
}>>>;
|
|
58
|
+
type 翻译修改值列描述<对象> = 是any<对象> extends true ? any : 归约数组对象<联合转元组<未定义对象转可选对象<{
|
|
59
|
+
[key in keyof 对象]: '类型' extends keyof 对象[key] ? '可空' extends keyof 对象[key] ? 对象[key]['可空'] extends 'false' ? 翻译自定义类型<对象[key]['类型']> : 翻译自定义类型<对象[key]['类型']> | null : never : never;
|
|
60
|
+
}>>>;
|
|
61
|
+
type 未定义对象转可选对象<X> = {
|
|
62
|
+
[key in keyof X]: undefined extends X[key] ? {
|
|
63
|
+
[k in key]?: X[key];
|
|
64
|
+
} : {
|
|
65
|
+
[k in key]: X[key];
|
|
66
|
+
};
|
|
67
|
+
}[keyof X];
|
|
68
|
+
type 归约数组对象<Arr> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x & 归约数组对象<xs> : never;
|
|
69
|
+
type 联合转换成函数<X> = X extends any ? (a: (x: any) => X) => any : never;
|
|
70
|
+
type 函数转换成与<X> = (X extends any ? X : never) extends (a: infer A) => any ? A : never;
|
|
71
|
+
type 取最后一个<X> = 函数转换成与<联合转换成函数<X>> extends (x: any) => infer A ? A : never;
|
|
72
|
+
type 联合转元组<X> = [X] extends [never] ? [] : 取最后一个<X> extends infer Last ? [...联合转元组<Exclude<X, Last>>, Last] : never;
|
|
55
73
|
/**
|
|
56
74
|
* # 虚拟表
|
|
57
75
|
*
|
|
@@ -82,16 +100,35 @@ type 翻译列描述带空<对象> = 是any<对象> extends true ? any : {
|
|
|
82
100
|
*
|
|
83
101
|
* 这样, 我们就将原来一个一个离散的过程式接口, 改成了对象式的虚拟表.
|
|
84
102
|
*/
|
|
85
|
-
declare abstract class 虚拟表<构造参数类型 extends z.AnyZodObject,
|
|
103
|
+
declare abstract class 虚拟表<构造参数类型 extends z.AnyZodObject, 列形状 extends z.ZodObject<Record<string, z.ZodObject<{
|
|
104
|
+
类型: z.ZodLiteral<'字符串'> | z.ZodLiteral<'数字'> | z.ZodLiteral<'布尔'>;
|
|
105
|
+
可选: z.ZodLiteral<'true'> | z.ZodLiteral<'false'>;
|
|
106
|
+
可空: z.ZodLiteral<'true'> | z.ZodLiteral<'false'>;
|
|
107
|
+
}>>>, 增错误 extends z.ZodEnum<[string, ...string[]]> | z.ZodNever, 删错误 extends z.ZodEnum<[string, ...string[]]> | z.ZodNever, 改错误 extends z.ZodEnum<[string, ...string[]]> | z.ZodNever, 查错误 extends z.ZodEnum<[string, ...string[]]> | z.ZodNever> {
|
|
86
108
|
protected 构造参数: z.infer<构造参数类型>;
|
|
87
109
|
static 资源路径: string;
|
|
88
|
-
protected readonly __类型保持符号?: [构造参数类型,
|
|
110
|
+
protected readonly __类型保持符号?: [构造参数类型, 列形状, 增错误, 删错误, 改错误, 查错误];
|
|
89
111
|
constructor(构造参数: z.infer<构造参数类型>);
|
|
90
|
-
abstract 增(数据们:
|
|
91
|
-
abstract 删(筛选条件: 条件组<翻译列描述<z.infer
|
|
92
|
-
abstract 改(新值: Partial<z.infer
|
|
93
|
-
abstract 查(筛选条件?: 条件组<翻译列描述<z.infer
|
|
112
|
+
abstract 增(数据们: 翻译插入列描述<z.infer<列形状>>[]): Promise<____<_____[], {}, z.infer<增错误>, {}>>;
|
|
113
|
+
abstract 删(筛选条件: 条件组<翻译列描述<z.infer<列形状>>>): Promise<____<_____[], {}, z.infer<删错误>, {}>>;
|
|
114
|
+
abstract 改(新值: Partial<z.infer<列形状>>, 筛选条件: 条件组<翻译列描述<z.infer<列形状>>>): Promise<____<_____[], {}, z.infer<改错误>, {}>>;
|
|
115
|
+
abstract 查(筛选条件?: 条件组<翻译列描述<z.infer<列形状>>>, 分页条件?: 分页选项, 排序条件?: 排序选项<keyof z.infer<列形状>>): Promise<____<_____[], {}, z.infer<查错误>, 翻译查询列描述<z.infer<列形状>>[]>>;
|
|
116
|
+
调用增(body: {
|
|
117
|
+
value: 翻译插入列描述<z.infer<列形状>>[];
|
|
118
|
+
}): Promise<____<_____[], {}, z.infer<增错误>, {}>>;
|
|
119
|
+
调用删(body: {
|
|
120
|
+
where: 条件组<翻译列描述<z.infer<列形状>>>;
|
|
121
|
+
}): Promise<____<_____[], {}, z.infer<删错误>, {}>>;
|
|
122
|
+
调用改(body: {
|
|
123
|
+
value: Partial<z.infer<列形状>>;
|
|
124
|
+
where: 条件组<翻译列描述<z.infer<列形状>>>;
|
|
125
|
+
}): Promise<____<_____[], {}, z.infer<改错误>, {}>>;
|
|
126
|
+
调用查(body: {
|
|
127
|
+
where?: 条件组<翻译列描述<z.infer<列形状>>>;
|
|
128
|
+
page?: 分页选项;
|
|
129
|
+
sort?: 排序选项<keyof z.infer<列形状>>;
|
|
130
|
+
}): Promise<____<_____[], {}, z.infer<查错误>, 翻译查询列描述<z.infer<列形状>>[]>>;
|
|
94
131
|
}
|
|
95
132
|
type 任意虚拟表 = 虚拟表<any, any, any, any, any, any>;
|
|
96
133
|
|
|
97
|
-
export { type 任意虚拟表, type 分页选项, type 排序选项, type 是any, type 条件, type 条件组, type 翻译列描述, type
|
|
134
|
+
export { type 任意虚拟表, type 分页选项, type 排序选项, type 是any, type 未定义对象转可选对象, type 条件, type 条件组, type 翻译修改值列描述, type 翻译列描述, type 翻译插入列描述, type 翻译查询列描述, type 翻译自定义类型, 虚拟表 };
|
|
@@ -33,17 +33,26 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
33
33
|
constructor(\u8FDE\u63A5\u8868) {
|
|
34
34
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
37
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
38
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
38
39
|
}
|
|
39
|
-
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(
|
|
40
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(
|
|
40
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
41
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
41
42
|
}
|
|
42
|
-
async \
|
|
43
|
-
|
|
43
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
44
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
45
|
+
return;
|
|
46
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
47
|
+
}
|
|
48
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
49
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
44
50
|
}
|
|
45
51
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
52
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
53
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
46
54
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
55
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
47
56
|
}
|
|
48
57
|
};
|
|
49
58
|
|
|
@@ -45,17 +45,26 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
45
45
|
constructor(\u8FDE\u63A5\u8868) {
|
|
46
46
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
49
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
50
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
50
51
|
}
|
|
51
|
-
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(
|
|
52
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(
|
|
52
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
53
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
53
54
|
}
|
|
54
|
-
async \
|
|
55
|
-
|
|
55
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
56
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
57
|
+
return;
|
|
58
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
59
|
+
}
|
|
60
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
61
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
56
62
|
}
|
|
57
63
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
64
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
65
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
58
66
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
67
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
59
68
|
}
|
|
60
69
|
};
|
|
61
70
|
|
|
@@ -45,17 +45,26 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
45
45
|
constructor(\u8FDE\u63A5\u8868) {
|
|
46
46
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
49
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
50
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
50
51
|
}
|
|
51
|
-
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(
|
|
52
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(
|
|
52
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
53
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
53
54
|
}
|
|
54
|
-
async \
|
|
55
|
-
|
|
55
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
56
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
57
|
+
return;
|
|
58
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
59
|
+
}
|
|
60
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
61
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
56
62
|
}
|
|
57
63
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
64
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
65
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
58
66
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
67
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
59
68
|
}
|
|
60
69
|
};
|
|
61
70
|
|
|
@@ -34,17 +34,26 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
34
34
|
constructor(\u8FDE\u63A5\u8868) {
|
|
35
35
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
38
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
39
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
39
40
|
}
|
|
40
|
-
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(
|
|
41
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(
|
|
41
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
42
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
42
43
|
}
|
|
43
|
-
async \
|
|
44
|
-
|
|
44
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
45
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
46
|
+
return;
|
|
47
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
48
|
+
}
|
|
49
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
50
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
45
51
|
}
|
|
46
52
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
53
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
54
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
47
55
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
56
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
48
57
|
}
|
|
49
58
|
};
|
|
50
59
|
|
|
@@ -80,7 +89,8 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
80
89
|
import_zod.z.object({
|
|
81
90
|
ws\u64CD\u4F5C: import_zod.z.object({
|
|
82
91
|
\u53D1\u9001ws\u4FE1\u606F: import_zod.z.function(import_zod.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod.z.promise(import_zod.z.void())),
|
|
83
|
-
\u5173\u95EDws\u8FDE\u63A5: import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void()))
|
|
92
|
+
\u5173\u95EDws\u8FDE\u63A5: import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void())),
|
|
93
|
+
\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570: import_zod.z.function(import_zod.z.tuple([import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void()))]), import_zod.z.promise(import_zod.z.void()))
|
|
84
94
|
}).or(import_zod.z.null())
|
|
85
95
|
}),
|
|
86
96
|
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
@@ -89,10 +99,13 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
89
99
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
90
100
|
let ws\u53E5\u67C4 = null;
|
|
91
101
|
await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
92
|
-
if (typeof wsId
|
|
93
|
-
await log.
|
|
94
|
-
ws\
|
|
102
|
+
if (typeof wsId !== "string") {
|
|
103
|
+
await log.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket Id");
|
|
104
|
+
return { ws\u64CD\u4F5C: null };
|
|
95
105
|
}
|
|
106
|
+
let \u5B58\u5728\u7684wsId = wsId;
|
|
107
|
+
await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4");
|
|
108
|
+
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(\u5B58\u5728\u7684wsId);
|
|
96
109
|
if (ws\u53E5\u67C4 === null) {
|
|
97
110
|
await log.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
98
111
|
return { ws\u64CD\u4F5C: null };
|
|
@@ -102,11 +115,11 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
102
115
|
return {
|
|
103
116
|
ws\u64CD\u4F5C: {
|
|
104
117
|
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
105
|
-
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F",
|
|
118
|
+
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F: %O", \u4FE1\u606F);
|
|
106
119
|
return new Promise((res, rej) => {
|
|
107
120
|
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
108
121
|
if ((err ?? null) !== null) {
|
|
109
|
-
log.error("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25",
|
|
122
|
+
log.error("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25: %O", err).catch(console.error);
|
|
110
123
|
return rej(err);
|
|
111
124
|
}
|
|
112
125
|
log.debug("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F").catch(console.error);
|
|
@@ -117,6 +130,9 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
117
130
|
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
118
131
|
await log.debug("\u5173\u95ED WebSocket \u8FDE\u63A5");
|
|
119
132
|
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
133
|
+
},
|
|
134
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(\u6E05\u7406\u51FD\u6570) {
|
|
135
|
+
await WebSocket\u7BA1\u7406\u80052.\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(\u5B58\u5728\u7684wsId, \u6E05\u7406\u51FD\u6570);
|
|
120
136
|
}
|
|
121
137
|
}
|
|
122
138
|
};
|
|
@@ -3,11 +3,12 @@ import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取
|
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
5
|
|
|
6
|
-
declare class WebSocket插件<信息 extends z.AnyZodObject
|
|
6
|
+
declare class WebSocket插件<信息 extends z.AnyZodObject | z.ZodUnion<any>> extends __<z.ZodObject<{
|
|
7
7
|
ws操作: z.ZodUnion<[
|
|
8
8
|
z.ZodObject<{
|
|
9
9
|
发送ws信息: z.ZodFunction<z.ZodTuple<[信息], null>, z.ZodPromise<z.ZodVoid>>;
|
|
10
10
|
关闭ws连接: z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>;
|
|
11
|
+
设置清理函数: z.ZodFunction<z.ZodTuple<[z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>], null>, z.ZodPromise<z.ZodVoid>>;
|
|
11
12
|
}>,
|
|
12
13
|
z.ZodNull
|
|
13
14
|
]>;
|
|
@@ -47,17 +47,26 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
47
47
|
constructor(\u8FDE\u63A5\u8868) {
|
|
48
48
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
51
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
52
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
52
53
|
}
|
|
53
|
-
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(
|
|
54
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(
|
|
54
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
55
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
55
56
|
}
|
|
56
|
-
async \
|
|
57
|
-
|
|
57
|
+
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
58
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
59
|
+
return;
|
|
60
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
61
|
+
}
|
|
62
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
63
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
58
64
|
}
|
|
59
65
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
66
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
67
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
60
68
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
69
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
61
70
|
}
|
|
62
71
|
};
|
|
63
72
|
|
|
@@ -210,22 +219,22 @@ var \u670D\u52A1\u5668 = class {
|
|
|
210
219
|
switch (\u865A\u62DF\u8868\u64CD\u4F5C) {
|
|
211
220
|
case "add": {
|
|
212
221
|
await log.debug("\u8C03\u7528\u903B\u8F91: \u589E");
|
|
213
|
-
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u589E(req.body
|
|
222
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u8C03\u7528\u589E(req.body);
|
|
214
223
|
break;
|
|
215
224
|
}
|
|
216
225
|
case "del": {
|
|
217
226
|
await log.debug("\u8C03\u7528\u903B\u8F91: \u5220");
|
|
218
|
-
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u5220(req.body
|
|
227
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u8C03\u7528\u5220(req.body);
|
|
219
228
|
break;
|
|
220
229
|
}
|
|
221
230
|
case "set": {
|
|
222
231
|
await log.debug("\u8C03\u7528\u903B\u8F91: \u6539");
|
|
223
|
-
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u6539(req.body
|
|
232
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u8C03\u7528\u6539(req.body);
|
|
224
233
|
break;
|
|
225
234
|
}
|
|
226
235
|
case "get": {
|
|
227
236
|
await log.debug("\u8C03\u7528\u903B\u8F91: \u67E5");
|
|
228
|
-
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u67E5(req.body
|
|
237
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u8C03\u7528\u67E5(req.body);
|
|
229
238
|
break;
|
|
230
239
|
}
|
|
231
240
|
default: {
|
|
@@ -261,8 +270,8 @@ var \u670D\u52A1\u5668 = class {
|
|
|
261
270
|
}
|
|
262
271
|
await log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
263
272
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
264
|
-
let \
|
|
265
|
-
if (\
|
|
273
|
+
let \u8FDE\u63A5\u5DF2\u5B58\u5728 = await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
274
|
+
if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
|
|
266
275
|
await log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
267
276
|
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
268
277
|
}
|