@lsby/net-core 0.4.0-beta.2 → 0.4.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/gen-list/bin.cjs +15 -14
- package/dist/bin/gen-list/index.cjs +13 -12
- package/dist/bin/gen-table-list/bin.cjs +157 -0
- package/dist/bin/gen-table-list/bin.d.cts +1 -0
- package/dist/bin/gen-table-list/index.cjs +156 -0
- package/dist/bin/gen-table-list/index.d.cts +3 -0
- package/dist/bin/gen-table-type/addition.cjs +58 -0
- package/dist/bin/gen-table-type/addition.d.cts +3 -0
- package/dist/bin/gen-table-type/bin.cjs +208 -0
- package/dist/bin/gen-table-type/bin.d.cts +1 -0
- package/dist/bin/gen-table-type/index.cjs +207 -0
- package/dist/bin/gen-table-type/index.d.cts +3 -0
- package/dist/bin/gen-test/bin.cjs +16 -15
- package/dist/bin/gen-test/index.cjs +15 -14
- package/dist/bin/gen-type/bin.cjs +13 -12
- package/dist/bin/gen-type/index.cjs +12 -11
- package/dist/cjs/action/action.cjs +2 -2
- package/dist/cjs/bin/gen-list/bin.cjs +15 -14
- package/dist/cjs/bin/gen-list/index.cjs +13 -12
- package/dist/cjs/bin/gen-table-list/bin.cjs +157 -0
- package/dist/cjs/bin/gen-table-list/bin.d.cts +1 -0
- package/dist/cjs/bin/gen-table-list/index.cjs +156 -0
- package/dist/cjs/bin/gen-table-list/index.d.cts +3 -0
- package/dist/cjs/bin/gen-table-type/addition.cjs +58 -0
- package/dist/cjs/bin/gen-table-type/addition.d.cts +3 -0
- package/dist/cjs/bin/gen-table-type/bin.cjs +208 -0
- package/dist/cjs/bin/gen-table-type/bin.d.cts +1 -0
- package/dist/cjs/bin/gen-table-type/index.cjs +207 -0
- package/dist/cjs/bin/gen-table-type/index.d.cts +3 -0
- package/dist/cjs/bin/gen-test/bin.cjs +16 -15
- package/dist/cjs/bin/gen-test/index.cjs +15 -14
- package/dist/cjs/bin/gen-type/bin.cjs +13 -12
- package/dist/cjs/bin/gen-type/index.cjs +12 -11
- package/dist/cjs/global/global.cjs +2 -2
- package/dist/cjs/global/ws.cjs +2 -2
- package/dist/cjs/index.cjs +227 -87
- package/dist/cjs/index.d.cts +3 -2
- package/dist/cjs/interface/interface-base.d.cts +4 -4
- package/dist/cjs/interface/interface-logic.cjs +16 -10
- package/dist/cjs/interface/interface-logic.d.cts +34 -15
- package/dist/cjs/interface/interface-result.d.cts +2 -2
- package/dist/cjs/interface-table/interface-table.cjs +59 -0
- package/dist/cjs/interface-table/interface-table.d.cts +95 -0
- package/dist/cjs/plugin/extend/chinese-path.d.cts +1 -1
- package/dist/cjs/plugin/extend/custom-data.cjs +2 -2
- package/dist/cjs/plugin/extend/custom-data.d.cts +1 -1
- package/dist/cjs/plugin/extend/json.cjs +5 -5
- package/dist/cjs/plugin/extend/urlencoded.cjs +4 -4
- package/dist/cjs/plugin/extend/web-socket.cjs +7 -7
- package/dist/cjs/plugin/extend/web-socket.d.cts +2 -2
- package/dist/cjs/plugin/plug.d.cts +1 -1
- package/dist/cjs/server/server.cjs +187 -68
- package/dist/cjs/server/server.d.cts +15 -2
- package/dist/cjs/tools/tools.cjs +1 -1
- package/dist/esm/action/action.js +1 -1
- package/dist/esm/bin/gen-list/bin.js +3 -3
- package/dist/esm/bin/gen-list/index.js +1 -1
- package/dist/esm/bin/gen-table-list/bin.d.ts +1 -0
- package/dist/esm/bin/gen-table-list/bin.js +16 -0
- package/dist/esm/bin/gen-table-list/index.d.ts +3 -0
- package/dist/esm/bin/gen-table-list/index.js +6 -0
- package/dist/esm/bin/gen-table-type/addition.d.ts +3 -0
- package/dist/esm/bin/gen-table-type/addition.js +6 -0
- package/dist/esm/bin/gen-table-type/bin.d.ts +1 -0
- package/dist/esm/bin/gen-table-type/bin.js +17 -0
- package/dist/esm/bin/gen-table-type/index.d.ts +3 -0
- package/dist/esm/bin/gen-table-type/index.js +7 -0
- package/dist/esm/bin/gen-test/bin.js +2 -2
- package/dist/esm/bin/gen-test/index.js +1 -1
- package/dist/esm/bin/gen-type/bin.js +2 -2
- package/dist/esm/bin/gen-type/index.js +1 -1
- package/dist/esm/{chunk-F7TZXXFE.js → chunk-2QVSQMI7.js} +13 -12
- package/dist/esm/{chunk-JX5MRJL6.js → chunk-43ZE4ZNH.js} +1 -1
- package/dist/esm/{chunk-5WR5VNYH.js → chunk-47ICFQXW.js} +2 -2
- package/dist/esm/{chunk-6AW5SSYA.js → chunk-6Y4UXWIN.js} +3 -3
- package/dist/esm/{chunk-GVIGQG5Y.js → chunk-7Y3YE4M5.js} +4 -4
- package/dist/esm/chunk-AAZFVBDH.js +144 -0
- package/dist/esm/chunk-CSKAQDJA.js +204 -0
- package/dist/esm/{chunk-AVB7KPZC.js → chunk-CSOONB3X.js} +6 -6
- package/dist/esm/{chunk-BC6IISWS.js → chunk-DGDZQLIJ.js} +1 -1
- package/dist/esm/{chunk-BOCS6H24.js → chunk-ELSBYQPF.js} +12 -11
- package/dist/esm/{chunk-EAVNASDB.js → chunk-FIQSBTYJ.js} +2 -2
- package/dist/esm/{chunk-PVE5VI5K.js → chunk-IGHJCQ2S.js} +1 -1
- package/dist/esm/chunk-IY26L2UM.js +122 -0
- package/dist/esm/{chunk-EZ7OJFSQ.js → chunk-QGSMHYVT.js} +15 -9
- package/dist/esm/chunk-RG6U5R37.js +34 -0
- package/dist/esm/chunk-XICLHBEA.js +34 -0
- package/dist/esm/{chunk-WIZEBP6C.js → chunk-YATLUSDZ.js} +15 -14
- package/dist/esm/global/global.js +2 -2
- package/dist/esm/global/ws.js +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +16 -10
- package/dist/esm/interface/interface-base.d.ts +4 -4
- package/dist/esm/interface/interface-logic.d.ts +34 -15
- package/dist/esm/interface/interface-logic.js +3 -3
- package/dist/esm/interface/interface-result.d.ts +2 -2
- package/dist/esm/interface-table/interface-table.d.ts +95 -0
- package/dist/esm/interface-table/interface-table.js +8 -0
- package/dist/esm/plugin/extend/chinese-path.d.ts +1 -1
- package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
- package/dist/esm/plugin/extend/custom-data.js +3 -3
- package/dist/esm/plugin/extend/json.js +4 -4
- package/dist/esm/plugin/extend/urlencoded.js +3 -3
- package/dist/esm/plugin/extend/web-socket.d.ts +2 -2
- package/dist/esm/plugin/extend/web-socket.js +3 -3
- package/dist/esm/plugin/plug.d.ts +1 -1
- package/dist/esm/server/server.d.ts +15 -2
- package/dist/esm/server/server.js +5 -4
- package/dist/esm/tools/tools.js +1 -1
- package/package.json +14 -4
- package/dist/esm/chunk-3ERQ6GCK.js +0 -101
|
@@ -33,8 +33,8 @@ __export(server_exports, {
|
|
|
33
33
|
\u670D\u52A1\u5668: () => \u670D\u52A1\u5668
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(server_exports);
|
|
36
|
-
var import_node_os = require("os");
|
|
37
36
|
var import_express = __toESM(require("express"), 1);
|
|
37
|
+
var import_node_os = require("os");
|
|
38
38
|
var import_short_uuid = __toESM(require("short-uuid"), 1);
|
|
39
39
|
var import_ws2 = require("ws");
|
|
40
40
|
|
|
@@ -51,10 +51,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
51
51
|
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
52
52
|
}
|
|
53
53
|
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
54
|
-
return this.\u8FDE\u63A5\u8868
|
|
54
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
|
|
55
55
|
}
|
|
56
56
|
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
57
|
-
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id]
|
|
57
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
|
|
58
58
|
}
|
|
59
59
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
60
60
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
@@ -71,6 +71,25 @@ var Global = new import_ts_global.GlobalService([
|
|
|
71
71
|
})
|
|
72
72
|
]);
|
|
73
73
|
|
|
74
|
+
// src/interface/interface-result.ts
|
|
75
|
+
var \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 = class {
|
|
76
|
+
};
|
|
77
|
+
var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
78
|
+
\u5B9E\u73B0(\u6570\u636E) {
|
|
79
|
+
switch (\u6570\u636E.getTag()) {
|
|
80
|
+
case "Left": {
|
|
81
|
+
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
82
|
+
}
|
|
83
|
+
case "Right": {
|
|
84
|
+
return { status: "success", data: \u6570\u636E.assertRight().getRight() };
|
|
85
|
+
}
|
|
86
|
+
default: {
|
|
87
|
+
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
|
|
74
93
|
// src/tools/tools.ts
|
|
75
94
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
76
95
|
let \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
@@ -86,7 +105,7 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
|
86
105
|
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
87
106
|
let \u65B0\u6570\u636E = {};
|
|
88
107
|
for (let key in \u6570\u636E) {
|
|
89
|
-
if (\u6570\u636E.hasOwnProperty(key))
|
|
108
|
+
if (\u6570\u636E.hasOwnProperty(key) === true)
|
|
90
109
|
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
91
110
|
}
|
|
92
111
|
return \u65B0\u6570\u636E;
|
|
@@ -96,88 +115,188 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
|
96
115
|
|
|
97
116
|
// src/server/server.ts
|
|
98
117
|
var \u670D\u52A1\u5668 = class {
|
|
99
|
-
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
118
|
+
constructor(\u63A5\u53E3\u4EEC, \u865A\u62DF\u8868\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
100
119
|
this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
|
|
120
|
+
this.\u865A\u62DF\u8868\u4EEC = \u865A\u62DF\u8868\u4EEC;
|
|
101
121
|
this.\u7AEF\u53E3 = \u7AEF\u53E3;
|
|
102
122
|
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
103
123
|
}
|
|
104
124
|
log = Global.getItem("log");
|
|
105
125
|
async run() {
|
|
106
126
|
let app = (0, import_express.default)();
|
|
107
|
-
app.use(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
await log.debug("\u5C1D\u8BD5\u5339\u914D\u9759\u6001\u8D44\u6E90...");
|
|
137
|
-
import_express.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
|
|
138
|
-
setHeaders: async () => {
|
|
139
|
-
await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
140
|
-
}
|
|
141
|
-
})(req, res, async () => {
|
|
142
|
-
await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
143
|
-
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
144
|
-
res.status(404);
|
|
145
|
-
res.end();
|
|
146
|
-
});
|
|
127
|
+
app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
|
|
128
|
+
let server = app.listen(this.\u7AEF\u53E3);
|
|
129
|
+
await this.\u521D\u59CB\u5316WebSocket(server);
|
|
130
|
+
return { ip: this.\u83B7\u53D6\u672C\u5730\u5730\u5740(), server };
|
|
131
|
+
}
|
|
132
|
+
async \u5904\u7406\u8BF7\u6C42(req, res) {
|
|
133
|
+
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
134
|
+
let log = (await this.log).extend(\u8BF7\u6C42id).extend("\u63A7\u5236\u5668");
|
|
135
|
+
try {
|
|
136
|
+
let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
|
|
137
|
+
let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
|
|
138
|
+
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
139
|
+
let \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 ?? null;
|
|
140
|
+
if (\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== null && \u8BF7\u6C42\u65B9\u6CD5 === "get" && await this.\u5904\u7406\u9759\u6001\u8D44\u6E90(req, res, log)) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => \u8BF7\u6C42\u65B9\u6CD5 === \u63A5\u53E3.\u83B7\u5F97\u65B9\u6CD5() && \u8BF7\u6C42\u8DEF\u5F84 === \u63A5\u53E3.\u83B7\u5F97\u8DEF\u5F84()) ?? null;
|
|
144
|
+
if (\u76EE\u6807\u63A5\u53E3 !== null) {
|
|
145
|
+
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, log, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42id);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (\u8BF7\u6C42\u65B9\u6CD5 === "post") {
|
|
149
|
+
let \u76EE\u6807\u865A\u62DF\u8868 = this.\u865A\u62DF\u8868\u4EEC.find((\u865A\u62DF\u8868) => \u8BF7\u6C42\u8DEF\u5F84.startsWith(\u865A\u62DF\u8868.\u8D44\u6E90\u8DEF\u5F84)) ?? null;
|
|
150
|
+
if (\u76EE\u6807\u865A\u62DF\u8868 !== null) {
|
|
151
|
+
let \u865A\u62DF\u8868\u64CD\u4F5C = this.\u89E3\u6790\u865A\u62DF\u8868\u64CD\u4F5C(\u76EE\u6807\u865A\u62DF\u8868.\u8D44\u6E90\u8DEF\u5F84, \u8BF7\u6C42\u8DEF\u5F84);
|
|
152
|
+
if (\u865A\u62DF\u8868\u64CD\u4F5C !== null) {
|
|
153
|
+
await this.\u5904\u7406\u865A\u62DF\u8868\u903B\u8F91(req, res, log, \u865A\u62DF\u8868\u64CD\u4F5C, \u76EE\u6807\u865A\u62DF\u8868, \u8BF7\u6C42id);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
147
156
|
}
|
|
148
|
-
} catch (e) {
|
|
149
|
-
await log.err(e);
|
|
150
|
-
res.status(500);
|
|
151
|
-
res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
152
157
|
}
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
159
|
+
res.status(404).end();
|
|
160
|
+
} catch (error) {
|
|
161
|
+
await log.err(error);
|
|
162
|
+
res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
async \u5904\u7406\u9759\u6001\u8D44\u6E90(req, res, log) {
|
|
166
|
+
let \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 ?? null;
|
|
167
|
+
let \u547D\u4E2D = false;
|
|
168
|
+
if (\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== null) {
|
|
169
|
+
await new Promise((resolve) => {
|
|
170
|
+
import_express.default.static(\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
|
|
171
|
+
setHeaders: async () => {
|
|
172
|
+
await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
173
|
+
\u547D\u4E2D = true;
|
|
174
|
+
resolve();
|
|
175
|
+
}
|
|
176
|
+
})(req, res, () => resolve());
|
|
177
|
+
});
|
|
178
|
+
} else {
|
|
179
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
180
|
+
}
|
|
181
|
+
return \u547D\u4E2D;
|
|
182
|
+
}
|
|
183
|
+
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, log, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42id) {
|
|
184
|
+
let \u63A5\u53E3\u903B\u8F91 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
185
|
+
let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
186
|
+
await log.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
187
|
+
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id });
|
|
188
|
+
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
189
|
+
let \u6700\u7EC8\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
190
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
|
|
191
|
+
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
192
|
+
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
193
|
+
}
|
|
194
|
+
async \u5904\u7406\u865A\u62DF\u8868\u903B\u8F91(req, res, log, \u865A\u62DF\u8868\u64CD\u4F5C, \u76EE\u6807\u865A\u62DF\u8868, \u8BF7\u6C42id) {
|
|
195
|
+
await log.debug("\u8C03\u7528\u865A\u62DF\u8868\u903B\u8F91...");
|
|
196
|
+
await log.debug("\u8C03\u7528json\u89E3\u6790...");
|
|
197
|
+
await new Promise(
|
|
198
|
+
(pRes, _rej) => import_express.default.json({})(req, res, () => {
|
|
199
|
+
pRes(null);
|
|
200
|
+
})
|
|
201
|
+
);
|
|
202
|
+
await log.debug("json\u89E3\u6790\u5B8C\u6210");
|
|
203
|
+
await log.debug("\u865A\u62DF\u8868: %O", \u76EE\u6807\u865A\u62DF\u8868.name);
|
|
204
|
+
await log.debug("\u64CD\u4F5C: %O", \u865A\u62DF\u8868\u64CD\u4F5C);
|
|
205
|
+
await log.debug("\u63D0\u53D6\u6784\u9020\u53C2\u6570...");
|
|
206
|
+
let \u6784\u9020\u53C2\u6570 = req.body?.["construction"] ?? null;
|
|
207
|
+
if (\u6784\u9020\u53C2\u6570 === null)
|
|
208
|
+
throw new Error("\u6784\u9020\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A");
|
|
209
|
+
await log.debug("\u6784\u9020\u53C2\u6570: %O", \u6784\u9020\u53C2\u6570);
|
|
210
|
+
let \u865A\u62DF\u8868\u5B9E\u4F8B = new \u76EE\u6807\u865A\u62DF\u8868(\u6784\u9020\u53C2\u6570);
|
|
211
|
+
let \u7ED3\u679C;
|
|
212
|
+
switch (\u865A\u62DF\u8868\u64CD\u4F5C) {
|
|
213
|
+
case "add": {
|
|
214
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u589E");
|
|
215
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u589E(req.body?.["value"]);
|
|
216
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
case "del": {
|
|
220
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u5220");
|
|
221
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u5220(req.body?.["where"]);
|
|
222
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
case "set": {
|
|
226
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u6539");
|
|
227
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u6539(req.body?.["value"], req.body?.["where"]);
|
|
228
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
case "get": {
|
|
232
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u67E5");
|
|
233
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u67E5(req.body?.["where"], req.body?.["page"], req.body?.["sort"]);
|
|
234
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
default: {
|
|
238
|
+
throw new Error(`\u610F\u5916\u7684\u64CD\u4F5C: ${\u865A\u62DF\u8868\u64CD\u4F5C}`);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
let \u6700\u7EC8\u7ED3\u679C = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668().\u5B9E\u73B0(await \u7ED3\u679C.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id }));
|
|
242
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
|
|
243
|
+
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
244
|
+
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
245
|
+
}
|
|
246
|
+
\u89E3\u6790\u865A\u62DF\u8868\u64CD\u4F5C(\u8D44\u6E90\u8DEF\u5F84, \u8BF7\u6C42\u8DEF\u5F84) {
|
|
247
|
+
let \u5206\u89E3 = \u8BF7\u6C42\u8DEF\u5F84.split("/");
|
|
248
|
+
let \u64CD\u4F5C = \u5206\u89E3.at(-1) ?? null;
|
|
249
|
+
let \u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 = \u5206\u89E3.slice(0, -1).join("/");
|
|
250
|
+
if (\u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 !== \u8D44\u6E90\u8DEF\u5F84)
|
|
251
|
+
return null;
|
|
252
|
+
if (\u64CD\u4F5C !== "add" && \u64CD\u4F5C !== "del" && \u64CD\u4F5C !== "set" && \u64CD\u4F5C !== "get")
|
|
253
|
+
return null;
|
|
254
|
+
return \u64CD\u4F5C;
|
|
255
|
+
}
|
|
256
|
+
async \u521D\u59CB\u5316WebSocket(server) {
|
|
155
257
|
let wss = new import_ws2.WebSocketServer({ server });
|
|
258
|
+
let logBase = (await this.log).extend("web-socket");
|
|
156
259
|
wss.on("connection", async (ws, req) => {
|
|
157
|
-
let log =
|
|
158
|
-
await log.debug(
|
|
260
|
+
let log = logBase.extend((0, import_short_uuid.default)().new()).extend("WebSocket");
|
|
261
|
+
await log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
|
|
262
|
+
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
|
|
263
|
+
if (\u5BA2\u6237\u7AEFid === null) {
|
|
264
|
+
await log.err("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
265
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
266
|
+
}
|
|
267
|
+
await log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
159
268
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
160
|
-
let \
|
|
161
|
-
if (
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
let \u5B58\u5728\u7684\u5BA2\u6237\u7AEFid = \u5BA2\u6237\u7AEFid;
|
|
269
|
+
let \u662F\u5426\u5DF2\u5B58\u5728 = await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
270
|
+
if (\u662F\u5426\u5DF2\u5B58\u5728) {
|
|
271
|
+
await log.err("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
272
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
273
|
+
}
|
|
166
274
|
await WebSocket\u7BA1\u7406\u80052.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
167
|
-
await log.
|
|
275
|
+
await log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
168
276
|
ws.on("close", async () => {
|
|
169
|
-
await log.
|
|
170
|
-
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\
|
|
277
|
+
await log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
|
|
278
|
+
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
171
279
|
});
|
|
172
280
|
ws.on("error", async (err) => {
|
|
173
|
-
await log.err(
|
|
174
|
-
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\
|
|
281
|
+
await log.err("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
|
|
282
|
+
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
175
283
|
});
|
|
176
284
|
});
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
};
|
|
285
|
+
wss.on("listening", async () => {
|
|
286
|
+
let log = logBase;
|
|
287
|
+
await log.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
288
|
+
});
|
|
289
|
+
wss.on("error", async (err) => {
|
|
290
|
+
let log = logBase;
|
|
291
|
+
await log.err("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, code, reason) {
|
|
295
|
+
await log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u539F\u56E0: ${reason}`);
|
|
296
|
+
ws.close(code, reason);
|
|
297
|
+
}
|
|
298
|
+
\u83B7\u53D6\u672C\u5730\u5730\u5740() {
|
|
299
|
+
return Object.values((0, import_node_os.networkInterfaces)()).flatMap((iface) => iface ?? []).map((address) => `http://${address.address}:${this.\u7AEF\u53E3}`);
|
|
181
300
|
}
|
|
182
301
|
};
|
|
183
302
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1,22 +1,35 @@
|
|
|
1
1
|
import * as http from 'node:http';
|
|
2
|
+
import { 任意虚拟表 as _____ } from '../interface-table/interface-table.cjs';
|
|
2
3
|
import { 任意接口 as ____ } from '../interface/interface-base.cjs';
|
|
3
4
|
import 'zod';
|
|
4
5
|
import '../interface/interface-logic.cjs';
|
|
5
|
-
import 'express';
|
|
6
6
|
import '@lsby/ts-fp-data';
|
|
7
|
+
import 'express';
|
|
7
8
|
import '../plugin/plug.cjs';
|
|
8
9
|
import '../interface/interface-result.cjs';
|
|
9
10
|
|
|
10
11
|
declare class 服务器 {
|
|
11
12
|
private 接口们;
|
|
13
|
+
private 虚拟表们;
|
|
12
14
|
private 端口;
|
|
13
15
|
private 静态资源路径?;
|
|
14
16
|
private log;
|
|
15
|
-
constructor(接口们: ____[],
|
|
17
|
+
constructor(接口们: ____[], 虚拟表们: {
|
|
18
|
+
new (构造参数: any): _____;
|
|
19
|
+
资源路径: string;
|
|
20
|
+
}[], 端口: number, 静态资源路径?: string | undefined);
|
|
16
21
|
run(): Promise<{
|
|
17
22
|
ip: string[];
|
|
18
23
|
server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
19
24
|
}>;
|
|
25
|
+
private 处理请求;
|
|
26
|
+
private 处理静态资源;
|
|
27
|
+
private 处理接口逻辑;
|
|
28
|
+
private 处理虚拟表逻辑;
|
|
29
|
+
private 解析虚拟表操作;
|
|
30
|
+
private 初始化WebSocket;
|
|
31
|
+
private 关闭WebSocket连接;
|
|
32
|
+
private 获取本地地址;
|
|
20
33
|
}
|
|
21
34
|
|
|
22
35
|
export { 服务器 };
|
package/dist/cjs/tools/tools.cjs
CHANGED
|
@@ -38,7 +38,7 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
|
38
38
|
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
39
39
|
let \u65B0\u6570\u636E = {};
|
|
40
40
|
for (let key in \u6570\u636E) {
|
|
41
|
-
if (\u6570\u636E.hasOwnProperty(key))
|
|
41
|
+
if (\u6570\u636E.hasOwnProperty(key) === true)
|
|
42
42
|
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
43
43
|
}
|
|
44
44
|
return \u65B0\u6570\u636E;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
main
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-2QVSQMI7.js";
|
|
5
5
|
|
|
6
6
|
// src/bin/gen-list/bin.ts
|
|
7
|
-
import path from "node:path";
|
|
8
7
|
import { Command } from "commander";
|
|
8
|
+
import path from "node:path";
|
|
9
9
|
var program = new Command();
|
|
10
|
-
program.name("\u751F\u6210\
|
|
10
|
+
program.name("\u751F\u6210\u63A5\u53E3\u6587\u4EF6\u5217\u8868").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
11
|
let absoluteTsconfigPath = path.resolve(tsconfigPath);
|
|
12
12
|
let absoluteApiFolderPath = path.resolve(interfaceFolderPath);
|
|
13
13
|
let absoluteOutputPath = path.resolve(outFilePath);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
main
|
|
4
|
+
} from "../../chunk-IY26L2UM.js";
|
|
5
|
+
|
|
6
|
+
// src/bin/gen-table-list/bin.ts
|
|
7
|
+
import { Command } from "commander";
|
|
8
|
+
import path from "node:path";
|
|
9
|
+
var program = new Command();
|
|
10
|
+
program.name("\u751F\u6210\u8868\u63A5\u53E3\u6587\u4EF6\u5217\u8868").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
|
+
let absoluteTsconfigPath = path.resolve(tsconfigPath);
|
|
12
|
+
let absoluteApiFolderPath = path.resolve(interfaceFolderPath);
|
|
13
|
+
let absoluteOutputPath = path.resolve(outFilePath);
|
|
14
|
+
await main(absoluteTsconfigPath, absoluteApiFolderPath, absoluteOutputPath);
|
|
15
|
+
});
|
|
16
|
+
program.parse(process.argv);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
main
|
|
4
|
+
} from "../../chunk-AAZFVBDH.js";
|
|
5
|
+
import "../../chunk-XICLHBEA.js";
|
|
6
|
+
|
|
7
|
+
// src/bin/gen-table-type/bin.ts
|
|
8
|
+
import { Command } from "commander";
|
|
9
|
+
import path from "node:path";
|
|
10
|
+
var program = new Command();
|
|
11
|
+
program.name("\u751F\u6210\u8868\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
|
+
let absoluteTsconfigPath = path.resolve(tsconfigPath);
|
|
13
|
+
let absoluteApiFolderPath = path.resolve(interfaceFolderPath);
|
|
14
|
+
let absoluteOutputPath = path.resolve(outputPath);
|
|
15
|
+
await main(absoluteTsconfigPath, absoluteApiFolderPath, absoluteOutputPath);
|
|
16
|
+
});
|
|
17
|
+
program.parse(process.argv);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
main
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-YATLUSDZ.js";
|
|
5
5
|
|
|
6
6
|
// src/bin/gen-test/bin.ts
|
|
7
|
-
import path from "node:path";
|
|
8
7
|
import { Command } from "commander";
|
|
8
|
+
import path from "node:path";
|
|
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
11
|
let absoluteTsconfigPath = path.resolve(tsconfigPath);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
main
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-ELSBYQPF.js";
|
|
5
5
|
import "../../chunk-KRQ6KUVY.js";
|
|
6
6
|
|
|
7
7
|
// src/bin/gen-type/bin.ts
|
|
8
|
-
import path from "node:path";
|
|
9
8
|
import { Command } from "commander";
|
|
9
|
+
import path from "node:path";
|
|
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
12
|
let absoluteTsconfigPath = path.resolve(tsconfigPath);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// src/bin/gen-list/index.ts
|
|
2
|
+
import { Log } from "@lsby/ts-log";
|
|
3
|
+
import L from "lodash";
|
|
2
4
|
import { randomUUID } from "node:crypto";
|
|
3
5
|
import fs from "node:fs";
|
|
4
6
|
import path from "node:path";
|
|
5
|
-
import L from "lodash";
|
|
6
7
|
import ts from "typescript";
|
|
7
|
-
import { Log } from "@lsby/ts-log";
|
|
8
8
|
function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
9
9
|
for (let statement of \u6E90\u6587\u4EF6.statements) {
|
|
10
|
-
if (ts.isExportAssignment(statement) && statement.isExportEquals ===
|
|
10
|
+
if (ts.isExportAssignment(statement) && (statement.isExportEquals ?? null) === null) {
|
|
11
11
|
return true;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -29,8 +29,9 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
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
|
-
|
|
33
|
-
|
|
32
|
+
let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
|
|
33
|
+
if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
|
|
34
|
+
await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
|
|
34
35
|
throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
|
|
35
36
|
}
|
|
36
37
|
let \u89E3\u6790\u540E\u7684tsconfig = ts.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, ts.sys, path.resolve(tsconfig\u8DEF\u5F84, ".."));
|
|
@@ -41,10 +42,10 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
41
42
|
let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
|
|
42
43
|
let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
|
|
43
44
|
let \u6E90\u6587\u4EF6\u8DEF\u5F84 = path.normalize(\u6E90\u6587\u4EF6.fileName);
|
|
44
|
-
if (
|
|
45
|
+
if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
|
|
45
46
|
return false;
|
|
46
47
|
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
|
|
47
|
-
if (
|
|
48
|
+
if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
|
|
48
49
|
return false;
|
|
49
50
|
return true;
|
|
50
51
|
});
|
|
@@ -68,8 +69,8 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
68
69
|
host: {
|
|
69
70
|
...\u9879\u76EE\u4E3B\u673A,
|
|
70
71
|
getSourceFile: (filename) => {
|
|
71
|
-
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName
|
|
72
|
-
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6
|
|
72
|
+
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
|
|
73
|
+
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
|
|
73
74
|
return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
|
|
74
75
|
return \u9879\u76EE.getSourceFile(filename);
|
|
75
76
|
}
|
|
@@ -84,13 +85,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
84
85
|
if (ts.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
|
|
85
86
|
let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
|
|
86
87
|
let \u6587\u672C\u7ED3\u679C = \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(type);
|
|
87
|
-
if (\u6587\u672C\u7ED3\u679C
|
|
88
|
+
if (\u6587\u672C\u7ED3\u679C === "true")
|
|
88
89
|
\u7ED3\u679C = true;
|
|
89
90
|
}
|
|
90
91
|
});
|
|
91
92
|
\u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
|
|
92
93
|
}
|
|
93
|
-
let \u6700\u7EC8\u7ED3\u679C = L.zip(\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1]
|
|
94
|
+
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] ?? null).filter((a) => a !== null);
|
|
94
95
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
|
|
95
96
|
let \u6700\u7EC8\u4EE3\u7801 = [
|
|
96
97
|
`import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
@@ -104,7 +105,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
104
105
|
];
|
|
105
106
|
await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
|
|
106
107
|
let \u8F93\u51FA\u6587\u4EF6\u5939 = path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
|
|
107
|
-
if (
|
|
108
|
+
if (fs.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
|
|
108
109
|
fs.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
|
|
109
110
|
fs.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
|
|
110
111
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
@@ -39,8 +39,8 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
|
|
|
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
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
|
-
if (\u9519\u8BEF)
|
|
42
|
+
let \u9519\u8BEF = \u6240\u6709\u7ED3\u679C.filter((a) => a.isLeft())[0] ?? null;
|
|
43
|
+
if (\u9519\u8BEF !== null)
|
|
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));
|