@lsby/net-core 0.3.39 → 0.3.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/gen-list/bin.cjs +27 -27
- package/dist/bin/gen-list/index.cjs +24 -24
- package/dist/bin/gen-test/bin.cjs +27 -27
- package/dist/bin/gen-test/index.cjs +24 -24
- package/dist/bin/gen-type/addition.d.cts +1 -1
- package/dist/bin/gen-type/bin.cjs +27 -27
- package/dist/bin/gen-type/index.cjs +24 -24
- package/dist/cjs/action/action.cjs +9 -9
- package/dist/cjs/bin/gen-list/bin.cjs +27 -27
- package/dist/cjs/bin/gen-list/index.cjs +24 -24
- package/dist/cjs/bin/gen-test/bin.cjs +27 -27
- package/dist/cjs/bin/gen-test/index.cjs +24 -24
- package/dist/cjs/bin/gen-type/addition.d.cts +1 -1
- package/dist/cjs/bin/gen-type/bin.cjs +27 -27
- package/dist/cjs/bin/gen-type/index.cjs +24 -24
- package/dist/cjs/global/global.d.cts +1 -1
- package/dist/cjs/index.cjs +51 -54
- package/dist/cjs/interface/extend/json-base.cjs +6 -6
- package/dist/cjs/interface/extend/json-wrap.cjs +6 -6
- package/dist/cjs/interface/interface-test.cjs +1 -1
- package/dist/cjs/plugin/extend/chinese-path.cjs +2 -2
- package/dist/cjs/plugin/extend/chinese-path.d.cts +1 -1
- package/dist/cjs/plugin/extend/json.cjs +5 -5
- package/dist/cjs/plugin/extend/urlencoded.cjs +1 -1
- package/dist/cjs/plugin/extend/web-socket.cjs +12 -15
- package/dist/cjs/result/result.cjs +5 -5
- package/dist/cjs/server/server.cjs +17 -17
- package/dist/cjs/tools/tools.cjs +3 -3
- package/dist/esm/action/action.js +1 -1
- package/dist/esm/bin/gen-list/bin.js +4 -4
- package/dist/esm/bin/gen-list/index.js +1 -1
- package/dist/esm/bin/gen-test/bin.js +4 -4
- package/dist/esm/bin/gen-test/index.js +1 -1
- package/dist/esm/bin/gen-type/addition.d.ts +1 -1
- package/dist/esm/bin/gen-type/bin.js +4 -4
- package/dist/esm/bin/gen-type/index.js +1 -1
- package/dist/esm/{chunk-KW3M3VXP.js → chunk-3PONWJ35.js} +2 -2
- package/dist/esm/{chunk-BEJF4KW3.js → chunk-47GMSX5W.js} +17 -17
- package/dist/esm/{chunk-B6PEMS6O.js → chunk-5WR5VNYH.js} +9 -9
- package/dist/esm/{chunk-3DVNMDUP.js → chunk-64WWIZ43.js} +24 -24
- package/dist/esm/{chunk-EDWEBXKF.js → chunk-BVLGIDYF.js} +2 -2
- package/dist/esm/{chunk-PKE7OYIU.js → chunk-F6MKRRVF.js} +3 -3
- package/dist/esm/{chunk-MXNVJRJT.js → chunk-F7TZXXFE.js} +24 -24
- package/dist/esm/{chunk-4QVCUKEA.js → chunk-MUTTFLKG.js} +12 -15
- package/dist/esm/{chunk-25X7QZ6T.js → chunk-N7TPWCQ5.js} +1 -1
- package/dist/esm/{chunk-KZPZVZ2B.js → chunk-OOCVEPVP.js} +1 -1
- package/dist/esm/{chunk-43FMPMYJ.js → chunk-PVCULVI3.js} +2 -2
- package/dist/esm/{chunk-ES4NZ4EM.js → chunk-PVE5VI5K.js} +3 -3
- package/dist/esm/{chunk-QQG5MY3H.js → chunk-VBFA32JO.js} +3 -3
- package/dist/esm/{chunk-UABF4235.js → chunk-WIZEBP6C.js} +24 -24
- package/dist/esm/global/global.d.ts +1 -1
- package/dist/esm/index.js +13 -13
- package/dist/esm/interface/extend/json-base.js +3 -3
- package/dist/esm/interface/extend/json-wrap.js +3 -3
- package/dist/esm/interface/interface-test.js +1 -1
- package/dist/esm/plugin/extend/chinese-path.d.ts +1 -1
- package/dist/esm/plugin/extend/chinese-path.js +1 -1
- package/dist/esm/plugin/extend/json.js +2 -2
- package/dist/esm/plugin/extend/urlencoded.js +1 -1
- package/dist/esm/plugin/extend/web-socket.js +1 -1
- package/dist/esm/result/result.js +2 -2
- package/dist/esm/server/server.js +1 -1
- package/dist/esm/tools/tools.js +1 -1
- package/package.json +2 -2
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
main
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-F7TZXXFE.js";
|
|
5
5
|
|
|
6
6
|
// src/bin/gen-list/bin.ts
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { Command } from "commander";
|
|
9
9
|
var program = new Command();
|
|
10
10
|
program.name("\u751F\u6210\u6D4B\u8BD5\u6587\u4EF6").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outFilePath) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
let absoluteTsconfigPath = path.resolve(tsconfigPath);
|
|
12
|
+
let absoluteApiFolderPath = path.resolve(interfaceFolderPath);
|
|
13
|
+
let absoluteOutputPath = path.resolve(outFilePath);
|
|
14
14
|
await main(absoluteTsconfigPath, absoluteApiFolderPath, absoluteOutputPath);
|
|
15
15
|
});
|
|
16
16
|
program.parse(process.argv);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
main
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-WIZEBP6C.js";
|
|
5
5
|
|
|
6
6
|
// src/bin/gen-test/bin.ts
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { Command } from "commander";
|
|
9
9
|
var program = new Command();
|
|
10
10
|
program.name("\u751F\u6210\u6D4B\u8BD5\u6587\u4EF6").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").argument("<filter>", "\u8FC7\u6EE4\u5668(\u6B63\u5219)").action(async (tsconfigPath, interfaceFolderPath, outFilePath, filter) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
let absoluteTsconfigPath = path.resolve(tsconfigPath);
|
|
12
|
+
let absoluteApiFolderPath = path.resolve(interfaceFolderPath);
|
|
13
|
+
let absoluteOutputPath = path.resolve(outFilePath);
|
|
14
14
|
await main(absoluteTsconfigPath, absoluteApiFolderPath, absoluteOutputPath, filter);
|
|
15
15
|
});
|
|
16
16
|
program.parse(process.argv);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
main
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-64WWIZ43.js";
|
|
5
5
|
import "../../chunk-KRQ6KUVY.js";
|
|
6
6
|
|
|
7
7
|
// src/bin/gen-type/bin.ts
|
|
@@ -9,9 +9,9 @@ import path from "node:path";
|
|
|
9
9
|
import { Command } from "commander";
|
|
10
10
|
var program = new Command();
|
|
11
11
|
program.name("\u751F\u6210\u7C7B\u578B\u6587\u4EF6").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outputPath) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
let absoluteTsconfigPath = path.resolve(tsconfigPath);
|
|
13
|
+
let absoluteApiFolderPath = path.resolve(interfaceFolderPath);
|
|
14
|
+
let absoluteOutputPath = path.resolve(outputPath);
|
|
15
15
|
await main(absoluteTsconfigPath, absoluteApiFolderPath, absoluteOutputPath);
|
|
16
16
|
});
|
|
17
17
|
program.parse(process.argv);
|
|
@@ -9,8 +9,8 @@ var zod\u7C7B\u578B\u8868\u793A = z.object({});
|
|
|
9
9
|
var \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(zod\u7C7B\u578B\u8868\u793A, async (request) => {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
let url = new URL(request.url);
|
|
13
|
+
let pathname = url.pathname;
|
|
14
14
|
request.url = request.originalUrl = pathname.replace(pathname, decodeURIComponent(pathname));
|
|
15
15
|
return {};
|
|
16
16
|
});
|
|
@@ -15,27 +15,27 @@ var \u670D\u52A1\u5668 = class {
|
|
|
15
15
|
}
|
|
16
16
|
log = Global.getItem("log");
|
|
17
17
|
async run() {
|
|
18
|
-
|
|
18
|
+
let app = express();
|
|
19
19
|
app.use(async (req, res) => {
|
|
20
|
-
|
|
20
|
+
let log = (await this.log).extend("\u8BF7\u6C42").extend(short().new());
|
|
21
21
|
try {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
let \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
23
|
+
let \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
24
24
|
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
25
25
|
await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u7C7B\
|
|
26
|
+
let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => {
|
|
27
|
+
let \u63A5\u53E3\u7C7B\u578B = \u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
|
|
28
|
+
return \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u8DEF\u5F84() && \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u65B9\u6CD5();
|
|
29
29
|
});
|
|
30
30
|
if (\u76EE\u6807\u63A5\u53E3 != null) {
|
|
31
31
|
await log.debug("\u547D\u4E2D\u63A5\u53E3");
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
let \u63A5\u53E3\u7C7B\u578B = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B();
|
|
33
|
+
let \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
34
34
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
|
|
35
|
-
|
|
35
|
+
let \u63D2\u4EF6\u7ED3\u679C = (await Promise.all(\u63A5\u53E3\u63D2\u4EF6.map(async (\u63D2\u4EF6) => await (await \u63D2\u4EF6.run()).\u83B7\u5F97\u5B9E\u73B0()(req, res)))).reduce((s, a) => Object.assign(s, a), {});
|
|
36
36
|
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
37
37
|
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u903B\u8F91...");
|
|
38
|
-
|
|
38
|
+
let \u63A5\u53E3\u7ED3\u679C = await \u76EE\u6807\u63A5\u53E3.\u63A5\u53E3\u5B9E\u73B0(\u63D2\u4EF6\u7ED3\u679C);
|
|
39
39
|
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
40
40
|
await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
|
|
41
41
|
await \u63A5\u53E3\u7ED3\u679C.run(req, res);
|
|
@@ -62,18 +62,18 @@ var \u670D\u52A1\u5668 = class {
|
|
|
62
62
|
res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
let server = app.listen(this.\u7AEF\u53E3);
|
|
66
|
+
let wss = new WebSocketServer({ server });
|
|
67
67
|
wss.on("connection", async (ws, req) => {
|
|
68
|
-
|
|
68
|
+
let log = (await this.log).extend("WebSocket").extend(short().new());
|
|
69
69
|
await log.debug(`WebSocket \u8BF7\u6C42\u8FDE\u63A5: ${req.url}`);
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
let WebSocket\u7BA1\u7406\u8005 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
71
|
+
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1];
|
|
72
72
|
if (!\u5BA2\u6237\u7AEFid)
|
|
73
73
|
return ws.close(4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
74
74
|
if (await WebSocket\u7BA1\u7406\u8005.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid) == true)
|
|
75
75
|
return ws.close(4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
76
|
-
|
|
76
|
+
let \u5B58\u5728\u7684\u5BA2\u6237\u7AEFid = \u5BA2\u6237\u7AEFid;
|
|
77
77
|
await WebSocket\u7BA1\u7406\u8005.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
78
78
|
await log.debug(`WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEFid: ${\u5BA2\u6237\u7AEFid}`);
|
|
79
79
|
ws.on("close", async () => {
|
|
@@ -38,11 +38,11 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
38
38
|
*/
|
|
39
39
|
static \u5E76\u884C\u7EC4\u5408(arr, f) {
|
|
40
40
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
let \u6240\u6709\u7ED3\u679C = await Promise.all(arr.map((a) => a.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570)));
|
|
42
|
+
let \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0];
|
|
43
43
|
if (\u9519\u8BEF)
|
|
44
44
|
return \u9519\u8BEF;
|
|
45
|
-
|
|
45
|
+
let \u6B63\u786E\u7ED3\u679C\u5408\u5E76 = \u6240\u6709\u7ED3\u679C.map((a) => a.assertRight().getRight()).reduce((s, a) => Object.assign(s, a), {});
|
|
46
46
|
return new Right(await f(\u6B63\u786E\u7ED3\u679C\u5408\u5E76));
|
|
47
47
|
});
|
|
48
48
|
}
|
|
@@ -78,7 +78,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
78
78
|
*/
|
|
79
79
|
\u6D41\u5F0F\u7EC4\u5408(b) {
|
|
80
80
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
81
|
-
|
|
81
|
+
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
82
82
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
83
83
|
return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
84
84
|
return b.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
@@ -94,17 +94,17 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
94
94
|
*/
|
|
95
95
|
\u6DF7\u5408\u7EC4\u5408(b) {
|
|
96
96
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
97
|
-
|
|
97
|
+
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
98
98
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
99
99
|
return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
100
|
-
|
|
100
|
+
let \u5BF9\u65B9\u7ED3\u679C = await b.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0({ ...\u53C2\u6570, ...\u6211\u7684\u7ED3\u679C.assertRight().getRight() });
|
|
101
101
|
return \u5BF9\u65B9\u7ED3\u679C.map((a) => Object.assign(a, \u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
// ================================= 映射 =================================
|
|
105
105
|
\u6620\u5C04\u7ED3\u679C(f) {
|
|
106
106
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
107
|
-
|
|
107
|
+
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
108
108
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
109
109
|
return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
110
110
|
return Either.pure(f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()));
|
|
@@ -112,7 +112,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
112
112
|
}
|
|
113
113
|
\u6620\u5C04\u9519\u8BEF(f) {
|
|
114
114
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
115
|
-
|
|
115
|
+
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
116
116
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
117
117
|
return new Left(f(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft()));
|
|
118
118
|
return Either.pure(\u6211\u7684\u7ED3\u679C.assertRight().getRight());
|
|
@@ -127,7 +127,7 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
127
127
|
*/
|
|
128
128
|
\u7ED1\u5B9A(f) {
|
|
129
129
|
return _\u4E1A\u52A1\u884C\u4E3A.\u901A\u8FC7\u5B9E\u73B0\u6784\u9020(async (\u53C2\u6570) => {
|
|
130
|
-
|
|
130
|
+
let \u6211\u7684\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
131
131
|
if (\u6211\u7684\u7ED3\u679C.isLeft())
|
|
132
132
|
return new Left(\u6211\u7684\u7ED3\u679C.assertLeft().getLeft());
|
|
133
133
|
return f(\u6211\u7684\u7ED3\u679C.assertRight().getRight()).\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
|
|
@@ -9,7 +9,7 @@ import path from "node:path";
|
|
|
9
9
|
import ts from "typescript";
|
|
10
10
|
import { Log } from "@lsby/ts-log";
|
|
11
11
|
function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
12
|
-
for (
|
|
12
|
+
for (let statement of \u6E90\u6587\u4EF6.statements) {
|
|
13
13
|
if (ts.isExportAssignment(statement) && statement.isExportEquals === void 0) {
|
|
14
14
|
return true;
|
|
15
15
|
}
|
|
@@ -17,34 +17,34 @@ function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
|
17
17
|
return false;
|
|
18
18
|
}
|
|
19
19
|
async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
|
|
20
|
-
|
|
20
|
+
let log = new Log("@lsby:net-core").extend("gen-type");
|
|
21
21
|
await log.debug("\u5F00\u59CB\u751F\u6210\u7C7B\u578B...");
|
|
22
22
|
await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
|
|
23
23
|
await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
|
|
24
24
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
25
|
-
|
|
25
|
+
let tsconfig\u5185\u5BB9 = ts.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, fs.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
|
|
26
26
|
if (tsconfig\u5185\u5BB9.error) {
|
|
27
27
|
await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
|
|
28
28
|
throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
let \u89E3\u6790\u540E\u7684tsconfig = ts.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, ts.sys, path.resolve(tsconfig\u8DEF\u5F84, ".."));
|
|
31
31
|
await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
let \u9879\u76EE\u4E3B\u673A = ts.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
|
|
33
|
+
let \u9879\u76EE = ts.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
|
|
34
34
|
await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
|
|
36
|
+
let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
|
|
37
|
+
let \u6E90\u6587\u4EF6\u8DEF\u5F84 = path.normalize(\u6E90\u6587\u4EF6.fileName);
|
|
38
38
|
if (!\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84))
|
|
39
39
|
return false;
|
|
40
|
-
|
|
40
|
+
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
|
|
41
41
|
if (!\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA)
|
|
42
42
|
return false;
|
|
43
43
|
return true;
|
|
44
44
|
});
|
|
45
45
|
await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
|
|
47
|
+
let \u4EE3\u7801 = [
|
|
48
48
|
`import { \u63A5\u53E3\u7C7B\u578B, \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C, \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C } from '@lsby/net-core'`,
|
|
49
49
|
`import { z } from 'zod'`,
|
|
50
50
|
`import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
|
|
@@ -83,13 +83,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
83
83
|
ts.ScriptTarget.Latest
|
|
84
84
|
);
|
|
85
85
|
});
|
|
86
|
-
|
|
86
|
+
let \u65B0\u9879\u76EE = ts.createProgram({
|
|
87
87
|
rootNames: [...\u9879\u76EE.getSourceFiles().map((a) => a.fileName), ...\u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.map((a) => a.fileName)],
|
|
88
88
|
options: \u89E3\u6790\u540E\u7684tsconfig.options,
|
|
89
89
|
host: {
|
|
90
90
|
...\u9879\u76EE\u4E3B\u673A,
|
|
91
91
|
getSourceFile: (filename) => {
|
|
92
|
-
|
|
92
|
+
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName == filename);
|
|
93
93
|
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 != null)
|
|
94
94
|
return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
|
|
95
95
|
return \u9879\u76EE.getSourceFile(filename);
|
|
@@ -97,13 +97,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
97
97
|
},
|
|
98
98
|
oldProgram: \u9879\u76EE
|
|
99
99
|
});
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
for (
|
|
100
|
+
let \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
|
|
101
|
+
let JSON\u7ED3\u679C = [];
|
|
102
|
+
let WS\u7ED3\u679C = [];
|
|
103
|
+
for (let \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
|
|
104
104
|
ts.forEachChild(\u6E90\u6587\u4EF6, (node) => {
|
|
105
105
|
if (ts.isTypeAliasDeclaration(node) && node.name.text === "JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
|
|
106
|
-
|
|
106
|
+
let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
|
|
107
107
|
JSON\u7ED3\u679C.push(
|
|
108
108
|
\u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
|
|
109
109
|
type,
|
|
@@ -112,7 +112,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
112
112
|
)
|
|
113
113
|
);
|
|
114
114
|
} else if (ts.isTypeAliasDeclaration(node) && node.name.text === "WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
|
|
115
|
-
|
|
115
|
+
let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
|
|
116
116
|
WS\u7ED3\u679C.push(
|
|
117
117
|
\u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
|
|
118
118
|
type,
|
|
@@ -123,17 +123,17 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
|
-
|
|
126
|
+
let \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
|
|
127
127
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
|
|
128
|
-
|
|
128
|
+
let \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
|
|
129
129
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_WS.length} \u4E2Aws\u63A5\u53E3\u7C7B\u578B`);
|
|
130
|
-
|
|
130
|
+
let \u6700\u7EC8\u4EE3\u7801 = [
|
|
131
131
|
`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C_JSON.join(",")}]`,
|
|
132
132
|
`export type InterfaceWsType = [${\u6700\u7EC8\u7ED3\u679C_WS.join(",")}]`,
|
|
133
133
|
\u9644\u52A0\u4EE3\u7801
|
|
134
134
|
];
|
|
135
135
|
await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
|
|
136
|
-
|
|
136
|
+
let \u8F93\u51FA\u6587\u4EF6\u5939 = path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
|
|
137
137
|
if (!fs.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
|
|
138
138
|
fs.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
|
|
139
139
|
fs.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
正确JSON结果,
|
|
3
3
|
错误JSON结果
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-F6MKRRVF.js";
|
|
5
5
|
import {
|
|
6
6
|
接口
|
|
7
7
|
} from "./chunk-G4P3OAFL.js";
|
|
@@ -32,7 +32,7 @@ var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
|
32
32
|
return this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
33
33
|
}
|
|
34
34
|
async \u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
35
|
-
|
|
35
|
+
let c = await this.\u4E1A\u52A1\u884C\u4E3A.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
36
36
|
if (c.isLeft())
|
|
37
37
|
return new \u9519\u8BEFJSON\u7ED3\u679C({ status: "fail", data: c.assertLeft().getLeft() });
|
|
38
38
|
return new \u6B63\u786EJSON\u7ED3\u679C({ status: "success", data: c.assertRight().getRight() });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
递归截断字符串
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PVE5VI5K.js";
|
|
4
4
|
import {
|
|
5
5
|
Global
|
|
6
6
|
} from "./chunk-BC6IISWS.js";
|
|
@@ -18,7 +18,7 @@ var \u6B63\u786EJSON\u7ED3\u679C = class extends \u6B63\u786E\u7ED3\u679C {
|
|
|
18
18
|
}
|
|
19
19
|
log = Global.getItem("log");
|
|
20
20
|
async run(req, res) {
|
|
21
|
-
|
|
21
|
+
let log = (await this.log).extend("\u6B63\u786EJSON\u7ED3\u679C");
|
|
22
22
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
23
23
|
res.send(this.data);
|
|
24
24
|
}
|
|
@@ -42,7 +42,7 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
42
42
|
}
|
|
43
43
|
log = Global.getItem("log");
|
|
44
44
|
async run(req, res) {
|
|
45
|
-
|
|
45
|
+
let log = (await this.log).extend("\u9519\u8BEFJSON\u7ED3\u679C");
|
|
46
46
|
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(this.data));
|
|
47
47
|
res.send(this.data);
|
|
48
48
|
}
|
|
@@ -6,7 +6,7 @@ import L from "lodash";
|
|
|
6
6
|
import ts from "typescript";
|
|
7
7
|
import { Log } from "@lsby/ts-log";
|
|
8
8
|
function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
9
|
-
for (
|
|
9
|
+
for (let statement of \u6E90\u6587\u4EF6.statements) {
|
|
10
10
|
if (ts.isExportAssignment(statement) && statement.isExportEquals === void 0) {
|
|
11
11
|
return true;
|
|
12
12
|
}
|
|
@@ -23,34 +23,34 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
|
|
|
23
23
|
return path.relative(path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a.fileName).replaceAll("\\", "/").replaceAll(".ts", "");
|
|
24
24
|
}
|
|
25
25
|
async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
|
|
26
|
-
|
|
26
|
+
let log = new Log("@lsby:net-core").extend("gen-list");
|
|
27
27
|
await log.debug("\u5F00\u59CB\u751F\u6210\u63A5\u53E3\u5217\u8868...");
|
|
28
28
|
await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
|
|
29
29
|
await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
|
|
30
30
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
31
|
-
|
|
31
|
+
let tsconfig\u5185\u5BB9 = ts.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, fs.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
|
|
32
32
|
if (tsconfig\u5185\u5BB9.error) {
|
|
33
33
|
await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
|
|
34
34
|
throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
let \u89E3\u6790\u540E\u7684tsconfig = ts.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, ts.sys, path.resolve(tsconfig\u8DEF\u5F84, ".."));
|
|
37
37
|
await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
let \u9879\u76EE\u4E3B\u673A = ts.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
|
|
39
|
+
let \u9879\u76EE = ts.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
|
|
40
40
|
await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
|
|
42
|
+
let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
|
|
43
|
+
let \u6E90\u6587\u4EF6\u8DEF\u5F84 = path.normalize(\u6E90\u6587\u4EF6.fileName);
|
|
44
44
|
if (!\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84))
|
|
45
45
|
return false;
|
|
46
|
-
|
|
46
|
+
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
|
|
47
47
|
if (!\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA)
|
|
48
48
|
return false;
|
|
49
49
|
return true;
|
|
50
50
|
});
|
|
51
51
|
await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
|
|
53
|
+
let \u4EE3\u7801 = [
|
|
54
54
|
`import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
55
55
|
`import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
|
|
56
56
|
``,
|
|
@@ -62,13 +62,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
62
62
|
ts.ScriptTarget.Latest
|
|
63
63
|
);
|
|
64
64
|
});
|
|
65
|
-
|
|
65
|
+
let \u65B0\u9879\u76EE = ts.createProgram({
|
|
66
66
|
rootNames: [...\u9879\u76EE.getSourceFiles().map((a) => a.fileName), ...\u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.map((a) => a.fileName)],
|
|
67
67
|
options: \u89E3\u6790\u540E\u7684tsconfig.options,
|
|
68
68
|
host: {
|
|
69
69
|
...\u9879\u76EE\u4E3B\u673A,
|
|
70
70
|
getSourceFile: (filename) => {
|
|
71
|
-
|
|
71
|
+
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName == filename);
|
|
72
72
|
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 != null)
|
|
73
73
|
return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
|
|
74
74
|
return \u9879\u76EE.getSourceFile(filename);
|
|
@@ -76,34 +76,34 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
76
76
|
},
|
|
77
77
|
oldProgram: \u9879\u76EE
|
|
78
78
|
});
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
for (
|
|
82
|
-
|
|
79
|
+
let \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
|
|
80
|
+
let \u68C0\u67E5\u7ED3\u679C = [];
|
|
81
|
+
for (let \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
|
|
82
|
+
let \u7ED3\u679C = false;
|
|
83
83
|
ts.forEachChild(\u6E90\u6587\u4EF6, (node) => {
|
|
84
84
|
if (ts.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
|
|
86
|
+
let \u6587\u672C\u7ED3\u679C = \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(type);
|
|
87
87
|
if (\u6587\u672C\u7ED3\u679C == "true")
|
|
88
88
|
\u7ED3\u679C = true;
|
|
89
89
|
}
|
|
90
90
|
});
|
|
91
91
|
\u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
let \u6700\u7EC8\u7ED3\u679C = L.zip(\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
|
|
94
94
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
|
|
95
|
-
|
|
95
|
+
let \u6700\u7EC8\u4EE3\u7801 = [
|
|
96
96
|
`import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
97
97
|
"",
|
|
98
98
|
...\u6700\u7EC8\u7ED3\u679C.map((a) => `import ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)} from './${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`),
|
|
99
99
|
"",
|
|
100
|
-
`export
|
|
100
|
+
`export let interfaceList: \u4EFB\u610F\u63A5\u53E3[] = [`,
|
|
101
101
|
...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` ${a},`),
|
|
102
102
|
`]`,
|
|
103
103
|
""
|
|
104
104
|
];
|
|
105
105
|
await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
|
|
106
|
-
|
|
106
|
+
let \u8F93\u51FA\u6587\u4EF6\u5939 = path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
|
|
107
107
|
if (!fs.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
|
|
108
108
|
fs.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
|
|
109
109
|
fs.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
|
|
@@ -17,30 +17,27 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
17
17
|
}).or(z.undefined())
|
|
18
18
|
}),
|
|
19
19
|
async (req, _res) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var ws\u53E5\u67C4 = null;
|
|
20
|
+
let wsId = req.headers["ws-client-id"];
|
|
21
|
+
let WebSocket\u7BA1\u7406\u8005 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
22
|
+
let ws\u53E5\u67C4 = null;
|
|
24
23
|
if (typeof wsId == "string")
|
|
25
24
|
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u8005.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
26
25
|
if (!ws\u53E5\u67C4)
|
|
27
26
|
return { ws\u64CD\u4F5C: void 0 };
|
|
28
|
-
|
|
27
|
+
let \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
|
|
29
28
|
return {
|
|
30
29
|
ws\u64CD\u4F5C: {
|
|
31
30
|
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
32
|
-
|
|
33
|
-
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F))
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
return new Promise((res, rej) => {
|
|
32
|
+
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
33
|
+
if (err)
|
|
34
|
+
return rej(err);
|
|
35
|
+
return res();
|
|
36
|
+
});
|
|
37
|
+
});
|
|
37
38
|
},
|
|
38
39
|
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
39
|
-
|
|
40
|
-
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
41
|
-
} catch (e) {
|
|
42
|
-
await log.err(e);
|
|
43
|
-
}
|
|
40
|
+
\u5B58\u5728\u7684ws\u53E5\u67C4.close();
|
|
44
41
|
}
|
|
45
42
|
}
|
|
46
43
|
};
|
|
@@ -7,7 +7,7 @@ var \u63A5\u53E3\u6D4B\u8BD5 = class {
|
|
|
7
7
|
}
|
|
8
8
|
async \u8FD0\u884C() {
|
|
9
9
|
await this.\u524D\u7F6E\u5B9E\u73B0();
|
|
10
|
-
|
|
10
|
+
let \u4E2D\u7F6E\u7ED3\u679C = await this.\u4E2D\u7F6E\u5B9E\u73B0();
|
|
11
11
|
await this.\u540E\u7F6E\u5B9E\u73B0(\u4E2D\u7F6E\u7ED3\u679C);
|
|
12
12
|
}
|
|
13
13
|
};
|
|
@@ -13,7 +13,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
13
13
|
pRes(null);
|
|
14
14
|
})
|
|
15
15
|
);
|
|
16
|
-
|
|
16
|
+
let parseResult = t.safeParse(req.body);
|
|
17
17
|
if (!parseResult.success)
|
|
18
18
|
throw new Error(format("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
|
|
19
19
|
return parseResult.data;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
正确JSON结果,
|
|
3
3
|
错误JSON结果
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-F6MKRRVF.js";
|
|
5
5
|
import {
|
|
6
6
|
接口
|
|
7
7
|
} from "./chunk-G4P3OAFL.js";
|
|
@@ -17,7 +17,7 @@ var JSON\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
|
17
17
|
return this.\u63A5\u53E3\u7C7B\u578B\u63CF\u8FF0;
|
|
18
18
|
}
|
|
19
19
|
async \u63A5\u53E3\u5B9E\u73B0(\u53C2\u6570) {
|
|
20
|
-
|
|
20
|
+
let c = await this.\u4E1A\u52A1\u884C\u4E3A.\u8FD0\u884C\u4E1A\u52A1\u884C\u4E3A(\u53C2\u6570);
|
|
21
21
|
if (c.isLeft())
|
|
22
22
|
return new \u9519\u8BEFJSON\u7ED3\u679C(c.assertLeft().getLeft());
|
|
23
23
|
return new \u6B63\u786EJSON\u7ED3\u679C(c.assertRight().getRight());
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/tools/tools.ts
|
|
2
2
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
3
|
-
|
|
3
|
+
let \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
4
4
|
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
5
5
|
return \u5185\u5BB9.slice(0, \u6700\u5927\u65E5\u5FD7\u957F\u5EA6) + "...";
|
|
6
6
|
return \u5185\u5BB9;
|
|
@@ -11,8 +11,8 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
|
11
11
|
if (Array.isArray(\u6570\u636E))
|
|
12
12
|
return \u6570\u636E.map((\u9879) => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u9879));
|
|
13
13
|
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
14
|
-
|
|
15
|
-
for (
|
|
14
|
+
let \u65B0\u6570\u636E = {};
|
|
15
|
+
for (let key in \u6570\u636E) {
|
|
16
16
|
if (\u6570\u636E.hasOwnProperty(key))
|
|
17
17
|
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
18
18
|
}
|