@lsby/net-core 0.11.2 → 0.13.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-api-list/bin.cjs +14 -2
- package/dist/bin/gen-api-list/index.cjs +14 -2
- package/dist/bin/gen-api-type/bin.cjs +60 -43
- package/dist/bin/gen-api-type/index.cjs +60 -43
- package/dist/bin/gen-test/bin.cjs +16 -4
- package/dist/bin/gen-test/index.cjs +16 -4
- package/dist/cjs/bin/gen-api-list/bin.cjs +14 -2
- package/dist/cjs/bin/gen-api-list/index.cjs +14 -2
- package/dist/cjs/bin/gen-api-type/bin.cjs +60 -43
- package/dist/cjs/bin/gen-api-type/index.cjs +60 -43
- package/dist/cjs/bin/gen-test/bin.cjs +16 -4
- package/dist/cjs/bin/gen-test/index.cjs +16 -4
- package/dist/cjs/global/log.cjs +31 -0
- package/dist/cjs/global/log.d.cts +5 -0
- package/dist/cjs/global/model/hub.cjs +84 -0
- package/dist/cjs/global/model/hub.d.cts +26 -0
- package/dist/cjs/global/model/web-socket.cjs +166 -0
- package/dist/cjs/global/model/web-socket.d.cts +21 -0
- package/dist/cjs/global/web-socket.cjs +169 -0
- package/dist/cjs/global/web-socket.d.cts +7 -0
- package/dist/cjs/help/help.cjs +151 -2
- package/dist/cjs/help/help.d.cts +12 -5
- package/dist/cjs/help/interior.cjs +12 -1
- package/dist/cjs/help/interior.d.cts +6 -3
- package/dist/cjs/index.cjs +672 -454
- package/dist/cjs/index.d.cts +27 -18
- package/dist/cjs/interface/interface-base.cjs +15 -17
- package/dist/cjs/interface/interface-base.d.cts +43 -5
- package/dist/cjs/interface/interface-logic.cjs +148 -12
- package/dist/cjs/interface/interface-logic.d.cts +131 -7
- package/dist/cjs/interface/interface-plugin.cjs +45 -0
- package/dist/cjs/interface/interface-plugin.d.cts +37 -0
- package/dist/cjs/{plugin/plug.cjs → interface/interface-returner.cjs} +7 -17
- package/dist/cjs/interface/interface-returner.d.cts +32 -0
- package/dist/cjs/interface/interface-test.cjs +41 -9
- package/dist/cjs/interface/interface-test.d.cts +29 -6
- package/dist/cjs/plugin/{extend/custom-data.cjs → custom-data.cjs} +18 -11
- package/dist/cjs/plugin/custom-data.d.cts +16 -0
- package/dist/cjs/plugin/custom.cjs +54 -0
- package/dist/cjs/plugin/custom.d.cts +18 -0
- package/dist/cjs/plugin/form.cjs +109 -0
- package/dist/cjs/plugin/form.d.cts +37 -0
- package/dist/cjs/plugin/{extend/json.cjs → json.cjs} +24 -20
- package/dist/cjs/plugin/json.d.cts +36 -0
- package/dist/cjs/plugin/{extend/log-headers.cjs → log-headers.cjs} +18 -12
- package/dist/cjs/plugin/log-headers.d.cts +17 -0
- package/dist/cjs/plugin/parse-path.cjs +100 -0
- package/dist/cjs/plugin/parse-path.d.cts +73 -0
- package/dist/cjs/plugin/{extend/query.cjs → query.cjs} +24 -20
- package/dist/cjs/plugin/query.d.cts +36 -0
- package/dist/cjs/plugin/urlencoded.cjs +103 -0
- package/dist/cjs/plugin/urlencoded.d.cts +36 -0
- package/dist/cjs/plugin/web-socket.cjs +183 -0
- package/dist/cjs/plugin/web-socket.d.cts +31 -0
- package/dist/cjs/returner/common.cjs +107 -0
- package/dist/cjs/returner/common.d.cts +36 -0
- package/dist/cjs/returner/custom.cjs +55 -0
- package/dist/cjs/returner/custom.d.cts +26 -0
- package/dist/cjs/returner/file-stream-download.cjs +111 -0
- package/dist/cjs/returner/file-stream-download.d.cts +33 -0
- package/dist/cjs/returner/static-file.cjs +95 -0
- package/dist/cjs/returner/static-file.d.cts +30 -0
- package/dist/cjs/returner/virtual-file.cjs +66 -0
- package/dist/cjs/returner/virtual-file.d.cts +30 -0
- package/dist/cjs/server/server.cjs +187 -139
- package/dist/cjs/server/server.d.cts +37 -4
- package/dist/cjs/symbol/export-type.cjs +1 -1
- package/dist/cjs/types/types.cjs +18 -0
- package/dist/cjs/types/types.d.cts +22 -0
- package/dist/esm/bin/gen-api-list/bin.js +2 -1
- package/dist/esm/bin/gen-api-list/index.js +2 -1
- package/dist/esm/bin/gen-api-type/bin.js +1 -1
- package/dist/esm/bin/gen-api-type/index.js +1 -1
- package/dist/esm/bin/gen-test/bin.js +2 -1
- package/dist/esm/bin/gen-test/index.js +2 -1
- package/dist/esm/{chunk-ZIVQ3WZA.js → chunk-2CGBESLT.js} +12 -2
- package/dist/esm/{chunk-B5DKJ5AV.js → chunk-6OPO4OWK.js} +60 -43
- package/dist/esm/{chunk-C5FED6EO.js → chunk-7GT72IUT.js} +34 -16
- package/dist/esm/chunk-7OU27OBO.js +14 -0
- package/dist/esm/chunk-7S6SPW32.js +35 -0
- package/dist/esm/{chunk-NRUNCIP7.js → chunk-AB35ZHL3.js} +48 -59
- package/dist/esm/chunk-AG36MLAF.js +65 -0
- package/dist/esm/chunk-EGIJQJFI.js +21 -0
- package/dist/esm/chunk-F5IAX56T.js +7 -0
- package/dist/esm/chunk-FP6Q65NN.js +7 -0
- package/dist/esm/chunk-GGNRLQAM.js +48 -0
- package/dist/esm/chunk-HINGVOU6.js +21 -0
- package/dist/esm/{chunk-ZF7EC2OM.js → chunk-HT7VG4BT.js} +1 -1
- package/dist/esm/{chunk-AFWSZAXR.js → chunk-HWIV3BTW.js} +7 -4
- package/dist/esm/chunk-J5BX4WJJ.js +69 -0
- package/dist/esm/chunk-JLNRCPJD.js +34 -0
- package/dist/esm/chunk-JSMTJQ3K.js +69 -0
- package/dist/esm/chunk-MRTIZDKN.js +88 -0
- package/dist/esm/{chunk-7LQRWJ3X.js → chunk-MVMDWJTB.js} +14 -1
- package/dist/esm/chunk-NTDDPUP7.js +59 -0
- package/dist/esm/chunk-OEABQXPT.js +29 -0
- package/dist/esm/chunk-P23ZAK4I.js +10 -0
- package/dist/esm/chunk-PAP3X3RJ.js +37 -0
- package/dist/esm/chunk-QQFE27NG.js +37 -0
- package/dist/esm/chunk-RVEKW2PT.js +31 -0
- package/dist/esm/chunk-RWSXMQQI.js +22 -0
- package/dist/esm/{chunk-E23EZWBE.js → chunk-TE6CG2FF.js} +9 -13
- package/dist/esm/{chunk-UKAZDGUR.js → chunk-W7HT4TA6.js} +5 -2
- package/dist/esm/chunk-WXTNTK3M.js +40 -0
- package/dist/esm/global/log.d.ts +5 -0
- package/dist/esm/global/log.js +6 -0
- package/dist/esm/global/model/hub.d.ts +26 -0
- package/dist/esm/global/model/hub.js +8 -0
- package/dist/esm/global/model/web-socket.d.ts +21 -0
- package/dist/esm/global/model/web-socket.js +8 -0
- package/dist/esm/global/web-socket.d.ts +7 -0
- package/dist/esm/global/web-socket.js +9 -0
- package/dist/esm/help/help.d.ts +12 -5
- package/dist/esm/help/help.js +9 -3
- package/dist/esm/help/interior.d.ts +6 -3
- package/dist/esm/help/interior.js +3 -1
- package/dist/esm/index.d.ts +27 -18
- package/dist/esm/index.js +63 -59
- package/dist/esm/interface/interface-base.d.ts +43 -5
- package/dist/esm/interface/interface-base.js +1 -1
- package/dist/esm/interface/interface-logic.d.ts +131 -7
- package/dist/esm/interface/interface-logic.js +6 -2
- package/dist/esm/interface/interface-plugin.d.ts +37 -0
- package/dist/esm/{plugin/plug.js → interface/interface-plugin.js} +1 -1
- package/dist/esm/interface/interface-returner.d.ts +32 -0
- package/dist/esm/interface/interface-returner.js +6 -0
- package/dist/esm/interface/interface-test.d.ts +29 -6
- package/dist/esm/interface/interface-test.js +5 -3
- package/dist/esm/plugin/custom-data.d.ts +16 -0
- package/dist/esm/plugin/{extend/custom-data.js → custom-data.js} +2 -2
- package/dist/esm/plugin/custom.d.ts +18 -0
- package/dist/esm/plugin/custom.js +7 -0
- package/dist/esm/plugin/form.d.ts +37 -0
- package/dist/esm/plugin/form.js +42 -0
- package/dist/esm/plugin/json.d.ts +36 -0
- package/dist/esm/plugin/json.js +8 -0
- package/dist/esm/plugin/log-headers.d.ts +17 -0
- package/dist/esm/plugin/{extend/log-headers.js → log-headers.js} +2 -2
- package/dist/esm/plugin/parse-path.d.ts +73 -0
- package/dist/esm/plugin/parse-path.js +8 -0
- package/dist/esm/plugin/query.d.ts +36 -0
- package/dist/esm/plugin/query.js +8 -0
- package/dist/esm/plugin/urlencoded.d.ts +36 -0
- package/dist/esm/plugin/urlencoded.js +8 -0
- package/dist/esm/plugin/web-socket.d.ts +31 -0
- package/dist/esm/plugin/web-socket.js +8 -0
- package/dist/esm/returner/common.d.ts +36 -0
- package/dist/esm/returner/common.js +8 -0
- package/dist/esm/returner/custom.d.ts +26 -0
- package/dist/esm/returner/custom.js +7 -0
- package/dist/esm/returner/file-stream-download.d.ts +33 -0
- package/dist/esm/returner/file-stream-download.js +8 -0
- package/dist/esm/returner/static-file.d.ts +30 -0
- package/dist/esm/returner/static-file.js +7 -0
- package/dist/esm/returner/virtual-file.d.ts +30 -0
- package/dist/esm/returner/virtual-file.js +7 -0
- package/dist/esm/server/server.d.ts +37 -4
- package/dist/esm/server/server.js +5 -3
- package/dist/esm/symbol/export-type.js +1 -1
- package/dist/esm/types/types.d.ts +22 -0
- package/dist/esm/types/types.js +1 -0
- package/package.json +35 -40
- package/dist/bin/gen-api-list/test.cjs +0 -1
- package/dist/bin/gen-api-list/test.d.cts +0 -2
- package/dist/bin/gen-api-type/test.cjs +0 -1
- package/dist/bin/gen-api-type/test.d.cts +0 -2
- package/dist/cjs/action/action.bak.cjs +0 -158
- package/dist/cjs/action/action.bak.d.cts +0 -99
- package/dist/cjs/bin/gen-api-list/test.cjs +0 -1
- package/dist/cjs/bin/gen-api-list/test.d.cts +0 -2
- package/dist/cjs/bin/gen-api-type/test.cjs +0 -1
- package/dist/cjs/bin/gen-api-type/test.d.cts +0 -2
- package/dist/cjs/global/global.cjs +0 -91
- package/dist/cjs/global/global.d.cts +0 -21
- package/dist/cjs/interface/interface-result.cjs +0 -65
- package/dist/cjs/interface/interface-result.d.cts +0 -8
- package/dist/cjs/interface/interface-retuen.cjs +0 -49
- package/dist/cjs/interface/interface-retuen.d.cts +0 -30
- package/dist/cjs/interface-base-gRngpxki.d.cts +0 -235
- package/dist/cjs/plugin/extend/custom-data.d.cts +0 -17
- package/dist/cjs/plugin/extend/json.d.cts +0 -25
- package/dist/cjs/plugin/extend/log-headers.d.cts +0 -15
- package/dist/cjs/plugin/extend/query.d.cts +0 -25
- package/dist/cjs/plugin/extend/urlencoded.cjs +0 -76
- package/dist/cjs/plugin/extend/urlencoded.d.cts +0 -16
- package/dist/cjs/plugin/extend/web-socket.cjs +0 -168
- package/dist/cjs/plugin/extend/web-socket.d.cts +0 -27
- package/dist/cjs/plugin/plug.d.cts +0 -8
- package/dist/cjs/wrapper/common-wrapper-return.cjs +0 -106
- package/dist/cjs/wrapper/common-wrapper-return.d.cts +0 -29
- package/dist/cjs/wrapper/common-wrapper.cjs +0 -102
- package/dist/cjs/wrapper/common-wrapper.d.cts +0 -27
- package/dist/cjs/wrapper/deferred-result-wrapper.cjs +0 -102
- package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +0 -26
- package/dist/cjs/wrapper/express-compatible-wrapper.cjs +0 -228
- package/dist/cjs/wrapper/express-compatible-wrapper.d.cts +0 -55
- package/dist/cjs/wrapper/file-download-wrapper.cjs +0 -134
- package/dist/cjs/wrapper/file-download-wrapper.d.cts +0 -80
- package/dist/esm/action/action.bak.d.ts +0 -99
- package/dist/esm/action/action.bak.js +0 -133
- package/dist/esm/bin/gen-api-list/test.d.ts +0 -2
- package/dist/esm/bin/gen-api-type/test.d.ts +0 -2
- package/dist/esm/bin/gen-api-type/test.js +0 -0
- package/dist/esm/chunk-3XRAG6DM.js +0 -30
- package/dist/esm/chunk-43GZE5YL.js +0 -17
- package/dist/esm/chunk-7MHKNSNT.js +0 -20
- package/dist/esm/chunk-DNJQGD5M.js +0 -39
- package/dist/esm/chunk-H7LZCHCE.js +0 -24
- package/dist/esm/chunk-HDPEZW7H.js +0 -24
- package/dist/esm/chunk-MDUWXEQ7.js +0 -37
- package/dist/esm/chunk-N7TPWCQ5.js +0 -17
- package/dist/esm/chunk-NB2QNDI2.js +0 -24
- package/dist/esm/chunk-NCYHKHIH.js +0 -54
- package/dist/esm/chunk-NJKBRPN7.js +0 -66
- package/dist/esm/chunk-TSDOOGHG.js +0 -37
- package/dist/esm/chunk-UUXGAK5S.js +0 -31
- package/dist/esm/chunk-VMCAX3QH.js +0 -18
- package/dist/esm/chunk-XBAKTT6S.js +0 -23
- package/dist/esm/chunk-XSYZ5A6R.js +0 -61
- package/dist/esm/global/global.d.ts +0 -21
- package/dist/esm/global/global.js +0 -8
- package/dist/esm/interface/interface-result.d.ts +0 -8
- package/dist/esm/interface/interface-result.js +0 -10
- package/dist/esm/interface/interface-retuen.d.ts +0 -30
- package/dist/esm/interface/interface-retuen.js +0 -10
- package/dist/esm/interface-base-DDfmN_Dg.d.ts +0 -235
- package/dist/esm/plugin/extend/custom-data.d.ts +0 -17
- package/dist/esm/plugin/extend/json.d.ts +0 -25
- package/dist/esm/plugin/extend/json.js +0 -8
- package/dist/esm/plugin/extend/log-headers.d.ts +0 -15
- package/dist/esm/plugin/extend/query.d.ts +0 -25
- package/dist/esm/plugin/extend/query.js +0 -8
- package/dist/esm/plugin/extend/urlencoded.d.ts +0 -16
- package/dist/esm/plugin/extend/urlencoded.js +0 -7
- package/dist/esm/plugin/extend/web-socket.d.ts +0 -27
- package/dist/esm/plugin/extend/web-socket.js +0 -8
- package/dist/esm/plugin/plug.d.ts +0 -8
- package/dist/esm/wrapper/common-wrapper-return.d.ts +0 -29
- package/dist/esm/wrapper/common-wrapper-return.js +0 -9
- package/dist/esm/wrapper/common-wrapper.d.ts +0 -27
- package/dist/esm/wrapper/common-wrapper.js +0 -9
- package/dist/esm/wrapper/deferred-result-wrapper.d.ts +0 -26
- package/dist/esm/wrapper/deferred-result-wrapper.js +0 -9
- package/dist/esm/wrapper/express-compatible-wrapper.d.ts +0 -55
- package/dist/esm/wrapper/express-compatible-wrapper.js +0 -11
- package/dist/esm/wrapper/file-download-wrapper.d.ts +0 -80
- package/dist/esm/wrapper/file-download-wrapper.js +0 -9
- /package/dist/esm/{bin/gen-api-list/test.js → chunk-BWFSM5FK.js} +0 -0
|
@@ -1,158 +0,0 @@
|
|
|
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/action/action.bak.ts
|
|
21
|
-
var action_bak_exports = {};
|
|
22
|
-
__export(action_bak_exports, {
|
|
23
|
-
\u4E1A\u52A1\u884C\u4E3A: () => \u4E1A\u52A1\u884C\u4E3A
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(action_bak_exports);
|
|
26
|
-
var import_ts_fp_data = require("@lsby/ts-fp-data");
|
|
27
|
-
var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
28
|
-
// ================================= 静态 =================================
|
|
29
|
-
static \u901A\u8FC7\u5B9E\u73B0\u6784\u9020(\u5B9E\u73B0) {
|
|
30
|
-
return new class extends _\u4E1A\u52A1\u884C\u4E3A {
|
|
31
|
-
async \u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570) {
|
|
32
|
-
return \u5B9E\u73B0(\u53C2\u6570);
|
|
33
|
-
}
|
|
34
|
-
}();
|
|
35
|
-
}
|
|
36
|
-
static \u901A\u8FC7\u6B63\u786E\u503C\u6784\u9020(a) {
|
|
37
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Right(a));
|
|
38
|
-
}
|
|
39
|
-
static \u901A\u8FC7\u9519\u8BEF\u503C\u6784\u9020(a) {
|
|
40
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async () => new import_ts_fp_data.Left(a));
|
|
41
|
-
}
|
|
42
|
-
static \u6D41\u5F0F\u7EC4\u5408(a, b) {
|
|
43
|
-
return a.\u6D41\u5F0F\u7EC4\u5408(b);
|
|
44
|
-
}
|
|
45
|
-
static \u6DF7\u5408\u7EC4\u5408(a, b) {
|
|
46
|
-
return a.\u6DF7\u5408\u7EC4\u5408(b);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* 对多个项混合组合
|
|
50
|
-
*/
|
|
51
|
-
static \u6DF7\u5408\u7EC4\u5408\u591A\u9879(arr) {
|
|
52
|
-
return arr.reduce((s, a) => s.\u6DF7\u5408\u7EC4\u5408(a));
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* 同时运行多个行为, 并提供一个函数处理它们的结果
|
|
56
|
-
* 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
|
|
57
|
-
* 处理函数的类型是: 所有行为的结果合并 => 泛型A
|
|
58
|
-
* 新行为的类型是:
|
|
59
|
-
* - 参数: 所有行为的参数合并
|
|
60
|
-
* - 错误: 所有行为的错误合并
|
|
61
|
-
* - 返回值: 泛型A
|
|
62
|
-
*/
|
|
63
|
-
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
64
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
65
|
-
let \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570)));
|
|
66
|
-
let \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0] ?? null;
|
|
67
|
-
if (\u9519\u8BEF !== null) return \u9519\u8BEF;
|
|
68
|
-
let \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => ({ ...s, ...a }), {});
|
|
69
|
-
return new import_ts_fp_data.Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
// ================================= 设置 =================================
|
|
73
|
-
\u8BBE\u7F6E\u53C2\u6570(\u8BBE\u7F6E\u53C2\u6570) {
|
|
74
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
75
|
-
return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0({ ...\u8BBE\u7F6E\u53C2\u6570, ...\u53C2\u6570 });
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
// ================================= 运行 =================================
|
|
79
|
-
/**
|
|
80
|
-
* 运行业务行为, 如果抛出错误, 则原封不动向上抛出
|
|
81
|
-
*/
|
|
82
|
-
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570) {
|
|
83
|
-
return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* 运行业务行为, 如果抛出错误, 则将错误值强制转换为字符串, 并包装为Error抛出
|
|
87
|
-
*/
|
|
88
|
-
async \u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A\u5E76\u5305\u88C5(\u53C2\u6570) {
|
|
89
|
-
try {
|
|
90
|
-
return await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
91
|
-
} catch (e) {
|
|
92
|
-
throw new Error(String(e));
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
// ================================= 组合 =================================
|
|
96
|
-
/**
|
|
97
|
-
* 将两个行为串接, 得到一个新行为, 新行为的类型是:
|
|
98
|
-
* - 参数: a行为的参数
|
|
99
|
-
* - 错误: a行为的错误+b行为的错误
|
|
100
|
-
* - 返回值: b行为的返回值
|
|
101
|
-
*/
|
|
102
|
-
\u6D41\u5F0F\u7EC4\u5408(b) {
|
|
103
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
104
|
-
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
105
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft()) return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
106
|
-
return b.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* 将两个行为串接, 得到一个新的行为
|
|
111
|
-
* 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
|
|
112
|
-
* 新行为的类型是:
|
|
113
|
-
* - 参数: a行为的参数+(b行为的参数-a行为的返回值)
|
|
114
|
-
* - 错误: a行为的错误+b行为的错误
|
|
115
|
-
* - 返回值: a行为的返回值+b行为的返回值
|
|
116
|
-
*/
|
|
117
|
-
\u6DF7\u5408\u7EC4\u5408(b) {
|
|
118
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
119
|
-
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
120
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft()) return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
121
|
-
let \u5BF9\u65B9\u7ED3\u679C = await b.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
122
|
-
return \u5BF9\u65B9\u7ED3\u679C.map((a) => ({ ...a, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() }));
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
// ================================= 映射 =================================
|
|
126
|
-
\u6620\u5C04\u7ED3\u679C(f) {
|
|
127
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
128
|
-
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
129
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft()) return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
130
|
-
return import_ts_fp_data.Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
\u6620\u5C04\u9519\u8BEF(f) {
|
|
134
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
135
|
-
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
136
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft()) return new import_ts_fp_data.Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
137
|
-
return import_ts_fp_data.Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
|
|
142
|
-
* 新行为的类型是:
|
|
143
|
-
* - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
|
|
144
|
-
* - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
|
|
145
|
-
* - 返回值: 自定义数据
|
|
146
|
-
*/
|
|
147
|
-
\u7ED1\u5B9A(f) {
|
|
148
|
-
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
149
|
-
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
150
|
-
if (\u6211\u7684\u7ED3\u679C.isLeft()) return new import_ts_fp_data.Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
151
|
-
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
156
|
-
0 && (module.exports = {
|
|
157
|
-
\u4E1A\u52A1\u884C\u4E3A
|
|
158
|
-
});
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Either } from '@lsby/ts-fp-data';
|
|
2
|
-
|
|
3
|
-
type 业务行为错误类型 = string | never;
|
|
4
|
-
type 业务行为参数类型 = Record<string, any>;
|
|
5
|
-
type 业务行为返回类型 = Record<string, any>;
|
|
6
|
-
type 任意业务行为 = 业务行为<any, any, any>;
|
|
7
|
-
type 计算混合组合<A参数类型 extends 业务行为参数类型, A错误类型 extends 业务行为错误类型, A返回类型 extends 业务行为返回类型, B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型> = 业务行为<A参数类型 & Omit<B参数类型, keyof A返回类型>, A错误类型 | B错误类型, A返回类型 & B返回类型>;
|
|
8
|
-
type 计算混合单一组合<A, B> = A extends 业务行为<infer A参数, infer A错误, infer A返回> ? B extends 业务行为<infer B参数, infer B错误, infer B返回> ? 计算混合组合<A参数, A错误, A返回, B参数, B错误, B返回> : never : never;
|
|
9
|
-
type 计算混合组合数组<Arr> = Arr extends [infer x] ? x : Arr extends [infer x, infer y] ? 计算混合单一组合<x, y> : Arr extends [infer x, infer y, ...infer s] ? 计算混合组合数组<[计算混合单一组合<x, y>, ...s]> : undefined;
|
|
10
|
-
type 计算合并<Arr> = Arr extends [] ? 业务行为<{}, never, {}> : Arr extends [infer x, ...infer xs] ? x extends 业务行为<infer 参数1, infer 错误1, infer 返回1> ? 计算合并<xs> extends 业务行为<infer 参数2, infer 错误2, infer 返回2> ? 业务行为<参数1 & 参数2, 错误1 | 错误2, 返回1 & 返回2> : never : never : never;
|
|
11
|
-
type 计算业务行为参数<A> = A extends 业务行为<infer 参数, infer _错误, infer _返回> ? 参数 : never;
|
|
12
|
-
type 计算业务行为错误<A> = A extends 业务行为<infer _参数, infer 错误, infer _返回> ? 错误 : never;
|
|
13
|
-
type 计算业务行为返回<A> = A extends 业务行为<infer _参数, infer _错误, infer 返回> ? 返回 : never;
|
|
14
|
-
/**
|
|
15
|
-
* # 业务行为
|
|
16
|
-
*
|
|
17
|
-
* 业务行为是代码中业务逻辑的抽象表示
|
|
18
|
-
* 其本质是一个执行特定业务逻辑的函数
|
|
19
|
-
*
|
|
20
|
-
* ## 特点
|
|
21
|
-
*
|
|
22
|
-
* 其特点是:
|
|
23
|
-
* - 业务相关: 比起普通函数, 特化了一部分逻辑, 以更好的适应业务逻辑的需要
|
|
24
|
-
* - 类型安全: 严格的类型控制
|
|
25
|
-
* - 可组合: 基于该模型, 可以创建出各种具有想象力的组合模式
|
|
26
|
-
*
|
|
27
|
-
* ## 实现
|
|
28
|
-
*
|
|
29
|
-
* 对于业务行为而言, 至少应该明确:
|
|
30
|
-
* - 参数: 该函数需要的信息, 必须是对象
|
|
31
|
-
* - 错误: 该函数可能发生的错误, 错误只能是字符串, 如果不可能产生错误使用never
|
|
32
|
-
* - 返回: 该函数正确执行时返回的数据, 必须是对象
|
|
33
|
-
*
|
|
34
|
-
* 当编写一个业务行为时, 必须先明确以上类型, 然后继承该基类进行实现
|
|
35
|
-
*
|
|
36
|
-
* 实现中, 可以获得调用时提供的参数.
|
|
37
|
-
* 实现中, 必须返回一个左值或一个右值, 当然也可能意外抛出错误
|
|
38
|
-
* 当意外的抛出错误时, 不同的调用方法处理不一样
|
|
39
|
-
*/
|
|
40
|
-
declare abstract class 业务行为<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型> {
|
|
41
|
-
static 通过实现构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(实现: (参数: 参数类型) => Promise<Either<错误类型, 返回类型>>): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
42
|
-
static 通过正确值构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(a: 返回类型): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
43
|
-
static 通过错误值构造<参数类型 extends 业务行为参数类型, 错误类型 extends 业务行为错误类型, 返回类型 extends 业务行为返回类型>(a: 错误类型): 业务行为<参数类型, 错误类型, 返回类型>;
|
|
44
|
-
static 流式组合<A参数类型 extends 业务行为参数类型, A错误类型 extends 业务行为错误类型, A返回类型 extends 业务行为返回类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(a: 业务行为<A参数类型, A错误类型, A返回类型>, b: 业务行为<A返回类型, B错误类型, B返回类型>): 业务行为<A参数类型, A错误类型 | B错误类型, B返回类型>;
|
|
45
|
-
static 混合组合<A参数类型 extends 业务行为参数类型, A错误类型 extends 业务行为错误类型, A返回类型 extends 业务行为返回类型, B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(a: 业务行为<A参数类型, A错误类型, A返回类型>, b: 业务行为<B参数类型, B错误类型, B返回类型>): 计算混合组合<A参数类型, A错误类型, A返回类型, B参数类型, B错误类型, B返回类型>;
|
|
46
|
-
/**
|
|
47
|
-
* 对多个项混合组合
|
|
48
|
-
*/
|
|
49
|
-
static 混合组合多项<A extends 任意业务行为[]>(arr: [...A]): 计算混合组合数组<A>;
|
|
50
|
-
/**
|
|
51
|
-
* 同时运行多个行为, 并提供一个函数处理它们的结果
|
|
52
|
-
* 如果其中任何一个行为发生错误, 则最终行为输出第一个错误
|
|
53
|
-
* 处理函数的类型是: 所有行为的结果合并 => 泛型A
|
|
54
|
-
* 新行为的类型是:
|
|
55
|
-
* - 参数: 所有行为的参数合并
|
|
56
|
-
* - 错误: 所有行为的错误合并
|
|
57
|
-
* - 返回值: 泛型A
|
|
58
|
-
*/
|
|
59
|
-
static 并行组合<X extends 任意业务行为[], A extends 业务行为返回类型>(arr: [...X], f: (a: 计算业务行为返回<计算合并<X>>) => Promise<A>): 业务行为<计算业务行为参数<计算合并<X>>, 计算业务行为错误<计算合并<X>>, A>;
|
|
60
|
-
protected _业务行为实现_不变标注?: (参数: 参数类型) => Promise<Either<错误类型, 返回类型>>;
|
|
61
|
-
protected abstract 业务行为实现(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
62
|
-
设置参数<A extends Partial<参数类型>>(设置参数: A): 业务行为<Omit<参数类型, keyof A>, 错误类型, 返回类型>;
|
|
63
|
-
/**
|
|
64
|
-
* 运行业务行为, 如果抛出错误, 则原封不动向上抛出
|
|
65
|
-
*/
|
|
66
|
-
运行业务行为(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
67
|
-
/**
|
|
68
|
-
* 运行业务行为, 如果抛出错误, 则将错误值强制转换为字符串, 并包装为Error抛出
|
|
69
|
-
*/
|
|
70
|
-
运行业务行为并包装(参数: 参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
71
|
-
/**
|
|
72
|
-
* 将两个行为串接, 得到一个新行为, 新行为的类型是:
|
|
73
|
-
* - 参数: a行为的参数
|
|
74
|
-
* - 错误: a行为的错误+b行为的错误
|
|
75
|
-
* - 返回值: b行为的返回值
|
|
76
|
-
*/
|
|
77
|
-
流式组合<B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(b: 业务行为<返回类型, B错误类型, B返回类型>): 业务行为<参数类型, 错误类型 | B错误类型, B返回类型>;
|
|
78
|
-
/**
|
|
79
|
-
* 将两个行为串接, 得到一个新的行为
|
|
80
|
-
* 相比流式组合, 本函数不要求串联位置参数匹配, 缺少的参数将在调用时补全
|
|
81
|
-
* 新行为的类型是:
|
|
82
|
-
* - 参数: a行为的参数+(b行为的参数-a行为的返回值)
|
|
83
|
-
* - 错误: a行为的错误+b行为的错误
|
|
84
|
-
* - 返回值: a行为的返回值+b行为的返回值
|
|
85
|
-
*/
|
|
86
|
-
混合组合<B参数类型 extends 业务行为参数类型, B错误类型 extends 业务行为错误类型, B返回类型 extends 业务行为返回类型>(b: 业务行为<B参数类型, B错误类型, B返回类型>): 计算混合组合<参数类型, 错误类型, 返回类型, B参数类型, B错误类型, B返回类型>;
|
|
87
|
-
映射结果<新返回类型 extends 业务行为返回类型>(f: (a: 返回类型) => 新返回类型): 业务行为<参数类型, 错误类型, 新返回类型>;
|
|
88
|
-
映射错误<新错误类型 extends 业务行为错误类型>(f: (a: 错误类型) => 新错误类型): 业务行为<参数类型, 新错误类型, 返回类型>;
|
|
89
|
-
/**
|
|
90
|
-
* 产生一个代数效应, 在效应中执行当前业务行为, 然后将其正确结果映射为新业务行为
|
|
91
|
-
* 新行为的类型是:
|
|
92
|
-
* - 参数: 必须是已有行为的参数的扩展, 因为调用时必须先调用已有行为
|
|
93
|
-
* - 错误: 已有行为的错误+自定义错误, 因为调用已有行为时可能出错
|
|
94
|
-
* - 返回值: 自定义数据
|
|
95
|
-
*/
|
|
96
|
-
绑定<新参数类型 extends 业务行为参数类型 & 参数类型, 新错误类型 extends 错误类型 | 业务行为错误类型, 新返回类型 extends 业务行为返回类型>(f: (a: 返回类型) => 业务行为<新参数类型, 新错误类型, 新返回类型>): 业务行为<新参数类型, 新错误类型, 新返回类型>;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export { 业务行为, type 业务行为参数类型, type 业务行为返回类型, type 业务行为错误类型, type 计算业务行为参数, type 计算业务行为返回, type 计算业务行为错误 };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1,91 +0,0 @@
|
|
|
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/global/global.ts
|
|
21
|
-
var global_exports = {};
|
|
22
|
-
__export(global_exports, {
|
|
23
|
-
Global: () => Global,
|
|
24
|
-
WebSocket\u7BA1\u7406\u5668: () => WebSocket\u7BA1\u7406\u5668
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(global_exports);
|
|
27
|
-
var import_ts_global = require("@lsby/ts-global");
|
|
28
|
-
var import_ts_log = require("@lsby/ts-log");
|
|
29
|
-
var import_ws = require("ws");
|
|
30
|
-
var log = new import_ts_log.Log("@lsby:net-core");
|
|
31
|
-
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
32
|
-
constructor(\u8FDE\u63A5\u8868) {
|
|
33
|
-
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
34
|
-
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
35
|
-
() => {
|
|
36
|
-
this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
|
|
37
|
-
this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
|
|
38
|
-
});
|
|
39
|
-
},
|
|
40
|
-
5 * 60 * 1e3
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
44
|
-
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
45
|
-
\u5B9A\u65F6\u5668ID = null;
|
|
46
|
-
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
47
|
-
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
48
|
-
}
|
|
49
|
-
\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
50
|
-
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
51
|
-
}
|
|
52
|
-
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
53
|
-
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
54
|
-
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
55
|
-
}
|
|
56
|
-
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
57
|
-
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
58
|
-
}
|
|
59
|
-
\u5220\u9664\u8FDE\u63A5(id) {
|
|
60
|
-
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
61
|
-
try {
|
|
62
|
-
this.\u8FDE\u63A5\u8868[id]?.close(1e3, "\u670D\u52A1\u5668\u4E3B\u52A8\u5173\u95ED");
|
|
63
|
-
} catch (err) {
|
|
64
|
-
this.log.error(`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`}`);
|
|
65
|
-
}
|
|
66
|
-
\u6E05\u7406\u51FD\u6570?.().catch((err) => this.log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`));
|
|
67
|
-
delete this.\u8FDE\u63A5\u8868[id];
|
|
68
|
-
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
69
|
-
}
|
|
70
|
-
async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
|
|
71
|
-
let \u6E05\u7406\u6570\u91CF = 0;
|
|
72
|
-
for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
|
|
73
|
-
if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
|
|
74
|
-
this.\u5220\u9664\u8FDE\u63A5(id);
|
|
75
|
-
\u6E05\u7406\u6570\u91CF++;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (\u6E05\u7406\u6570\u91CF > 0) {
|
|
79
|
-
await this.log.info(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
var Global = new import_ts_global.GlobalService([
|
|
84
|
-
new import_ts_global.GlobalItem("log", log),
|
|
85
|
-
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
86
|
-
]);
|
|
87
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
-
0 && (module.exports = {
|
|
89
|
-
Global,
|
|
90
|
-
WebSocket\u7BA1\u7406\u5668
|
|
91
|
-
});
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { GlobalService, GlobalItem } from '@lsby/ts-global';
|
|
2
|
-
import { Log } from '@lsby/ts-log';
|
|
3
|
-
import { WebSocket } from 'ws';
|
|
4
|
-
|
|
5
|
-
type id = string;
|
|
6
|
-
declare class WebSocket管理器 {
|
|
7
|
-
private 连接表;
|
|
8
|
-
private log;
|
|
9
|
-
private 清理函数表;
|
|
10
|
-
private 定时器ID;
|
|
11
|
-
constructor(连接表: Record<id, WebSocket | null>);
|
|
12
|
-
增加连接(id: id, ws句柄: WebSocket): void;
|
|
13
|
-
查询连接存在(id: string): boolean;
|
|
14
|
-
设置清理函数(id: string, 清理函数: () => Promise<void>): Promise<void>;
|
|
15
|
-
获得句柄(id: id): Promise<WebSocket | null>;
|
|
16
|
-
删除连接(id: string): void;
|
|
17
|
-
private 清理无效连接;
|
|
18
|
-
}
|
|
19
|
-
declare let Global: GlobalService<[GlobalItem<"log", Log>, GlobalItem<"WebSocket管理器", WebSocket管理器>]>;
|
|
20
|
-
|
|
21
|
-
export { Global, WebSocket管理器 };
|
|
@@ -1,65 +0,0 @@
|
|
|
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/interface/interface-result.ts
|
|
21
|
-
var interface_result_exports = {};
|
|
22
|
-
__export(interface_result_exports, {
|
|
23
|
-
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
24
|
-
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
|
|
25
|
-
\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(interface_result_exports);
|
|
28
|
-
var \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 = class {
|
|
29
|
-
};
|
|
30
|
-
var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
31
|
-
\u5B9E\u73B0(\u6570\u636E) {
|
|
32
|
-
switch (\u6570\u636E.getTag()) {
|
|
33
|
-
case "Left": {
|
|
34
|
-
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
35
|
-
}
|
|
36
|
-
case "Right": {
|
|
37
|
-
return { status: "success", data: \u6570\u636E.assertRight().getRight() };
|
|
38
|
-
}
|
|
39
|
-
default: {
|
|
40
|
-
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
var \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
46
|
-
\u5B9E\u73B0(\u6570\u636E) {
|
|
47
|
-
switch (\u6570\u636E.getTag()) {
|
|
48
|
-
case "Left": {
|
|
49
|
-
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
50
|
-
}
|
|
51
|
-
case "Right": {
|
|
52
|
-
return \u6570\u636E.assertRight().getRight().data;
|
|
53
|
-
}
|
|
54
|
-
default: {
|
|
55
|
-
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
61
|
-
0 && (module.exports = {
|
|
62
|
-
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
63
|
-
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668,
|
|
64
|
-
\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668
|
|
65
|
-
});
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import '@lsby/ts-fp-data';
|
|
2
|
-
export { x as 任意接口结果转换器, 常 as 常用形式转换器, w as 接口结果转换器, 直 as 直接形式转换器 } from '../interface-base-gRngpxki.cjs';
|
|
3
|
-
import 'zod';
|
|
4
|
-
import 'express';
|
|
5
|
-
import '../help/interior.cjs';
|
|
6
|
-
import '@lsby/ts-log';
|
|
7
|
-
import 'node:http';
|
|
8
|
-
import './interface-retuen.cjs';
|
|
@@ -1,49 +0,0 @@
|
|
|
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/interface/interface-retuen.ts
|
|
21
|
-
var interface_retuen_exports = {};
|
|
22
|
-
__export(interface_retuen_exports, {
|
|
23
|
-
\u5E38\u7528\u8FD4\u56DE\u5668: () => \u5E38\u7528\u8FD4\u56DE\u5668,
|
|
24
|
-
\u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668,
|
|
25
|
-
\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668: () => \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(interface_retuen_exports);
|
|
28
|
-
var \u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668 = class {
|
|
29
|
-
};
|
|
30
|
-
var \u5E38\u7528\u8FD4\u56DE\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668 {
|
|
31
|
-
\u8FD4\u56DE(req, res, \u7ED3\u679C) {
|
|
32
|
-
res.send(\u7ED3\u679C);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
var \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668 {
|
|
36
|
-
constructor(\u5B9E\u73B0\u51FD\u6570) {
|
|
37
|
-
super();
|
|
38
|
-
this.\u5B9E\u73B0\u51FD\u6570 = \u5B9E\u73B0\u51FD\u6570;
|
|
39
|
-
}
|
|
40
|
-
\u8FD4\u56DE(req, res, \u7ED3\u679C) {
|
|
41
|
-
return this.\u5B9E\u73B0\u51FD\u6570(req, res, \u7ED3\u679C);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
-
0 && (module.exports = {
|
|
46
|
-
\u5E38\u7528\u8FD4\u56DE\u5668,
|
|
47
|
-
\u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668,
|
|
48
|
-
\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668
|
|
49
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Request, Response } from 'express';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 描述接口如何将转换器转换后的数据发送给客户端
|
|
5
|
-
*
|
|
6
|
-
* 这一层的存在使得数据格式和传输方式完全解耦:
|
|
7
|
-
* - 相同的数据可以通过 JSON, XML, Protobuf 等不同格式发送
|
|
8
|
-
* - 可以选择不同的传输方式: HTTP 响应, WebSocket, SSE, 文件下载等
|
|
9
|
-
* - 可以设置相应头等数据
|
|
10
|
-
*/
|
|
11
|
-
declare abstract class 接口结果返回器<接口正确形式> {
|
|
12
|
-
abstract 返回(req: Request, res: Response, 结果: 接口正确形式): void | Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
type 任意接口结果返回器 = 接口结果返回器<any>;
|
|
15
|
-
/**
|
|
16
|
-
* 常用返回器: 直接使用 res.send 发送数据
|
|
17
|
-
*/
|
|
18
|
-
declare class 常用返回器<正确形式> extends 接口结果返回器<正确形式> {
|
|
19
|
-
返回(req: Request, res: Response, 结果: 正确形式): void;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* 自定义返回器: 支持任意自定义的返回逻辑
|
|
23
|
-
*/
|
|
24
|
-
declare class 自定义返回器<正确形式> extends 接口结果返回器<正确形式> {
|
|
25
|
-
private 实现函数;
|
|
26
|
-
constructor(实现函数: (req: Request, res: Response, 结果: 正确形式) => void | Promise<void>);
|
|
27
|
-
返回(req: Request, res: Response, 结果: 正确形式): void | Promise<void>;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export { type 任意接口结果返回器, 常用返回器, 接口结果返回器, 自定义返回器 };
|