@lsby/net-core 0.3.44 → 0.4.0-beta.10
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 → gen-api-list}/bin.cjs +22 -21
- package/dist/{cjs/bin/gen-list → bin/gen-api-list}/index.cjs +21 -20
- package/dist/{cjs/interface/interface-inst.cjs → bin/gen-api-type/addition.cjs} +7 -8
- package/dist/bin/gen-api-type/bin.cjs +196 -0
- package/dist/bin/gen-api-type/index.cjs +195 -0
- package/dist/bin/gen-table-list/bin.cjs +157 -0
- package/dist/bin/gen-table-list/index.cjs +156 -0
- package/dist/bin/gen-table-type/addition.cjs +64 -0
- package/dist/bin/gen-table-type/bin.cjs +219 -0
- package/dist/bin/gen-table-type/index.cjs +218 -0
- package/dist/bin/gen-test/bin.cjs +16 -15
- package/dist/bin/gen-test/index.cjs +15 -14
- package/dist/cjs/action/action.cjs +2 -2
- package/dist/cjs/bin/{gen-list → gen-api-list}/bin.cjs +22 -21
- package/dist/{bin/gen-list → cjs/bin/gen-api-list}/index.cjs +21 -20
- package/dist/cjs/bin/gen-api-type/addition.cjs +30 -0
- package/dist/cjs/bin/gen-api-type/bin.cjs +196 -0
- package/dist/cjs/bin/gen-api-type/index.cjs +195 -0
- 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 +64 -0
- package/dist/cjs/bin/gen-table-type/addition.d.cts +3 -0
- package/dist/cjs/bin/gen-table-type/bin.cjs +219 -0
- package/dist/cjs/bin/gen-table-type/bin.d.cts +1 -0
- package/dist/cjs/bin/gen-table-type/index.cjs +218 -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/global/global.cjs +2 -2
- package/dist/cjs/global/ws.cjs +2 -2
- package/dist/cjs/index.cjs +322 -250
- package/dist/cjs/index.d.cts +9 -8
- package/dist/cjs/interface-api/interface-base.cjs +57 -0
- package/dist/cjs/interface-api/interface-base.d.cts +44 -0
- package/dist/cjs/interface-api/interface-logic.cjs +111 -0
- package/dist/cjs/interface-api/interface-logic.d.cts +61 -0
- package/dist/cjs/interface-api/interface-result.cjs +48 -0
- package/dist/cjs/interface-api/interface-result.d.cts +31 -0
- package/dist/cjs/{interface → interface-api}/interface-test.cjs +1 -1
- package/dist/cjs/interface-table/interface-table.cjs +35 -0
- package/dist/cjs/interface-table/interface-table.d.cts +97 -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 +7 -7
- package/dist/cjs/plugin/extend/json.d.cts +3 -5
- package/dist/cjs/plugin/extend/urlencoded.cjs +6 -6
- package/dist/cjs/plugin/extend/web-socket.cjs +9 -9
- package/dist/cjs/plugin/extend/web-socket.d.cts +2 -2
- package/dist/cjs/plugin/plug.d.cts +10 -5
- package/dist/cjs/server/server.cjs +204 -67
- package/dist/cjs/server/server.d.cts +19 -6
- package/dist/cjs/tools/tools.cjs +1 -1
- package/dist/cjs/tools/types.cjs +18 -0
- package/dist/cjs/tools/types.d.cts +5 -0
- package/dist/esm/action/action.js +1 -1
- package/dist/esm/bin/gen-api-list/bin.d.ts +1 -0
- package/dist/esm/bin/{gen-list → gen-api-list}/bin.js +4 -4
- package/dist/esm/bin/gen-api-list/index.d.ts +3 -0
- package/dist/esm/bin/{gen-list → gen-api-list}/index.js +1 -1
- package/dist/esm/bin/gen-api-type/addition.d.ts +3 -0
- package/dist/esm/bin/{gen-type → gen-api-type}/addition.js +1 -1
- package/dist/esm/bin/gen-api-type/bin.d.ts +1 -0
- package/dist/esm/bin/gen-api-type/bin.js +17 -0
- package/dist/esm/bin/gen-api-type/index.d.ts +3 -0
- package/dist/esm/bin/gen-api-type/index.js +7 -0
- 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/{chunk-6AW5SSYA.js → chunk-2G4PSYTL.js} +5 -5
- 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-4HFR4KRY.js +23 -0
- package/dist/esm/chunk-4T2MZJJ5.js +122 -0
- package/dist/esm/chunk-63YFVECY.js +11 -0
- package/dist/esm/chunk-7RPSQQZA.js +199 -0
- package/dist/esm/{chunk-WIZEBP6C.js → chunk-BC5MM5IX.js} +15 -14
- package/dist/esm/chunk-CPOABMEY.js +40 -0
- package/dist/esm/chunk-DAKGERGA.js +0 -0
- package/dist/esm/{chunk-BC6IISWS.js → chunk-DGDZQLIJ.js} +1 -1
- package/dist/esm/{chunk-EAVNASDB.js → chunk-FIQSBTYJ.js} +2 -2
- package/dist/esm/chunk-G45OAMTZ.js +149 -0
- package/dist/esm/{chunk-N7TPWCQ5.js → chunk-GLZWRYH6.js} +1 -1
- package/dist/esm/{chunk-PVE5VI5K.js → chunk-IGHJCQ2S.js} +1 -1
- package/dist/esm/chunk-JVDSGTFS.js +6 -0
- package/dist/esm/chunk-JXGP4GSQ.js +56 -0
- package/dist/esm/{chunk-GVIGQG5Y.js → chunk-LLLXAZBC.js} +6 -6
- package/dist/esm/chunk-RS244OBR.js +33 -0
- package/dist/esm/{chunk-F7TZXXFE.js → chunk-RUSBZSSK.js} +18 -17
- package/dist/esm/{chunk-64WWIZ43.js → chunk-UHOWN2M5.js} +67 -52
- package/dist/esm/{chunk-AVB7KPZC.js → chunk-XOR7HWL4.js} +8 -8
- package/dist/esm/global/global.js +2 -2
- package/dist/esm/global/ws.js +1 -1
- package/dist/esm/index.d.ts +9 -8
- package/dist/esm/index.js +33 -41
- package/dist/esm/interface-api/interface-base.d.ts +44 -0
- package/dist/esm/{interface/interface-inst.js → interface-api/interface-base.js} +1 -1
- package/dist/esm/interface-api/interface-logic.d.ts +61 -0
- package/dist/esm/interface-api/interface-logic.js +8 -0
- package/dist/esm/interface-api/interface-result.d.ts +31 -0
- package/dist/esm/interface-api/interface-result.js +8 -0
- package/dist/esm/{interface → interface-api}/interface-test.js +1 -1
- package/dist/esm/interface-table/interface-table.d.ts +97 -0
- package/dist/esm/interface-table/interface-table.js +6 -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.d.ts +3 -5
- 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 +10 -5
- package/dist/esm/server/server.d.ts +19 -6
- package/dist/esm/server/server.js +5 -3
- package/dist/esm/tools/tools.js +1 -1
- package/dist/esm/tools/types.d.ts +5 -0
- package/dist/esm/tools/types.js +1 -0
- package/package.json +18 -8
- package/dist/bin/gen-type/addition.cjs +0 -148
- package/dist/bin/gen-type/bin.cjs +0 -299
- package/dist/bin/gen-type/index.cjs +0 -298
- package/dist/cjs/bin/gen-type/addition.cjs +0 -148
- package/dist/cjs/bin/gen-type/bin.cjs +0 -299
- package/dist/cjs/bin/gen-type/index.cjs +0 -298
- package/dist/cjs/interface/extend/json-base.cjs +0 -141
- package/dist/cjs/interface/extend/json-base.d.cts +0 -18
- package/dist/cjs/interface/extend/json-wrap.cjs +0 -181
- package/dist/cjs/interface/extend/json-wrap.d.cts +0 -28
- package/dist/cjs/interface/interface-inst.d.cts +0 -16
- package/dist/cjs/interface/interface-type.cjs +0 -53
- package/dist/cjs/interface/interface-type.d.cts +0 -28
- package/dist/cjs/result/result.cjs +0 -138
- package/dist/cjs/result/result.d.cts +0 -34
- package/dist/esm/bin/gen-type/bin.js +0 -17
- package/dist/esm/bin/gen-type/index.js +0 -7
- package/dist/esm/chunk-4V2TOQZ2.js +0 -58
- package/dist/esm/chunk-FAW4GTXP.js +0 -29
- package/dist/esm/chunk-G4P3OAFL.js +0 -7
- package/dist/esm/chunk-KRQ6KUVY.js +0 -124
- package/dist/esm/chunk-SF5Z34AP.js +0 -29
- package/dist/esm/chunk-UUUCTDAN.js +0 -98
- package/dist/esm/chunk-WF7MUELD.js +0 -45
- package/dist/esm/interface/extend/json-base.d.ts +0 -18
- package/dist/esm/interface/extend/json-base.js +0 -11
- package/dist/esm/interface/extend/json-wrap.d.ts +0 -28
- package/dist/esm/interface/extend/json-wrap.js +0 -14
- package/dist/esm/interface/interface-inst.d.ts +0 -16
- package/dist/esm/interface/interface-type.d.ts +0 -28
- package/dist/esm/interface/interface-type.js +0 -6
- package/dist/esm/result/result.d.ts +0 -34
- package/dist/esm/result/result.js +0 -19
- /package/dist/bin/{gen-list → gen-api-list}/bin.d.cts +0 -0
- /package/dist/bin/{gen-list → gen-api-list}/index.d.cts +0 -0
- /package/dist/bin/{gen-type → gen-api-type}/addition.d.cts +0 -0
- /package/dist/bin/{gen-type → gen-api-type}/bin.d.cts +0 -0
- /package/dist/bin/{gen-type → gen-api-type}/index.d.cts +0 -0
- /package/dist/{cjs/bin/gen-list → bin/gen-table-list}/bin.d.cts +0 -0
- /package/dist/{cjs/bin/gen-list → bin/gen-table-list}/index.d.cts +0 -0
- /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/addition.d.cts +0 -0
- /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/bin.d.cts +0 -0
- /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/index.d.cts +0 -0
- /package/dist/{esm/bin/gen-list/bin.d.ts → cjs/bin/gen-api-list/bin.d.cts} +0 -0
- /package/dist/{esm/bin/gen-list/index.d.ts → cjs/bin/gen-api-list/index.d.cts} +0 -0
- /package/dist/{esm/bin/gen-type/addition.d.ts → cjs/bin/gen-api-type/addition.d.cts} +0 -0
- /package/dist/{esm/bin/gen-type/bin.d.ts → cjs/bin/gen-api-type/bin.d.cts} +0 -0
- /package/dist/{esm/bin/gen-type/index.d.ts → cjs/bin/gen-api-type/index.d.cts} +0 -0
- /package/dist/cjs/{interface → interface-api}/interface-test.d.cts +0 -0
- /package/dist/esm/{interface → interface-api}/interface-test.d.ts +0 -0
|
@@ -33,8 +33,8 @@ __export(urlencoded_exports, {
|
|
|
33
33
|
\u8868\u5355\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u89E3\u6790\u63D2\u4EF6
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(urlencoded_exports);
|
|
36
|
-
var import_node_util = require("util");
|
|
37
36
|
var import_express = __toESM(require("express"), 1);
|
|
37
|
+
var import_node_util = require("util");
|
|
38
38
|
|
|
39
39
|
// src/global/global.ts
|
|
40
40
|
var import_ts_global = require("@lsby/ts-global");
|
|
@@ -49,10 +49,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
49
49
|
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
50
50
|
}
|
|
51
51
|
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
52
|
-
return this.\u8FDE\u63A5\u8868
|
|
52
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
|
|
53
53
|
}
|
|
54
54
|
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
55
|
-
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id]
|
|
55
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
|
|
56
56
|
}
|
|
57
57
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
58
58
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
@@ -95,9 +95,9 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
95
95
|
})
|
|
96
96
|
);
|
|
97
97
|
let parseResult = t.safeParse(req.body);
|
|
98
|
-
if (
|
|
99
|
-
await log.
|
|
100
|
-
throw new Error((0, import_node_util.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %
|
|
98
|
+
if (parseResult.success === false) {
|
|
99
|
+
await log.error("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error);
|
|
100
|
+
throw new Error((0, import_node_util.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error));
|
|
101
101
|
}
|
|
102
102
|
return parseResult.data;
|
|
103
103
|
});
|
|
@@ -38,10 +38,10 @@ var WebSocket\u7BA1\u7406\u8005 = class {
|
|
|
38
38
|
this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] = ws\u53E5\u67C4;
|
|
39
39
|
}
|
|
40
40
|
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u8BF7\u6C42id) {
|
|
41
|
-
return this.\u8FDE\u63A5\u8868
|
|
41
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(\u8BF7\u6C42id) ? true : false;
|
|
42
42
|
}
|
|
43
43
|
async \u83B7\u5F97\u53E5\u67C4(\u8BF7\u6C42id) {
|
|
44
|
-
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id]
|
|
44
|
+
return this.\u8FDE\u63A5\u8868[\u8BF7\u6C42id] ?? null;
|
|
45
45
|
}
|
|
46
46
|
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
47
47
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
@@ -81,7 +81,7 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
81
81
|
ws\u64CD\u4F5C: import_zod.z.object({
|
|
82
82
|
\u53D1\u9001ws\u4FE1\u606F: import_zod.z.function(import_zod.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod.z.promise(import_zod.z.void())),
|
|
83
83
|
\u5173\u95EDws\u8FDE\u63A5: import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void()))
|
|
84
|
-
}).or(import_zod.z.
|
|
84
|
+
}).or(import_zod.z.null())
|
|
85
85
|
}),
|
|
86
86
|
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
87
87
|
let log = (await this.log).extend(\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("ws\u63D2\u4EF6");
|
|
@@ -89,13 +89,13 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
89
89
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
90
90
|
let ws\u53E5\u67C4 = null;
|
|
91
91
|
await log.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
92
|
-
if (typeof wsId
|
|
92
|
+
if (typeof wsId === "string") {
|
|
93
93
|
await log.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4");
|
|
94
94
|
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u80052.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
95
95
|
}
|
|
96
|
-
if (
|
|
97
|
-
await log.
|
|
98
|
-
return { ws\u64CD\u4F5C:
|
|
96
|
+
if (ws\u53E5\u67C4 === null) {
|
|
97
|
+
await log.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
98
|
+
return { ws\u64CD\u4F5C: null };
|
|
99
99
|
}
|
|
100
100
|
let \u5B58\u5728\u7684ws\u53E5\u67C4 = ws\u53E5\u67C4;
|
|
101
101
|
await log.debug("WebSocket \u53E5\u67C4\u5DF2\u51C6\u5907\u597D");
|
|
@@ -105,8 +105,8 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
105
105
|
await log.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
|
|
106
106
|
return new Promise((res, rej) => {
|
|
107
107
|
\u5B58\u5728\u7684ws\u53E5\u67C4.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
108
|
-
if (err) {
|
|
109
|
-
log.
|
|
108
|
+
if ((err ?? null) !== null) {
|
|
109
|
+
log.error("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err }).catch(console.error);
|
|
110
110
|
return rej(err);
|
|
111
111
|
}
|
|
112
112
|
log.debug("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F").catch(console.error);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取Task插件类型 as _Task____ } from '../plug.cjs';
|
|
3
|
-
import 'express';
|
|
4
3
|
import '@lsby/ts-fp-data';
|
|
4
|
+
import 'express';
|
|
5
5
|
|
|
6
6
|
declare class WebSocket插件<信息 extends z.AnyZodObject> extends __<z.ZodObject<{
|
|
7
7
|
ws操作: z.ZodUnion<[
|
|
@@ -9,7 +9,7 @@ declare class WebSocket插件<信息 extends z.AnyZodObject> extends __<z.ZodObj
|
|
|
9
9
|
发送ws信息: z.ZodFunction<z.ZodTuple<[信息], null>, z.ZodPromise<z.ZodVoid>>;
|
|
10
10
|
关闭ws连接: z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>;
|
|
11
11
|
}>,
|
|
12
|
-
z.
|
|
12
|
+
z.ZodNull
|
|
13
13
|
]>;
|
|
14
14
|
}>> {
|
|
15
15
|
private log;
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
+
import { Task } from '@lsby/ts-fp-data';
|
|
1
2
|
import { Request, Response } from 'express';
|
|
2
3
|
import { z } from 'zod';
|
|
3
|
-
import { Task } from '@lsby/ts-fp-data';
|
|
4
4
|
|
|
5
|
-
type
|
|
5
|
+
type 插件附加参数 = {
|
|
6
6
|
请求id: string;
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* 类似express中的中间件, 做一些前置过程, 例如解析参数, 解析文件等.
|
|
10
|
+
*
|
|
11
|
+
* 可以被注入在"接口逻辑"中, 为其提供前置数据.
|
|
12
|
+
*/
|
|
8
13
|
declare class 插件<Obj extends z.AnyZodObject> {
|
|
9
14
|
private 类型;
|
|
10
15
|
private 实现;
|
|
11
16
|
protected readonly __类型保持符号?: Obj;
|
|
12
|
-
constructor(类型: Obj, 实现: (req: Request, res: Response, 附加参数:
|
|
17
|
+
constructor(类型: Obj, 实现: (req: Request, res: Response, 附加参数: 插件附加参数) => Promise<z.infer<Obj>>);
|
|
13
18
|
获得类型(): Obj;
|
|
14
|
-
运行(req: Request, res: Response, 附加参数:
|
|
19
|
+
运行(req: Request, res: Response, 附加参数: 插件附加参数): Promise<z.infer<Obj>>;
|
|
15
20
|
}
|
|
16
21
|
type 任意插件 = 插件<any>;
|
|
17
22
|
type 包装插件项<A> = Task<A>;
|
|
@@ -21,4 +26,4 @@ type 取Task插件类型<A> = A extends Task<infer x> ? x : never;
|
|
|
21
26
|
type 取插件内部ts类型<A> = A extends 插件<infer x> ? z.infer<x> : never;
|
|
22
27
|
type 合并插件结果<Arr extends Array<插件项类型>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<插件项类型> ? z.infer<取Task插件内部类型<插件项>> & 合并插件结果<xs> : {} : {} : {};
|
|
23
28
|
|
|
24
|
-
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type
|
|
29
|
+
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type 插件附加参数, type 插件项类型 };
|
|
@@ -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,90 +71,227 @@ var Global = new import_ts_global.GlobalService([
|
|
|
71
71
|
})
|
|
72
72
|
]);
|
|
73
73
|
|
|
74
|
+
// src/interface-api/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
|
+
|
|
93
|
+
// src/tools/tools.ts
|
|
94
|
+
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
95
|
+
let \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
96
|
+
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
97
|
+
return \u5185\u5BB9.slice(0, \u6700\u5927\u65E5\u5FD7\u957F\u5EA6) + "...";
|
|
98
|
+
return \u5185\u5BB9;
|
|
99
|
+
}
|
|
100
|
+
function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
101
|
+
if (typeof \u6570\u636E === "string")
|
|
102
|
+
return \u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E);
|
|
103
|
+
if (Array.isArray(\u6570\u636E))
|
|
104
|
+
return \u6570\u636E.map((\u9879) => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u9879));
|
|
105
|
+
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
106
|
+
let \u65B0\u6570\u636E = {};
|
|
107
|
+
for (let key in \u6570\u636E) {
|
|
108
|
+
if (\u6570\u636E.hasOwnProperty(key) === true)
|
|
109
|
+
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
110
|
+
}
|
|
111
|
+
return \u65B0\u6570\u636E;
|
|
112
|
+
}
|
|
113
|
+
return \u6570\u636E;
|
|
114
|
+
}
|
|
115
|
+
|
|
74
116
|
// src/server/server.ts
|
|
75
117
|
var \u670D\u52A1\u5668 = class {
|
|
76
|
-
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) {
|
|
77
119
|
this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
|
|
120
|
+
this.\u865A\u62DF\u8868\u4EEC = \u865A\u62DF\u8868\u4EEC;
|
|
78
121
|
this.\u7AEF\u53E3 = \u7AEF\u53E3;
|
|
79
122
|
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
80
123
|
}
|
|
81
124
|
log = Global.getItem("log");
|
|
82
125
|
async run() {
|
|
83
126
|
let app = (0, import_express.default)();
|
|
84
|
-
app.use(
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
await log.debug("\u5C1D\u8BD5\u5339\u914D\u9759\u6001\u8D44\u6E90...");
|
|
114
|
-
import_express.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84, {
|
|
115
|
-
setHeaders: async () => {
|
|
116
|
-
await log.debug("\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
117
|
-
}
|
|
118
|
-
})(req, res, async () => {
|
|
119
|
-
await log.debug("\u6CA1\u6709\u547D\u4E2D\u9759\u6001\u8D44\u6E90");
|
|
120
|
-
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
121
|
-
res.status(404);
|
|
122
|
-
res.end();
|
|
123
|
-
});
|
|
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
|
+
}
|
|
124
156
|
}
|
|
125
|
-
} catch (e) {
|
|
126
|
-
await log.err(e);
|
|
127
|
-
res.status(500);
|
|
128
|
-
res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
129
157
|
}
|
|
130
|
-
|
|
131
|
-
|
|
158
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
159
|
+
res.status(404).end();
|
|
160
|
+
} catch (error) {
|
|
161
|
+
await log.error(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: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.body));
|
|
203
|
+
await log.debug("\u63D0\u53D6\u6784\u9020\u53C2\u6570...");
|
|
204
|
+
let \u6784\u9020\u53C2\u6570 = req.body?.["construction"] ?? null;
|
|
205
|
+
if (\u6784\u9020\u53C2\u6570 === null)
|
|
206
|
+
throw new Error("\u6784\u9020\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A");
|
|
207
|
+
await log.debug("\u63D0\u53D6\u6784\u9020\u53C2\u6570\u6210\u529F: %o", \u6784\u9020\u53C2\u6570);
|
|
208
|
+
let \u865A\u62DF\u8868\u5B9E\u4F8B = new \u76EE\u6807\u865A\u62DF\u8868(\u6784\u9020\u53C2\u6570);
|
|
209
|
+
let \u7ED3\u679C;
|
|
210
|
+
switch (\u865A\u62DF\u8868\u64CD\u4F5C) {
|
|
211
|
+
case "add": {
|
|
212
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u589E");
|
|
213
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u589E(req.body?.["value"]);
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
case "del": {
|
|
217
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u5220");
|
|
218
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u5220(req.body?.["where"]);
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
case "set": {
|
|
222
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u6539");
|
|
223
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u6539(req.body?.["value"], req.body?.["where"]);
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
case "get": {
|
|
227
|
+
await log.debug("\u8C03\u7528\u903B\u8F91: \u67E5");
|
|
228
|
+
\u7ED3\u679C = await \u865A\u62DF\u8868\u5B9E\u4F8B.\u67E5(req.body?.["where"], req.body?.["page"], req.body?.["sort"]);
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
default: {
|
|
232
|
+
throw new Error(`\u610F\u5916\u7684\u64CD\u4F5C: ${\u865A\u62DF\u8868\u64CD\u4F5C}`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
let \u6700\u7EC8\u7ED3\u679C = new \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668().\u5B9E\u73B0(await \u7ED3\u679C.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id }));
|
|
236
|
+
await log.debug("\u8C03\u7528\u7ED3\u675F");
|
|
237
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
|
|
238
|
+
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
239
|
+
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
240
|
+
}
|
|
241
|
+
\u89E3\u6790\u865A\u62DF\u8868\u64CD\u4F5C(\u8D44\u6E90\u8DEF\u5F84, \u8BF7\u6C42\u8DEF\u5F84) {
|
|
242
|
+
let \u5206\u89E3 = \u8BF7\u6C42\u8DEF\u5F84.split("/");
|
|
243
|
+
let \u64CD\u4F5C = \u5206\u89E3.at(-1) ?? null;
|
|
244
|
+
let \u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 = \u5206\u89E3.slice(0, -1).join("/");
|
|
245
|
+
if (\u89E3\u6790\u8D44\u6E90\u8DEF\u5F84 !== \u8D44\u6E90\u8DEF\u5F84)
|
|
246
|
+
return null;
|
|
247
|
+
if (\u64CD\u4F5C !== "add" && \u64CD\u4F5C !== "del" && \u64CD\u4F5C !== "set" && \u64CD\u4F5C !== "get")
|
|
248
|
+
return null;
|
|
249
|
+
return \u64CD\u4F5C;
|
|
250
|
+
}
|
|
251
|
+
async \u521D\u59CB\u5316WebSocket(server) {
|
|
132
252
|
let wss = new import_ws2.WebSocketServer({ server });
|
|
253
|
+
let logBase = (await this.log).extend("web-socket");
|
|
133
254
|
wss.on("connection", async (ws, req) => {
|
|
134
|
-
let log =
|
|
135
|
-
await log.debug(
|
|
255
|
+
let log = logBase.extend((0, import_short_uuid.default)().new()).extend("WebSocket");
|
|
256
|
+
await log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
|
|
257
|
+
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
|
|
258
|
+
if (\u5BA2\u6237\u7AEFid === null) {
|
|
259
|
+
await log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
260
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
261
|
+
}
|
|
262
|
+
await log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
136
263
|
let WebSocket\u7BA1\u7406\u80052 = await Global.getItem("WebSocket\u7BA1\u7406\u8005");
|
|
137
|
-
let \
|
|
138
|
-
if (
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
let \u5B58\u5728\u7684\u5BA2\u6237\u7AEFid = \u5BA2\u6237\u7AEFid;
|
|
264
|
+
let \u662F\u5426\u5DF2\u5B58\u5728 = await WebSocket\u7BA1\u7406\u80052.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
265
|
+
if (\u662F\u5426\u5DF2\u5B58\u5728) {
|
|
266
|
+
await log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
267
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
268
|
+
}
|
|
143
269
|
await WebSocket\u7BA1\u7406\u80052.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
144
|
-
await log.
|
|
270
|
+
await log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
145
271
|
ws.on("close", async () => {
|
|
146
|
-
await log.
|
|
147
|
-
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\
|
|
272
|
+
await log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
|
|
273
|
+
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
148
274
|
});
|
|
149
275
|
ws.on("error", async (err) => {
|
|
150
|
-
await log.
|
|
151
|
-
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\
|
|
276
|
+
await log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
|
|
277
|
+
await WebSocket\u7BA1\u7406\u80052.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
152
278
|
});
|
|
153
279
|
});
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
};
|
|
280
|
+
wss.on("listening", async () => {
|
|
281
|
+
let log = logBase;
|
|
282
|
+
await log.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
283
|
+
});
|
|
284
|
+
wss.on("error", async (err) => {
|
|
285
|
+
let log = logBase;
|
|
286
|
+
await log.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, code, reason) {
|
|
290
|
+
await log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u539F\u56E0: ${reason}`);
|
|
291
|
+
ws.close(code, reason);
|
|
292
|
+
}
|
|
293
|
+
\u83B7\u53D6\u672C\u5730\u5730\u5740() {
|
|
294
|
+
return Object.values((0, import_node_os.networkInterfaces)()).flatMap((iface) => iface ?? []).map((address) => `http://${address.address}:${this.\u7AEF\u53E3}`);
|
|
158
295
|
}
|
|
159
296
|
};
|
|
160
297
|
// 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/interface-
|
|
2
|
+
import { 任意接口 as ____ } from '../interface-api/interface-base.cjs';
|
|
3
|
+
import { 任意虚拟表 as _____ } from '../interface-table/interface-table.cjs';
|
|
3
4
|
import 'zod';
|
|
4
|
-
import '../
|
|
5
|
-
import 'express';
|
|
5
|
+
import '../interface-api/interface-logic.cjs';
|
|
6
6
|
import '@lsby/ts-fp-data';
|
|
7
|
-
import '
|
|
8
|
-
import '../
|
|
7
|
+
import 'express';
|
|
8
|
+
import '../plugin/plug.cjs';
|
|
9
|
+
import '../interface-api/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;
|
|
@@ -0,0 +1,18 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/tools/types.ts
|
|
17
|
+
var types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
main
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-RUSBZSSK.js";
|
|
5
5
|
|
|
6
|
-
// src/bin/gen-list/bin.ts
|
|
7
|
-
import path from "node:path";
|
|
6
|
+
// src/bin/gen-api-list/bin.ts
|
|
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\u53E3api\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,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
main
|
|
4
|
+
} from "../../chunk-UHOWN2M5.js";
|
|
5
|
+
import "../../chunk-JVDSGTFS.js";
|
|
6
|
+
|
|
7
|
+
// src/bin/gen-api-type/bin.ts
|
|
8
|
+
import { Command } from "commander";
|
|
9
|
+
import path from "node:path";
|
|
10
|
+
var program = new Command();
|
|
11
|
+
program.name("\u751F\u6210api\u63A5\u53E3\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);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|