@lsby/net-core 0.3.36 → 0.3.38
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-type/addition.cjs +14 -0
- package/dist/bin/gen-type/bin.cjs +51 -8
- package/dist/bin/gen-type/index.cjs +51 -8
- package/dist/cjs/bin/gen-type/addition.cjs +14 -0
- package/dist/cjs/bin/gen-type/bin.cjs +51 -8
- package/dist/cjs/bin/gen-type/index.cjs +51 -8
- package/dist/cjs/global/global.cjs +24 -0
- package/dist/cjs/global/global.d.cts +3 -1
- package/dist/cjs/global/ws.cjs +46 -0
- package/dist/cjs/global/ws.d.cts +13 -0
- package/dist/cjs/index.cjs +121 -19
- package/dist/cjs/index.d.cts +2 -1
- package/dist/cjs/interface/extend/json-base.cjs +49 -2
- package/dist/cjs/interface/extend/json-wrap.cjs +49 -2
- package/dist/cjs/plugin/extend/json.cjs +49 -2
- package/dist/cjs/plugin/extend/web-socket.cjs +111 -0
- package/dist/cjs/plugin/extend/web-socket.d.cts +22 -0
- package/dist/cjs/plugin/plug.d.cts +2 -1
- package/dist/cjs/result/result.cjs +49 -2
- package/dist/cjs/server/server.cjs +57 -15
- package/dist/cjs/tools/tools.cjs +52 -0
- package/dist/cjs/tools/tools.d.cts +4 -0
- package/dist/esm/bin/gen-type/addition.js +1 -1
- package/dist/esm/bin/gen-type/bin.js +2 -2
- package/dist/esm/bin/gen-type/index.js +2 -2
- package/dist/esm/{chunk-7RH7Z7VC.js → chunk-3DVNMDUP.js} +38 -9
- package/dist/esm/{chunk-AMBUPXY3.js → chunk-54IJ3ZGJ.js} +8 -5
- package/dist/esm/chunk-AUPZZGG7.js +45 -0
- package/dist/esm/{chunk-AHCV3LQ7.js → chunk-BC6IISWS.js} +7 -0
- package/dist/esm/{chunk-XM66T73O.js → chunk-BEJF4KW3.js} +34 -16
- package/dist/esm/chunk-EAVNASDB.js +22 -0
- package/dist/esm/chunk-ES4NZ4EM.js +27 -0
- package/dist/esm/{chunk-PVTF4VYK.js → chunk-HOFWZLG5.js} +1 -1
- package/dist/esm/{chunk-B55VVACL.js → chunk-KNZTLDS7.js} +1 -1
- package/dist/esm/{chunk-OMGVOLYE.js → chunk-KRQ6KUVY.js} +14 -0
- package/dist/esm/{chunk-IPDMEQ3O.js → chunk-PKE7OYIU.js} +6 -3
- package/dist/esm/global/global.d.ts +3 -1
- package/dist/esm/global/global.js +2 -1
- package/dist/esm/global/ws.d.ts +13 -0
- package/dist/esm/global/ws.js +6 -0
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +15 -9
- package/dist/esm/interface/extend/json-base.js +5 -3
- package/dist/esm/interface/extend/json-wrap.js +5 -3
- package/dist/esm/plugin/extend/json.js +4 -2
- package/dist/esm/plugin/extend/web-socket.d.ts +22 -0
- package/dist/esm/plugin/extend/web-socket.js +9 -0
- package/dist/esm/plugin/plug.d.ts +2 -1
- package/dist/esm/result/result.js +4 -2
- package/dist/esm/server/server.js +3 -2
- package/dist/esm/tools/tools.d.ts +4 -0
- package/dist/esm/tools/tools.js +8 -0
- package/package.json +3 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -34,6 +34,7 @@ __export(src_exports, {
|
|
|
34
34
|
JSON\u72B6\u6001\u63A5\u53E3: () => JSON\u72B6\u6001\u63A5\u53E3,
|
|
35
35
|
JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B: () => JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B,
|
|
36
36
|
JSON\u89E3\u6790\u63D2\u4EF6: () => JSON\u89E3\u6790\u63D2\u4EF6,
|
|
37
|
+
WebSocket\u63D2\u4EF6: () => WebSocket\u63D2\u4EF6,
|
|
37
38
|
\u4E1A\u52A1\u884C\u4E3A: () => \u4E1A\u52A1\u884C\u4E3A,
|
|
38
39
|
\u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6: () => \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6,
|
|
39
40
|
\u63A5\u53E3: () => \u63A5\u53E3,
|
|
@@ -192,12 +193,59 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
192
193
|
// src/global/global.ts
|
|
193
194
|
var import_ts_global = require("@lsby/ts-global");
|
|
194
195
|
var import_ts_log = require("@lsby/ts-log");
|
|
196
|
+
|
|
197
|
+
// src/global/ws.ts
|
|
198
|
+
var WebSocket\u7BA1\u7406\u8005 = class {
|
|
199
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
200
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
201
|
+
}
|
|
202
|
+
async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
|
|
203
|
+
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
204
|
+
}
|
|
205
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
206
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
|
|
207
|
+
}
|
|
208
|
+
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
209
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
|
|
210
|
+
}
|
|
211
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
212
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
// src/global/global.ts
|
|
195
217
|
var Global = new import_ts_global.GlobalService([
|
|
196
218
|
new import_ts_global.GlobalAsyncItem("log", async () => {
|
|
197
219
|
return new import_ts_log.Log("@lsby:net-core");
|
|
220
|
+
}),
|
|
221
|
+
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u8005", async () => {
|
|
222
|
+
return new WebSocket\u7BA1\u7406\u8005({});
|
|
198
223
|
})
|
|
199
224
|
]);
|
|
200
225
|
|
|
226
|
+
// src/tools/tools.ts
|
|
227
|
+
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
228
|
+
var \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
229
|
+
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
230
|
+
return \u5185\u5BB9.slice(0, \u6700\u5927\u65E5\u5FD7\u957F\u5EA6) + "...";
|
|
231
|
+
return \u5185\u5BB9;
|
|
232
|
+
}
|
|
233
|
+
function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
234
|
+
if (typeof \u6570\u636E === "string")
|
|
235
|
+
return \u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E);
|
|
236
|
+
if (Array.isArray(\u6570\u636E))
|
|
237
|
+
return \u6570\u636E.map((\u9879) => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u9879));
|
|
238
|
+
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
239
|
+
const \u65B0\u6570\u636E = {};
|
|
240
|
+
for (const key in \u6570\u636E) {
|
|
241
|
+
if (\u6570\u636E.hasOwnProperty(key))
|
|
242
|
+
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
243
|
+
}
|
|
244
|
+
return \u65B0\u6570\u636E;
|
|
245
|
+
}
|
|
246
|
+
return \u6570\u636E;
|
|
247
|
+
}
|
|
248
|
+
|
|
201
249
|
// src/result/result.ts
|
|
202
250
|
var \u7ED3\u679C = class {
|
|
203
251
|
};
|
|
@@ -212,7 +260,7 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
212
260
|
log = Global.getItem("log");
|
|
213
261
|
async run(req, res) {
|
|
214
262
|
var log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
215
|
-
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", this.data);
|
|
263
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
216
264
|
res.send(this.data);
|
|
217
265
|
}
|
|
218
266
|
};
|
|
@@ -236,7 +284,7 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
236
284
|
log = Global.getItem("log");
|
|
237
285
|
async run(req, res) {
|
|
238
286
|
var log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
239
|
-
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", this.data);
|
|
287
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
240
288
|
res.send(this.data);
|
|
241
289
|
}
|
|
242
290
|
};
|
|
@@ -386,13 +434,13 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
386
434
|
pRes(null);
|
|
387
435
|
})
|
|
388
436
|
);
|
|
389
|
-
await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", req.body);
|
|
437
|
+
await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.body));
|
|
390
438
|
const parseResult = t.safeParse(req.body);
|
|
391
439
|
if (!parseResult.success) {
|
|
392
440
|
await log.err("\u89E3\u6790 JSON \u5931\u8D25\uFF1A%o", parseResult.error);
|
|
393
441
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %O", parseResult.error));
|
|
394
442
|
}
|
|
395
|
-
await log.debug("\u6210\u529F\u89E3\u6790 JSON
|
|
443
|
+
await log.debug("\u6210\u529F\u89E3\u6790 JSON");
|
|
396
444
|
return parseResult.data;
|
|
397
445
|
});
|
|
398
446
|
}
|
|
@@ -417,10 +465,46 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
417
465
|
}
|
|
418
466
|
};
|
|
419
467
|
|
|
468
|
+
// src/plugin/extend/web-socket.ts
|
|
469
|
+
var import_zod3 = require("zod");
|
|
470
|
+
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
471
|
+
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
472
|
+
super(
|
|
473
|
+
import_zod3.z.object({
|
|
474
|
+
ws\u64CD\u4F5C: import_zod3.z.object({
|
|
475
|
+
\u53D1\u9001ws\u4FE1\u606F: import_zod3.z.function(import_zod3.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod3.z.promise(import_zod3.z.void())),
|
|
476
|
+
\u5173\u95EDws\u8FDE\u63A5: import_zod3.z.function(import_zod3.z.tuple([]), import_zod3.z.promise(import_zod3.z.void()))
|
|
477
|
+
}).or(import_zod3.z.undefined())
|
|
478
|
+
}),
|
|
479
|
+
async (req, _res) => {
|
|
480
|
+
var wsId = req.headers["ws-client-id"];
|
|
481
|
+
var WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
482
|
+
var ws\u53E5\u67C4 = null;
|
|
483
|
+
if (typeof wsId == "string")
|
|
484
|
+
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
485
|
+
if (!ws\u53E5\u67C4)
|
|
486
|
+
return { ws\u64CD\u4F5C: void 0 };
|
|
487
|
+
var \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
|
|
488
|
+
return {
|
|
489
|
+
ws\u64CD\u4F5C: {
|
|
490
|
+
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
491
|
+
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F));
|
|
492
|
+
},
|
|
493
|
+
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
494
|
+
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
);
|
|
500
|
+
}
|
|
501
|
+
};
|
|
502
|
+
|
|
420
503
|
// src/server/server.ts
|
|
421
504
|
var import_node_os = require("os");
|
|
422
505
|
var import_express3 = __toESM(require("express"), 1);
|
|
423
506
|
var import_short_uuid = __toESM(require("short-uuid"), 1);
|
|
507
|
+
var import_ws2 = require("ws");
|
|
424
508
|
var \u670D\u52A1\u5668 = class {
|
|
425
509
|
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
426
510
|
this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
|
|
@@ -429,27 +513,27 @@ var \u670D\u52A1\u5668 = class {
|
|
|
429
513
|
}
|
|
430
514
|
log = Global.getItem("log");
|
|
431
515
|
async run() {
|
|
432
|
-
|
|
516
|
+
var app = (0, import_express3.default)();
|
|
433
517
|
app.use(async (req, res) => {
|
|
434
518
|
var log = (await this.log).extend("\u8BF7\u6C42").extend((0, import_short_uuid.default)().new());
|
|
435
519
|
try {
|
|
436
|
-
|
|
437
|
-
|
|
520
|
+
var \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
521
|
+
var \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
438
522
|
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
439
523
|
await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
return \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u7C7B\
|
|
524
|
+
var \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E32) => {
|
|
525
|
+
var \u63A5\u53E3\u7C7B\u578B3 = \u63A5\u53E32.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
|
|
526
|
+
return \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u7C7B\u578B3.\u83B7\u5F97\u8DEF\u5F84() && \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u7C7B\u578B3.\u83B7\u5F97\u65B9\u6CD5();
|
|
443
527
|
});
|
|
444
528
|
if (\u76EE\u6807\u63A5\u53E3 != null) {
|
|
445
529
|
await log.debug("\u547D\u4E2D\u63A5\u53E3");
|
|
446
|
-
|
|
447
|
-
|
|
530
|
+
var \u63A5\u53E3\u7C7B\u578B2 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
|
|
531
|
+
var \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B2.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
448
532
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
|
|
449
|
-
|
|
533
|
+
var \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF62) => await (await \u63D2\u4EF62.run()).\u83B7\u5F97\u5B9E\u73B0()(req, res)))).reduce((s, a) => Object.assign(s, a), {});
|
|
450
534
|
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
451
535
|
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u903B\u8F91...");
|
|
452
|
-
|
|
536
|
+
var \u63A5\u53E3\u7ED3\u679C = await \u76EE\u6807\u63A5\u53E3.\u63A5\u53E3\u5B9E\u73B0(\u63D2\u4EF6\u7ED3\u679C);
|
|
453
537
|
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
454
538
|
await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
|
|
455
539
|
await \u63A5\u53E3\u7ED3\u679C.run(req, res);
|
|
@@ -476,12 +560,29 @@ var \u670D\u52A1\u5668 = class {
|
|
|
476
560
|
res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
477
561
|
}
|
|
478
562
|
});
|
|
479
|
-
var server =
|
|
480
|
-
|
|
481
|
-
|
|
563
|
+
var server = app.listen(this.\u7AEF\u53E3);
|
|
564
|
+
var wss = new import_ws2.WebSocketServer({ server });
|
|
565
|
+
wss.on("connection", async (ws, req) => {
|
|
566
|
+
var log = (await this.log).extend("WebSocket").extend((0, import_short_uuid.default)().new());
|
|
567
|
+
await log.debug(`WebSocket \u8BF7\u6C42\u8FDE\u63A5: ${req.url}`);
|
|
568
|
+
var WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
569
|
+
var \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1];
|
|
570
|
+
if (!\u5BA2\u6237\u7AEFid)
|
|
571
|
+
return ws.close(4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
572
|
+
if (await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid) == true)
|
|
573
|
+
return ws.close(4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
574
|
+
var \u5B58\u5728\u7684\u5BA2\u6237\u7AEFid = \u5BA2\u6237\u7AEFid;
|
|
575
|
+
await WebSocket\u7BA1\u7406\u80052.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
576
|
+
await log.debug(`WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEFid: ${\u5BA2\u6237\u7AEFid}`);
|
|
577
|
+
ws.on("close", async () => {
|
|
578
|
+
await log.debug(`WebSocket \u8FDE\u63A5\u5DF2\u5173\u95ED: ${\u5BA2\u6237\u7AEFid}`);
|
|
579
|
+
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5B58\u5728\u7684\u5BA2\u6237\u7AEFid);
|
|
580
|
+
});
|
|
581
|
+
ws.on("error", async (err) => {
|
|
582
|
+
await log.err(`WebSocket \u51FA\u73B0\u9519\u8BEF ${\u5BA2\u6237\u7AEFid}: %o`, err);
|
|
583
|
+
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5B58\u5728\u7684\u5BA2\u6237\u7AEFid);
|
|
584
|
+
});
|
|
482
585
|
});
|
|
483
|
-
if (server == null)
|
|
484
|
-
throw new Error("\u542F\u52A8\u670D\u52A1\u5668\u5931\u8D25");
|
|
485
586
|
return {
|
|
486
587
|
ip: Object.values((0, import_node_os.networkInterfaces)()).flat().flatMap((address) => address !== void 0 ? [address] : []).map((wrappedAddress) => wrappedAddress.address).map((address) => `http://${address}:${this.\u7AEF\u53E3}`),
|
|
487
588
|
server
|
|
@@ -494,6 +595,7 @@ var \u670D\u52A1\u5668 = class {
|
|
|
494
595
|
JSON\u72B6\u6001\u63A5\u53E3,
|
|
495
596
|
JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B,
|
|
496
597
|
JSON\u89E3\u6790\u63D2\u4EF6,
|
|
598
|
+
WebSocket\u63D2\u4EF6,
|
|
497
599
|
\u4E1A\u52A1\u884C\u4E3A,
|
|
498
600
|
\u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6,
|
|
499
601
|
\u63A5\u53E3,
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -8,7 +8,8 @@ export { 中文路径支持插件 } from './plugin/extend/chinese-path.cjs';
|
|
|
8
8
|
export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
|
|
9
9
|
export { JSON解析插件, 从接口类型获得JSON参数, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.cjs';
|
|
10
10
|
export { 表单解析插件 } from './plugin/extend/urlencoded.cjs';
|
|
11
|
-
export {
|
|
11
|
+
export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件结果 } from './plugin/extend/web-socket.cjs';
|
|
12
|
+
export { 任意插件, 包装插件项, 取Task插件内部类型, 取Task插件类型, 取插件内部ts类型, 合并插件结果, 插件, 插件项类型 } from './plugin/plug.cjs';
|
|
12
13
|
export { 正确JSON结果, 正确结果, 正确自定义结果, 结果, 错误JSON结果, 错误结果 } from './result/result.cjs';
|
|
13
14
|
export { 服务器 } from './server/server.cjs';
|
|
14
15
|
import '@lsby/ts-fp-data';
|
|
@@ -27,12 +27,59 @@ module.exports = __toCommonJS(json_base_exports);
|
|
|
27
27
|
// src/global/global.ts
|
|
28
28
|
var import_ts_global = require("@lsby/ts-global");
|
|
29
29
|
var import_ts_log = require("@lsby/ts-log");
|
|
30
|
+
|
|
31
|
+
// src/global/ws.ts
|
|
32
|
+
var WebSocket\u7BA1\u7406\u8005 = class {
|
|
33
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
34
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
35
|
+
}
|
|
36
|
+
async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
|
|
37
|
+
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
38
|
+
}
|
|
39
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
40
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
|
|
41
|
+
}
|
|
42
|
+
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
43
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
|
|
44
|
+
}
|
|
45
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
46
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// src/global/global.ts
|
|
30
51
|
var Global = new import_ts_global.GlobalService([
|
|
31
52
|
new import_ts_global.GlobalAsyncItem("log", async () => {
|
|
32
53
|
return new import_ts_log.Log("@lsby:net-core");
|
|
54
|
+
}),
|
|
55
|
+
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u8005", async () => {
|
|
56
|
+
return new WebSocket\u7BA1\u7406\u8005({});
|
|
33
57
|
})
|
|
34
58
|
]);
|
|
35
59
|
|
|
60
|
+
// src/tools/tools.ts
|
|
61
|
+
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
62
|
+
var \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
63
|
+
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
64
|
+
return \u5185\u5BB9.slice(0, \u6700\u5927\u65E5\u5FD7\u957F\u5EA6) + "...";
|
|
65
|
+
return \u5185\u5BB9;
|
|
66
|
+
}
|
|
67
|
+
function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
68
|
+
if (typeof \u6570\u636E === "string")
|
|
69
|
+
return \u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E);
|
|
70
|
+
if (Array.isArray(\u6570\u636E))
|
|
71
|
+
return \u6570\u636E.map((\u9879) => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u9879));
|
|
72
|
+
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
73
|
+
const \u65B0\u6570\u636E = {};
|
|
74
|
+
for (const key in \u6570\u636E) {
|
|
75
|
+
if (\u6570\u636E.hasOwnProperty(key))
|
|
76
|
+
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
77
|
+
}
|
|
78
|
+
return \u65B0\u6570\u636E;
|
|
79
|
+
}
|
|
80
|
+
return \u6570\u636E;
|
|
81
|
+
}
|
|
82
|
+
|
|
36
83
|
// src/result/result.ts
|
|
37
84
|
var \u7ED3\u679C = class {
|
|
38
85
|
};
|
|
@@ -47,7 +94,7 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
47
94
|
log = Global.getItem("log");
|
|
48
95
|
async run(req, res) {
|
|
49
96
|
var log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
50
|
-
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", this.data);
|
|
97
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
51
98
|
res.send(this.data);
|
|
52
99
|
}
|
|
53
100
|
};
|
|
@@ -62,7 +109,7 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
62
109
|
log = Global.getItem("log");
|
|
63
110
|
async run(req, res) {
|
|
64
111
|
var log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
65
|
-
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", this.data);
|
|
112
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
66
113
|
res.send(this.data);
|
|
67
114
|
}
|
|
68
115
|
};
|
|
@@ -29,12 +29,59 @@ var import_zod = require("zod");
|
|
|
29
29
|
// src/global/global.ts
|
|
30
30
|
var import_ts_global = require("@lsby/ts-global");
|
|
31
31
|
var import_ts_log = require("@lsby/ts-log");
|
|
32
|
+
|
|
33
|
+
// src/global/ws.ts
|
|
34
|
+
var WebSocket\u7BA1\u7406\u8005 = class {
|
|
35
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
36
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
37
|
+
}
|
|
38
|
+
async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
|
|
39
|
+
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
40
|
+
}
|
|
41
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
42
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
|
|
43
|
+
}
|
|
44
|
+
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
45
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
|
|
46
|
+
}
|
|
47
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
48
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// src/global/global.ts
|
|
32
53
|
var Global = new import_ts_global.GlobalService([
|
|
33
54
|
new import_ts_global.GlobalAsyncItem("log", async () => {
|
|
34
55
|
return new import_ts_log.Log("@lsby:net-core");
|
|
56
|
+
}),
|
|
57
|
+
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u8005", async () => {
|
|
58
|
+
return new WebSocket\u7BA1\u7406\u8005({});
|
|
35
59
|
})
|
|
36
60
|
]);
|
|
37
61
|
|
|
62
|
+
// src/tools/tools.ts
|
|
63
|
+
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
64
|
+
var \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
65
|
+
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
66
|
+
return \u5185\u5BB9.slice(0, \u6700\u5927\u65E5\u5FD7\u957F\u5EA6) + "...";
|
|
67
|
+
return \u5185\u5BB9;
|
|
68
|
+
}
|
|
69
|
+
function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
70
|
+
if (typeof \u6570\u636E === "string")
|
|
71
|
+
return \u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E);
|
|
72
|
+
if (Array.isArray(\u6570\u636E))
|
|
73
|
+
return \u6570\u636E.map((\u9879) => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u9879));
|
|
74
|
+
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
75
|
+
const \u65B0\u6570\u636E = {};
|
|
76
|
+
for (const key in \u6570\u636E) {
|
|
77
|
+
if (\u6570\u636E.hasOwnProperty(key))
|
|
78
|
+
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
79
|
+
}
|
|
80
|
+
return \u65B0\u6570\u636E;
|
|
81
|
+
}
|
|
82
|
+
return \u6570\u636E;
|
|
83
|
+
}
|
|
84
|
+
|
|
38
85
|
// src/result/result.ts
|
|
39
86
|
var \u7ED3\u679C = class {
|
|
40
87
|
};
|
|
@@ -49,7 +96,7 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
49
96
|
log = Global.getItem("log");
|
|
50
97
|
async run(req, res) {
|
|
51
98
|
var log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
52
|
-
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", this.data);
|
|
99
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
53
100
|
res.send(this.data);
|
|
54
101
|
}
|
|
55
102
|
};
|
|
@@ -64,7 +111,7 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
64
111
|
log = Global.getItem("log");
|
|
65
112
|
async run(req, res) {
|
|
66
113
|
var log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
67
|
-
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", this.data);
|
|
114
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
68
115
|
res.send(this.data);
|
|
69
116
|
}
|
|
70
117
|
};
|
|
@@ -39,12 +39,59 @@ var import_express = __toESM(require("express"), 1);
|
|
|
39
39
|
// src/global/global.ts
|
|
40
40
|
var import_ts_global = require("@lsby/ts-global");
|
|
41
41
|
var import_ts_log = require("@lsby/ts-log");
|
|
42
|
+
|
|
43
|
+
// src/global/ws.ts
|
|
44
|
+
var WebSocket\u7BA1\u7406\u8005 = class {
|
|
45
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
46
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
47
|
+
}
|
|
48
|
+
async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
|
|
49
|
+
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
50
|
+
}
|
|
51
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
52
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
|
|
53
|
+
}
|
|
54
|
+
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
55
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
|
|
56
|
+
}
|
|
57
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
58
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// src/global/global.ts
|
|
42
63
|
var Global = new import_ts_global.GlobalService([
|
|
43
64
|
new import_ts_global.GlobalAsyncItem("log", async () => {
|
|
44
65
|
return new import_ts_log.Log("@lsby:net-core");
|
|
66
|
+
}),
|
|
67
|
+
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u8005", async () => {
|
|
68
|
+
return new WebSocket\u7BA1\u7406\u8005({});
|
|
45
69
|
})
|
|
46
70
|
]);
|
|
47
71
|
|
|
72
|
+
// src/tools/tools.ts
|
|
73
|
+
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
74
|
+
var \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
75
|
+
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
76
|
+
return \u5185\u5BB9.slice(0, \u6700\u5927\u65E5\u5FD7\u957F\u5EA6) + "...";
|
|
77
|
+
return \u5185\u5BB9;
|
|
78
|
+
}
|
|
79
|
+
function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
80
|
+
if (typeof \u6570\u636E === "string")
|
|
81
|
+
return \u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E);
|
|
82
|
+
if (Array.isArray(\u6570\u636E))
|
|
83
|
+
return \u6570\u636E.map((\u9879) => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u9879));
|
|
84
|
+
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
85
|
+
const \u65B0\u6570\u636E = {};
|
|
86
|
+
for (const key in \u6570\u636E) {
|
|
87
|
+
if (\u6570\u636E.hasOwnProperty(key))
|
|
88
|
+
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
89
|
+
}
|
|
90
|
+
return \u65B0\u6570\u636E;
|
|
91
|
+
}
|
|
92
|
+
return \u6570\u636E;
|
|
93
|
+
}
|
|
94
|
+
|
|
48
95
|
// src/plugin/plug.ts
|
|
49
96
|
var \u63D2\u4EF6 = class {
|
|
50
97
|
constructor(\u7C7B\u578B, \u5B9E\u73B0) {
|
|
@@ -70,13 +117,13 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
70
117
|
pRes(null);
|
|
71
118
|
})
|
|
72
119
|
);
|
|
73
|
-
await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", req.body);
|
|
120
|
+
await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.body));
|
|
74
121
|
const parseResult = t.safeParse(req.body);
|
|
75
122
|
if (!parseResult.success) {
|
|
76
123
|
await log.err("\u89E3\u6790 JSON \u5931\u8D25\uFF1A%o", parseResult.error);
|
|
77
124
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %O", parseResult.error));
|
|
78
125
|
}
|
|
79
|
-
await log.debug("\u6210\u529F\u89E3\u6790 JSON
|
|
126
|
+
await log.debug("\u6210\u529F\u89E3\u6790 JSON");
|
|
80
127
|
return parseResult.data;
|
|
81
128
|
});
|
|
82
129
|
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/plugin/extend/web-socket.ts
|
|
21
|
+
var web_socket_exports = {};
|
|
22
|
+
__export(web_socket_exports, {
|
|
23
|
+
WebSocket\u63D2\u4EF6: () => WebSocket\u63D2\u4EF6
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(web_socket_exports);
|
|
26
|
+
var import_zod = require("zod");
|
|
27
|
+
|
|
28
|
+
// src/global/global.ts
|
|
29
|
+
var import_ts_global = require("@lsby/ts-global");
|
|
30
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
31
|
+
|
|
32
|
+
// src/global/ws.ts
|
|
33
|
+
var WebSocket\u7BA1\u7406\u8005 = class {
|
|
34
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
35
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
36
|
+
}
|
|
37
|
+
async \u589E\u52A0\u8FDE\u63A5(\u8BF7\u6C42id, ws\u53E5\u67C4) {
|
|
38
|
+
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
39
|
+
}
|
|
40
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
41
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] == null ? false : true;
|
|
42
|
+
}
|
|
43
|
+
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
44
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] || null;
|
|
45
|
+
}
|
|
46
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
47
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// src/global/global.ts
|
|
52
|
+
var Global = new import_ts_global.GlobalService([
|
|
53
|
+
new import_ts_global.GlobalAsyncItem("log", async () => {
|
|
54
|
+
return new import_ts_log.Log("@lsby:net-core");
|
|
55
|
+
}),
|
|
56
|
+
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u8005", async () => {
|
|
57
|
+
return new WebSocket\u7BA1\u7406\u8005({});
|
|
58
|
+
})
|
|
59
|
+
]);
|
|
60
|
+
|
|
61
|
+
// src/plugin/plug.ts
|
|
62
|
+
var \u63D2\u4EF6 = class {
|
|
63
|
+
constructor(\u7C7B\u578B, \u5B9E\u73B0) {
|
|
64
|
+
this.\u7C7B\u578B = \u7C7B\u578B;
|
|
65
|
+
this.\u5B9E\u73B0 = \u5B9E\u73B0;
|
|
66
|
+
}
|
|
67
|
+
\u83B7\u5F97\u7C7B\u578B() {
|
|
68
|
+
return this.\u7C7B\u578B;
|
|
69
|
+
}
|
|
70
|
+
\u83B7\u5F97\u5B9E\u73B0() {
|
|
71
|
+
return this.\u5B9E\u73B0;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
// src/plugin/extend/web-socket.ts
|
|
76
|
+
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
77
|
+
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
78
|
+
super(
|
|
79
|
+
import_zod.z.object({
|
|
80
|
+
ws\u64CD\u4F5C: import_zod.z.object({
|
|
81
|
+
\u53D1\u9001ws\u4FE1\u606F: import_zod.z.function(import_zod.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod.z.promise(import_zod.z.void())),
|
|
82
|
+
\u5173\u95EDws\u8FDE\u63A5: import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void()))
|
|
83
|
+
}).or(import_zod.z.undefined())
|
|
84
|
+
}),
|
|
85
|
+
async (req, _res) => {
|
|
86
|
+
var wsId = req.headers["ws-client-id"];
|
|
87
|
+
var WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
88
|
+
var ws\u53E5\u67C4 = null;
|
|
89
|
+
if (typeof wsId == "string")
|
|
90
|
+
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
91
|
+
if (!ws\u53E5\u67C4)
|
|
92
|
+
return { ws\u64CD\u4F5C: void 0 };
|
|
93
|
+
var \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
|
|
94
|
+
return {
|
|
95
|
+
ws\u64CD\u4F5C: {
|
|
96
|
+
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
97
|
+
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F));
|
|
98
|
+
},
|
|
99
|
+
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
100
|
+
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
109
|
+
0 && (module.exports = {
|
|
110
|
+
WebSocket\u63D2\u4EF6
|
|
111
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取Task插件类型 as _Task____ } from '../plug.cjs';
|
|
3
|
+
import 'express';
|
|
4
|
+
import '@lsby/ts-fp-data';
|
|
5
|
+
|
|
6
|
+
declare class WebSocket插件<信息 extends z.AnyZodObject> extends __<z.ZodObject<{
|
|
7
|
+
ws操作: z.ZodUnion<[
|
|
8
|
+
z.ZodObject<{
|
|
9
|
+
发送ws信息: z.ZodFunction<z.ZodTuple<[信息], null>, z.ZodPromise<z.ZodVoid>>;
|
|
10
|
+
关闭ws连接: z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>;
|
|
11
|
+
}>,
|
|
12
|
+
z.ZodUndefined
|
|
13
|
+
]>;
|
|
14
|
+
}>> {
|
|
15
|
+
constructor(信息描述: 信息);
|
|
16
|
+
}
|
|
17
|
+
type 任意WS插件 = WebSocket插件<any>;
|
|
18
|
+
type 任意WS插件项 = _____<任意WS插件>;
|
|
19
|
+
type 取WS插件泛型<A> = A extends WebSocket插件<infer x> ? x : never;
|
|
20
|
+
type 取第一个WS插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意WS插件项 ? z.infer<取WS插件泛型<_Task____<插件项>>> : 取第一个WS插件结果<xs> : {} : {} : {};
|
|
21
|
+
|
|
22
|
+
export { WebSocket插件, type 任意WS插件, type 任意WS插件项, type 取WS插件泛型, type 取第一个WS插件结果 };
|
|
@@ -14,7 +14,8 @@ type 任意插件 = 插件<any>;
|
|
|
14
14
|
type 包装插件项<A> = Task<A>;
|
|
15
15
|
type 插件项类型 = 包装插件项<插件<z.AnyZodObject>>;
|
|
16
16
|
type 取Task插件内部类型<A> = A extends Task<插件<infer x>> ? x : never;
|
|
17
|
+
type 取Task插件类型<A> = A extends Task<infer x> ? x : never;
|
|
17
18
|
type 取插件内部ts类型<A> = A extends 插件<infer x> ? z.infer<x> : never;
|
|
18
19
|
type 合并插件结果<Arr extends Array<插件项类型>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<插件项类型> ? z.infer<取Task插件内部类型<插件项>> & 合并插件结果<xs> : {} : {} : {};
|
|
19
20
|
|
|
20
|
-
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取插件内部ts类型, type 合并插件结果, 插件, type 插件项类型 };
|
|
21
|
+
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type 插件项类型 };
|