@lsby/net-core 0.10.3 → 0.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/gen-api-type/bin.cjs +17 -12
- package/dist/bin/gen-api-type/index.cjs +17 -12
- package/dist/cjs/bin/gen-api-type/bin.cjs +17 -12
- package/dist/cjs/bin/gen-api-type/index.cjs +17 -12
- package/dist/cjs/global/global.cjs +16 -0
- package/dist/cjs/global/global.d.cts +2 -0
- package/dist/cjs/index.cjs +90 -62
- package/dist/cjs/index.d.cts +4 -4
- package/dist/cjs/interface/interface-base.d.cts +1 -1
- package/dist/cjs/interface/interface-logic.d.cts +1 -1
- package/dist/cjs/interface/interface-result.cjs +0 -6
- package/dist/cjs/interface/interface-result.d.cts +1 -1
- package/dist/cjs/{interface-base-CyfrfgWu.d.cts → interface-base-gRngpxki.d.cts} +6 -5
- 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/json.d.cts +4 -4
- package/dist/cjs/plugin/extend/log-headers.d.cts +1 -1
- package/dist/cjs/plugin/extend/query.d.cts +1 -1
- package/dist/cjs/plugin/extend/urlencoded.cjs +4 -4
- package/dist/cjs/plugin/extend/urlencoded.d.cts +3 -3
- package/dist/cjs/plugin/extend/web-socket.cjs +33 -2
- package/dist/cjs/plugin/extend/web-socket.d.cts +10 -8
- package/dist/cjs/plugin/plug.d.cts +1 -1
- package/dist/cjs/server/server.cjs +64 -45
- package/dist/cjs/server/server.d.cts +1 -1
- package/dist/cjs/wrapper/common-wrapper-return.cjs +0 -3
- package/dist/cjs/wrapper/common-wrapper-return.d.cts +1 -1
- package/dist/cjs/wrapper/common-wrapper.cjs +0 -3
- package/dist/cjs/wrapper/common-wrapper.d.cts +1 -1
- package/dist/cjs/wrapper/deferred-result-wrapper.cjs +0 -3
- package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +1 -1
- package/dist/cjs/wrapper/express-compatible-wrapper.d.cts +1 -1
- package/dist/cjs/wrapper/file-download-wrapper.cjs +0 -3
- package/dist/cjs/wrapper/file-download-wrapper.d.cts +1 -1
- package/dist/esm/bin/gen-api-type/bin.js +1 -1
- package/dist/esm/bin/gen-api-type/index.js +1 -1
- package/dist/esm/{chunk-B5DKJ5AV.js → chunk-2FCXR6G7.js} +17 -12
- package/dist/esm/{chunk-3ZQFVYIR.js → chunk-2NYRVBAS.js} +49 -46
- package/dist/esm/{chunk-NJKBRPN7.js → chunk-3YGTOEO2.js} +16 -0
- package/dist/esm/{chunk-H7LZCHCE.js → chunk-6RQPNF75.js} +1 -1
- package/dist/esm/{chunk-HDPEZW7H.js → chunk-FYEIC5J3.js} +1 -1
- package/dist/esm/{chunk-C5FED6EO.js → chunk-GC5W4SQN.js} +18 -3
- package/dist/esm/{chunk-NB2QNDI2.js → chunk-GKABWQWT.js} +1 -1
- package/dist/esm/{chunk-XSYZ5A6R.js → chunk-IM3E5KN4.js} +1 -1
- package/dist/esm/{chunk-TSDOOGHG.js → chunk-KENYGKWI.js} +4 -4
- package/dist/esm/{chunk-DNJQGD5M.js → chunk-P75EGBKC.js} +0 -6
- package/dist/esm/{chunk-NCYHKHIH.js → chunk-SGOVPJHV.js} +1 -1
- package/dist/esm/{chunk-3XRAG6DM.js → chunk-VRF5WLKI.js} +3 -3
- package/dist/esm/global/global.d.ts +2 -0
- package/dist/esm/global/global.js +1 -1
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.js +17 -17
- package/dist/esm/interface/interface-base.d.ts +1 -1
- package/dist/esm/interface/interface-logic.d.ts +1 -1
- package/dist/esm/interface/interface-result.d.ts +1 -1
- package/dist/esm/interface/interface-result.js +1 -1
- package/dist/esm/{interface-base-C1ZNSMJz.d.ts → interface-base-DDfmN_Dg.d.ts} +6 -5
- package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
- package/dist/esm/plugin/extend/json.d.ts +4 -4
- package/dist/esm/plugin/extend/json.js +3 -3
- package/dist/esm/plugin/extend/log-headers.d.ts +1 -1
- package/dist/esm/plugin/extend/query.d.ts +1 -1
- package/dist/esm/plugin/extend/urlencoded.d.ts +3 -3
- package/dist/esm/plugin/extend/urlencoded.js +3 -3
- package/dist/esm/plugin/extend/web-socket.d.ts +10 -8
- package/dist/esm/plugin/extend/web-socket.js +2 -2
- package/dist/esm/plugin/plug.d.ts +1 -1
- package/dist/esm/server/server.d.ts +1 -1
- package/dist/esm/server/server.js +2 -2
- package/dist/esm/wrapper/common-wrapper-return.d.ts +1 -1
- package/dist/esm/wrapper/common-wrapper-return.js +2 -2
- package/dist/esm/wrapper/common-wrapper.d.ts +1 -1
- package/dist/esm/wrapper/common-wrapper.js +2 -2
- package/dist/esm/wrapper/deferred-result-wrapper.d.ts +1 -1
- package/dist/esm/wrapper/deferred-result-wrapper.js +2 -2
- package/dist/esm/wrapper/express-compatible-wrapper.d.ts +1 -1
- package/dist/esm/wrapper/express-compatible-wrapper.js +2 -2
- package/dist/esm/wrapper/file-download-wrapper.d.ts +1 -1
- package/dist/esm/wrapper/file-download-wrapper.js +2 -2
- package/package.json +3 -3
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { 严格递归合并对象, 普通对象深合并, 构造元组, 构造对象 } from './help/help.cjs';
|
|
2
|
-
export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑, y as 任意插件, 兼 as 兼容空对象, A as 取插件内部ts类型, 取 as 取插件内部类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, w as 接口结果转换器, 接 as 接口路径类型, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 插 as 插件, z as 插件项类型, 服 as 服务器, 清 as 清理函数类型, 直 as 直接形式转换器, 空 as 空对象, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, d as 获得接口逻辑类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, e as 获得接口错误形式, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果, 请 as 请求附加参数类型 } from './interface-base-
|
|
2
|
+
export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑, y as 任意插件, 兼 as 兼容空对象, A as 取插件内部ts类型, 取 as 取插件内部类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, w as 接口结果转换器, 接 as 接口路径类型, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 插 as 插件, z as 插件项类型, 日 as 日志回调类型, 服 as 服务器, 清 as 清理函数类型, 直 as 直接形式转换器, 空 as 空对象, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, d as 获得接口逻辑类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, e as 获得接口错误形式, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果, 请 as 请求附加参数类型 } from './interface-base-gRngpxki.cjs';
|
|
3
3
|
export { 任意接口结果返回器, 常用返回器, 接口结果返回器, 自定义返回器 } from './interface/interface-retuen.cjs';
|
|
4
4
|
export { 接口测试 } from './interface/interface-test.cjs';
|
|
5
5
|
export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
|
|
6
|
-
export { JSON
|
|
6
|
+
export { JSON参数解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果, 计算接口逻辑JSON参数 } from './plugin/extend/json.cjs';
|
|
7
7
|
export { 调试请求头插件 } from './plugin/extend/log-headers.cjs';
|
|
8
8
|
export { GET参数解析插件, 任意GET参数解析插件, 任意GET参数解析插件项, 合并GET插件结果, 计算接口逻辑GET参数 } from './plugin/extend/query.cjs';
|
|
9
|
-
export {
|
|
10
|
-
export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS
|
|
9
|
+
export { 表单参数解析插件 } from './plugin/extend/urlencoded.cjs';
|
|
10
|
+
export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件输入, 取第一个WS插件输出 } from './plugin/extend/web-socket.cjs';
|
|
11
11
|
export { EXPORT_TYPE } from './symbol/export-type.cjs';
|
|
12
12
|
export { GetNetCoreExportTypeDefine, GetNetCoreExportTypeName, NetCoreExportType } from './types/export-type.cjs';
|
|
13
13
|
export { 常用形式接口封装 } from './wrapper/common-wrapper.cjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'zod';
|
|
2
|
-
export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-
|
|
2
|
+
export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-gRngpxki.cjs';
|
|
3
3
|
import './interface-retuen.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import 'express';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '@lsby/ts-fp-data';
|
|
2
2
|
import 'express';
|
|
3
3
|
import '../help/interior.cjs';
|
|
4
|
-
export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-
|
|
4
|
+
export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-gRngpxki.cjs';
|
|
5
5
|
import 'zod';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
@@ -36,9 +36,6 @@ var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED
|
|
|
36
36
|
case "Right": {
|
|
37
37
|
return { status: "success", data: \u6570\u636E.assertRight().getRight() };
|
|
38
38
|
}
|
|
39
|
-
default: {
|
|
40
|
-
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
41
|
-
}
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
41
|
};
|
|
@@ -51,9 +48,6 @@ var \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED
|
|
|
51
48
|
case "Right": {
|
|
52
49
|
return \u6570\u636E.assertRight().getRight().data;
|
|
53
50
|
}
|
|
54
|
-
default: {
|
|
55
|
-
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
56
|
-
}
|
|
57
51
|
}
|
|
58
52
|
}
|
|
59
53
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '@lsby/ts-fp-data';
|
|
2
|
-
export { x as 任意接口结果转换器, 常 as 常用形式转换器, w as 接口结果转换器, 直 as 直接形式转换器 } from '../interface-base-
|
|
2
|
+
export { x as 任意接口结果转换器, 常 as 常用形式转换器, w as 接口结果转换器, 直 as 直接形式转换器 } from '../interface-base-gRngpxki.cjs';
|
|
3
3
|
import 'zod';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../help/interior.cjs';
|
|
@@ -6,12 +6,14 @@ import { Log } from '@lsby/ts-log';
|
|
|
6
6
|
import * as http from 'node:http';
|
|
7
7
|
import { 接口结果返回器 as _______ } from './interface/interface-retuen.cjs';
|
|
8
8
|
|
|
9
|
+
type 日志回调类型 = (level: 'trace' | 'debug' | 'info' | 'warn' | 'error', namespace: string, content: string) => Promise<void>;
|
|
9
10
|
type 请求附加参数类型 = {
|
|
10
11
|
log: Log;
|
|
12
|
+
请求id: string;
|
|
11
13
|
};
|
|
12
14
|
declare class 服务器 {
|
|
13
|
-
private
|
|
14
|
-
private
|
|
15
|
+
private log;
|
|
16
|
+
private 日志回调?;
|
|
15
17
|
private 接口们;
|
|
16
18
|
private 端口;
|
|
17
19
|
private 静态资源路径;
|
|
@@ -21,8 +23,7 @@ declare class 服务器 {
|
|
|
21
23
|
端口: number;
|
|
22
24
|
静态资源路径?: string;
|
|
23
25
|
默认get文件路径?: string;
|
|
24
|
-
|
|
25
|
-
接口log?: Log;
|
|
26
|
+
日志回调?: 日志回调类型;
|
|
26
27
|
});
|
|
27
28
|
run(): Promise<{
|
|
28
29
|
ip: string[];
|
|
@@ -231,4 +232,4 @@ type 获得接口正确形式<A> = A extends 接口<any, any, any, any, infer X,
|
|
|
231
232
|
type 获得接口结果转换器类型<A> = A extends 接口<any, any, any, any, any, infer X, any> ? X : never;
|
|
232
233
|
type 获得接口结果返回器类型<A> = A extends 接口<any, any, any, any, any, any, infer X> ? X : never;
|
|
233
234
|
|
|
234
|
-
export { type 取插件内部ts类型 as A, type 接口方法类型 as a, 接口 as b, type 获得接口方法类型 as c, type 获得接口逻辑类型 as d, type 获得接口错误形式 as e, type 获得接口正确形式 as f, type 获得接口结果转换器类型 as g, type 获得接口结果返回器类型 as h, type 接口逻辑错误类型 as i, type 接口逻辑正确类型 as j, type 接口逻辑附加参数类型 as k, 接口逻辑Base as l, 接口逻辑 as m, type 任意接口逻辑 as n, type 获得接口逻辑插件类型 as o, type 获得接口逻辑附加参数类型 as p, type 获得接口逻辑错误类型 as q, type 获得接口逻辑正确类型 as r, type 获得接口逻辑上游接口类型 as s, type 获得接口逻辑最后接口类型 as t, type 计算接口逻辑错误结果 as u, type 计算接口逻辑正确结果 as v, 接口结果转换器 as w, type 任意接口结果转换器 as x, type 任意插件 as y, type 插件项类型 as z, type 任意接口 as 任, type 兼容空对象 as 兼, type 取插件内部类型 as 取, type 可调用接口逻辑 as 可, type 合并插件结果 as 合, 常用形式转换器 as 常, type 接口路径类型 as 接, 插件 as 插, 服务器 as 服, type 清理函数类型 as 清, 直接形式转换器 as 直, type 空对象 as 空, type 获得接口路径类型 as 获, type 计算接口逻辑参数 as 计, type 请求附加参数类型 as 请 };
|
|
235
|
+
export { type 取插件内部ts类型 as A, type 接口方法类型 as a, 接口 as b, type 获得接口方法类型 as c, type 获得接口逻辑类型 as d, type 获得接口错误形式 as e, type 获得接口正确形式 as f, type 获得接口结果转换器类型 as g, type 获得接口结果返回器类型 as h, type 接口逻辑错误类型 as i, type 接口逻辑正确类型 as j, type 接口逻辑附加参数类型 as k, 接口逻辑Base as l, 接口逻辑 as m, type 任意接口逻辑 as n, type 获得接口逻辑插件类型 as o, type 获得接口逻辑附加参数类型 as p, type 获得接口逻辑错误类型 as q, type 获得接口逻辑正确类型 as r, type 获得接口逻辑上游接口类型 as s, type 获得接口逻辑最后接口类型 as t, type 计算接口逻辑错误结果 as u, type 计算接口逻辑正确结果 as v, 接口结果转换器 as w, type 任意接口结果转换器 as x, type 任意插件 as y, type 插件项类型 as z, type 任意接口 as 任, type 兼容空对象 as 兼, type 取插件内部类型 as 取, type 可调用接口逻辑 as 可, type 合并插件结果 as 合, 常用形式转换器 as 常, type 接口路径类型 as 接, 插件 as 插, type 日志回调类型 as 日, 服务器 as 服, type 清理函数类型 as 清, 直接形式转换器 as 直, type 空对象 as 空, type 获得接口路径类型 as 获, type 计算接口逻辑参数 as 计, type 请求附加参数类型 as 请 };
|
|
@@ -30,7 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/plugin/extend/json.ts
|
|
31
31
|
var json_exports = {};
|
|
32
32
|
__export(json_exports, {
|
|
33
|
-
JSON\u89E3\u6790\u63D2\u4EF6: () => JSON\u89E3\u6790\u63D2\u4EF6
|
|
33
|
+
JSON\u53C2\u6570\u89E3\u6790\u63D2\u4EF6: () => JSON\u53C2\u6570\u89E3\u6790\u63D2\u4EF6
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(json_exports);
|
|
36
36
|
var import_express = __toESM(require("express"), 1);
|
|
@@ -72,11 +72,11 @@ var \u63D2\u4EF6 = class {
|
|
|
72
72
|
|
|
73
73
|
// src/plugin/extend/json.ts
|
|
74
74
|
var \u70D9\u5370 = Symbol();
|
|
75
|
-
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
76
|
-
[\u70D9\u5370] = ["JSON\u89E3\u6790\u63D2\u4EF6"];
|
|
75
|
+
var JSON\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
76
|
+
[\u70D9\u5370] = ["JSON\u53C2\u6570\u89E3\u6790\u63D2\u4EF6"];
|
|
77
77
|
constructor(t, opt) {
|
|
78
78
|
super(import_zod.z.object({ body: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
79
|
-
let log = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
79
|
+
let log = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u53C2\u6570\u89E3\u6790\u63D2\u4EF6");
|
|
80
80
|
await new Promise(
|
|
81
81
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
82
82
|
pRes(null);
|
|
@@ -95,5 +95,5 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
95
95
|
};
|
|
96
96
|
// Annotate the CommonJS export names for ESM import in node:
|
|
97
97
|
0 && (module.exports = {
|
|
98
|
-
JSON\u89E3\u6790\u63D2\u4EF6
|
|
98
|
+
JSON\u53C2\u6570\u89E3\u6790\u63D2\u4EF6
|
|
99
99
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { AnyZodObject, z } from 'zod';
|
|
3
3
|
import { 严格递归合并对象 as ________ } from '../../help/help.cjs';
|
|
4
|
-
import { 插 as __, z as _____, 取 as _______, o as __________ } from '../../interface-base-
|
|
4
|
+
import { 插 as __, z as _____, 取 as _______, o as __________ } from '../../interface-base-gRngpxki.cjs';
|
|
5
5
|
import '@lsby/ts-fp-data';
|
|
6
6
|
import '../../help/interior.cjs';
|
|
7
7
|
import '@lsby/ts-log';
|
|
@@ -9,17 +9,17 @@ import 'node:http';
|
|
|
9
9
|
import '../../interface/interface-retuen.cjs';
|
|
10
10
|
|
|
11
11
|
declare const 烙印: unique symbol;
|
|
12
|
-
declare class JSON
|
|
12
|
+
declare class JSON参数解析插件<Result extends AnyZodObject> extends __<z.ZodObject<{
|
|
13
13
|
body: Result;
|
|
14
14
|
}>> {
|
|
15
15
|
private [烙印];
|
|
16
16
|
constructor(t: Result, opt: Parameters<typeof express.json>[0]);
|
|
17
17
|
}
|
|
18
|
-
type 任意JSON解析插件 = JSON
|
|
18
|
+
type 任意JSON解析插件 = JSON参数解析插件<any>;
|
|
19
19
|
type 任意JSON解析插件项 = 任意JSON解析插件;
|
|
20
20
|
type 合并JSON插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意JSON解析插件项 ? ________<{
|
|
21
21
|
body: z.infer<_______<插件项>>['body'];
|
|
22
22
|
}, 合并JSON插件结果<xs>> : 合并JSON插件结果<xs> : {} : {} : {};
|
|
23
23
|
type 计算接口逻辑JSON参数<接口逻辑> = 合并JSON插件结果<__________<接口逻辑>>;
|
|
24
24
|
|
|
25
|
-
export { JSON
|
|
25
|
+
export { JSON参数解析插件, type 任意JSON解析插件, type 任意JSON解析插件项, type 合并JSON插件结果, type 计算接口逻辑JSON参数 };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyZodObject, z } from 'zod';
|
|
2
2
|
import { 严格递归合并对象 as ________ } from '../../help/help.cjs';
|
|
3
|
-
import { 插 as __, z as _____, 取 as _______, o as __________ } from '../../interface-base-
|
|
3
|
+
import { 插 as __, z as _____, 取 as _______, o as __________ } from '../../interface-base-gRngpxki.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import 'express';
|
|
6
6
|
import '../../help/interior.cjs';
|
|
@@ -30,7 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/plugin/extend/urlencoded.ts
|
|
31
31
|
var urlencoded_exports = {};
|
|
32
32
|
__export(urlencoded_exports, {
|
|
33
|
-
\u8868\u5355\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u89E3\u6790\u63D2\u4EF6
|
|
33
|
+
\u8868\u5355\u53C2\u6570\u89E3\u6790\u63D2\u4EF6: () => \u8868\u5355\u53C2\u6570\u89E3\u6790\u63D2\u4EF6
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(urlencoded_exports);
|
|
36
36
|
var import_express = __toESM(require("express"), 1);
|
|
@@ -52,10 +52,10 @@ var \u63D2\u4EF6 = class {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
// src/plugin/extend/urlencoded.ts
|
|
55
|
-
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
55
|
+
var \u8868\u5355\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
56
56
|
constructor(t, opt) {
|
|
57
57
|
super(import_zod.z.object({ form: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
58
|
-
let log = \u9644\u52A0\u53C2\u6570.log.extend("\u8868\u5355\u89E3\u6790\u63D2\u4EF6");
|
|
58
|
+
let log = \u9644\u52A0\u53C2\u6570.log.extend("\u8868\u5355\u53C2\u6570\u89E3\u6790\u63D2\u4EF6");
|
|
59
59
|
await new Promise(
|
|
60
60
|
(pRes, _rej) => import_express.default.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
61
61
|
pRes(null);
|
|
@@ -72,5 +72,5 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
72
72
|
};
|
|
73
73
|
// Annotate the CommonJS export names for ESM import in node:
|
|
74
74
|
0 && (module.exports = {
|
|
75
|
-
\u8868\u5355\u89E3\u6790\u63D2\u4EF6
|
|
75
|
+
\u8868\u5355\u53C2\u6570\u89E3\u6790\u63D2\u4EF6
|
|
76
76
|
});
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { 插 as __ } from '../../interface-base-
|
|
3
|
+
import { 插 as __ } from '../../interface-base-gRngpxki.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
8
8
|
import '../../interface/interface-retuen.cjs';
|
|
9
9
|
|
|
10
|
-
declare class
|
|
10
|
+
declare class 表单参数解析插件<Result extends z.AnyZodObject> extends __<z.ZodObject<{
|
|
11
11
|
form: Result;
|
|
12
12
|
}>> {
|
|
13
13
|
constructor(t: Result, opt: Parameters<typeof express.urlencoded>[0]);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export {
|
|
16
|
+
export { 表单参数解析插件 };
|
|
@@ -45,6 +45,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
45
45
|
}
|
|
46
46
|
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
47
47
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
48
|
+
\u6D88\u606F\u76D1\u542C\u8868 = {};
|
|
48
49
|
\u5B9A\u65F6\u5668ID = null;
|
|
49
50
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
50
51
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -56,6 +57,20 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
56
57
|
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
57
58
|
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
58
59
|
}
|
|
60
|
+
async \u8BBE\u7F6E\u6D88\u606F\u76D1\u542C(id, \u56DE\u8C03\u51FD\u6570) {
|
|
61
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
62
|
+
this.\u6D88\u606F\u76D1\u542C\u8868[id] = \u56DE\u8C03\u51FD\u6570;
|
|
63
|
+
let ws\u53E5\u67C4 = this.\u8FDE\u63A5\u8868[id];
|
|
64
|
+
if (ws\u53E5\u67C4 !== null && ws\u53E5\u67C4 !== void 0) {
|
|
65
|
+
ws\u53E5\u67C4.onmessage = async (event) => {
|
|
66
|
+
try {
|
|
67
|
+
await \u56DE\u8C03\u51FD\u6570(JSON.parse(event.data.toString()));
|
|
68
|
+
} catch (err) {
|
|
69
|
+
await this.log.warn(`WebSocket \u6D88\u606F\u5904\u7406\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
59
74
|
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
60
75
|
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
61
76
|
}
|
|
@@ -69,6 +84,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
69
84
|
\u6E05\u7406\u51FD\u6570?.().catch((err) => this.log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`));
|
|
70
85
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
71
86
|
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
87
|
+
delete this.\u6D88\u606F\u76D1\u542C\u8868[id];
|
|
72
88
|
}
|
|
73
89
|
async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
|
|
74
90
|
let \u6E05\u7406\u6570\u91CF = 0;
|
|
@@ -104,11 +120,15 @@ var \u63D2\u4EF6 = class {
|
|
|
104
120
|
|
|
105
121
|
// src/plugin/extend/web-socket.ts
|
|
106
122
|
var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
107
|
-
constructor(\u4FE1\u606F\u63CF\u8FF0) {
|
|
123
|
+
constructor(\u540E\u63A8\u524D\u4FE1\u606F\u63CF\u8FF0, \u524D\u63A8\u540E\u4FE1\u606F\u63CF\u8FF0) {
|
|
108
124
|
super(
|
|
109
125
|
import_zod.z.object({
|
|
110
126
|
ws\u64CD\u4F5C: import_zod.z.object({
|
|
111
|
-
\u53D1\u9001ws\u4FE1\u606F: import_zod.z.function(import_zod.z.tuple([\u4FE1\u606F\u63CF\u8FF0]), import_zod.z.promise(import_zod.z.void())),
|
|
127
|
+
\u53D1\u9001ws\u4FE1\u606F: import_zod.z.function(import_zod.z.tuple([\u540E\u63A8\u524D\u4FE1\u606F\u63CF\u8FF0]), import_zod.z.promise(import_zod.z.void())),
|
|
128
|
+
\u76D1\u542Cws\u4FE1\u606F: import_zod.z.function(
|
|
129
|
+
import_zod.z.tuple([import_zod.z.function(import_zod.z.tuple([\u524D\u63A8\u540E\u4FE1\u606F\u63CF\u8FF0]), import_zod.z.promise(import_zod.z.void()))]),
|
|
130
|
+
import_zod.z.promise(import_zod.z.void())
|
|
131
|
+
),
|
|
112
132
|
\u5173\u95EDws\u8FDE\u63A5: import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void())),
|
|
113
133
|
\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570: import_zod.z.function(import_zod.z.tuple([import_zod.z.function(import_zod.z.tuple([]), import_zod.z.promise(import_zod.z.void()))]), import_zod.z.promise(import_zod.z.void()))
|
|
114
134
|
}).or(import_zod.z.null())
|
|
@@ -155,6 +175,17 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
155
175
|
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(\u6E05\u7406\u51FD\u6570) {
|
|
156
176
|
await log2.debug("\u8BBE\u7F6E WebSocket \u6E05\u7406\u51FD\u6570", { wsId });
|
|
157
177
|
await WebSocket\u7BA1\u7406\u56682.\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(wsId, \u6E05\u7406\u51FD\u6570);
|
|
178
|
+
},
|
|
179
|
+
async \u76D1\u542Cws\u4FE1\u606F(\u56DE\u8C03\u51FD\u6570) {
|
|
180
|
+
if (ws\u53E5\u67C4 === null) {
|
|
181
|
+
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u56682.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
182
|
+
}
|
|
183
|
+
if (ws\u53E5\u67C4 === null) {
|
|
184
|
+
await log2.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
await log2.debug("\u6CE8\u518C WebSocket \u6D88\u606F\u76D1\u542C", { wsId });
|
|
188
|
+
await WebSocket\u7BA1\u7406\u56682.\u8BBE\u7F6E\u6D88\u606F\u76D1\u542C(wsId, \u56DE\u8C03\u51FD\u6570);
|
|
158
189
|
}
|
|
159
190
|
}
|
|
160
191
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 插 as __, z as _____ } from '../../interface-base-
|
|
2
|
+
import { 插 as __, z as _____ } from '../../interface-base-gRngpxki.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../../help/interior.cjs';
|
|
@@ -7,21 +7,23 @@ import '@lsby/ts-log';
|
|
|
7
7
|
import 'node:http';
|
|
8
8
|
import '../../interface/interface-retuen.cjs';
|
|
9
9
|
|
|
10
|
-
declare class WebSocket
|
|
10
|
+
declare class WebSocket插件<后推前信息 extends z.AnyZodObject | z.ZodUnion<any>, 前推后信息 extends z.AnyZodObject | z.ZodUnion<any>> extends __<z.ZodObject<{
|
|
11
11
|
ws操作: z.ZodUnion<[
|
|
12
12
|
z.ZodObject<{
|
|
13
|
-
发送ws信息: z.ZodFunction<z.ZodTuple<[
|
|
13
|
+
发送ws信息: z.ZodFunction<z.ZodTuple<[后推前信息], null>, z.ZodPromise<z.ZodVoid>>;
|
|
14
|
+
监听ws信息: z.ZodFunction<z.ZodTuple<[z.ZodFunction<z.ZodTuple<[前推后信息], null>, z.ZodPromise<z.ZodVoid>>], null>, z.ZodPromise<z.ZodVoid>>;
|
|
14
15
|
关闭ws连接: z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>;
|
|
15
16
|
设置清理函数: z.ZodFunction<z.ZodTuple<[z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>], null>, z.ZodPromise<z.ZodVoid>>;
|
|
16
17
|
}>,
|
|
17
18
|
z.ZodNull
|
|
18
19
|
]>;
|
|
19
20
|
}>> {
|
|
20
|
-
constructor(
|
|
21
|
+
constructor(后推前信息描述: 后推前信息, 前推后信息描述: 前推后信息);
|
|
21
22
|
}
|
|
22
|
-
type 任意WS插件 = WebSocket插件<any>;
|
|
23
|
+
type 任意WS插件 = WebSocket插件<any, any>;
|
|
23
24
|
type 任意WS插件项 = 任意WS插件;
|
|
24
|
-
type 取WS插件泛型<A> = A extends WebSocket插件<infer x> ? x : never;
|
|
25
|
-
type 取第一个WS
|
|
25
|
+
type 取WS插件泛型<A> = A extends WebSocket插件<infer x, infer y> ? [x, y] : never;
|
|
26
|
+
type 取第一个WS插件输出<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意WS插件项 ? z.infer<取WS插件泛型<插件项>[0]> : 取第一个WS插件输出<xs> : {} : {} : {};
|
|
27
|
+
type 取第一个WS插件输入<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意WS插件项 ? z.infer<取WS插件泛型<插件项>[1]> : 取第一个WS插件输入<xs> : {} : {} : {};
|
|
26
28
|
|
|
27
|
-
export { WebSocket插件, type 任意WS插件, type 任意WS插件项, type 取WS插件泛型, type 取第一个WS
|
|
29
|
+
export { WebSocket插件, type 任意WS插件, type 任意WS插件项, type 取WS插件泛型, type 取第一个WS插件输入, type 取第一个WS插件输出 };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'express';
|
|
2
2
|
import 'zod';
|
|
3
|
-
export { y as 任意插件, A as 取插件内部ts类型, 取 as 取插件内部类型, 合 as 合并插件结果, 插 as 插件, z as 插件项类型 } from '../interface-base-
|
|
3
|
+
export { y as 任意插件, A as 取插件内部ts类型, 取 as 取插件内部类型, 合 as 合并插件结果, 插 as 插件, z as 插件项类型 } from '../interface-base-gRngpxki.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import '../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
@@ -58,6 +58,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
58
58
|
}
|
|
59
59
|
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
60
60
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
61
|
+
\u6D88\u606F\u76D1\u542C\u8868 = {};
|
|
61
62
|
\u5B9A\u65F6\u5668ID = null;
|
|
62
63
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
63
64
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -69,6 +70,20 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
69
70
|
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
70
71
|
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
71
72
|
}
|
|
73
|
+
async \u8BBE\u7F6E\u6D88\u606F\u76D1\u542C(id, \u56DE\u8C03\u51FD\u6570) {
|
|
74
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false) return;
|
|
75
|
+
this.\u6D88\u606F\u76D1\u542C\u8868[id] = \u56DE\u8C03\u51FD\u6570;
|
|
76
|
+
let ws\u53E5\u67C4 = this.\u8FDE\u63A5\u8868[id];
|
|
77
|
+
if (ws\u53E5\u67C4 !== null && ws\u53E5\u67C4 !== void 0) {
|
|
78
|
+
ws\u53E5\u67C4.onmessage = async (event) => {
|
|
79
|
+
try {
|
|
80
|
+
await \u56DE\u8C03\u51FD\u6570(JSON.parse(event.data.toString()));
|
|
81
|
+
} catch (err) {
|
|
82
|
+
await this.log.warn(`WebSocket \u6D88\u606F\u5904\u7406\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
72
87
|
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
73
88
|
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
74
89
|
}
|
|
@@ -82,6 +97,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
82
97
|
\u6E05\u7406\u51FD\u6570?.().catch((err) => this.log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`));
|
|
83
98
|
delete this.\u8FDE\u63A5\u8868[id];
|
|
84
99
|
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
100
|
+
delete this.\u6D88\u606F\u76D1\u542C\u8868[id];
|
|
85
101
|
}
|
|
86
102
|
async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
|
|
87
103
|
let \u6E05\u7406\u6570\u91CF = 0;
|
|
@@ -122,8 +138,8 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
|
122
138
|
|
|
123
139
|
// src/server/server.ts
|
|
124
140
|
var \u670D\u52A1\u5668 = class {
|
|
125
|
-
|
|
126
|
-
\
|
|
141
|
+
log;
|
|
142
|
+
\u65E5\u5FD7\u56DE\u8C03;
|
|
127
143
|
\u63A5\u53E3\u4EEC;
|
|
128
144
|
\u7AEF\u53E3;
|
|
129
145
|
\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
@@ -133,14 +149,17 @@ var \u670D\u52A1\u5668 = class {
|
|
|
133
149
|
this.\u7AEF\u53E3 = options.\u7AEF\u53E3;
|
|
134
150
|
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = options.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
135
151
|
this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 = options.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84;
|
|
136
|
-
this.\
|
|
137
|
-
this
|
|
152
|
+
this.\u65E5\u5FD7\u56DE\u8C03 = options.\u65E5\u5FD7\u56DE\u8C03;
|
|
153
|
+
this.log = Global.getItem("log").then((a) => {
|
|
154
|
+
if (this.\u65E5\u5FD7\u56DE\u8C03 !== void 0) a.pipe(this.\u65E5\u5FD7\u56DE\u8C03);
|
|
155
|
+
return a;
|
|
156
|
+
});
|
|
138
157
|
}
|
|
139
158
|
async run() {
|
|
159
|
+
let log2 = await this.log;
|
|
140
160
|
let app = (0, import_express.default)();
|
|
141
|
-
let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
|
|
142
161
|
if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== void 0) {
|
|
143
|
-
await
|
|
162
|
+
await log2.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
|
|
144
163
|
app.use(import_express.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84));
|
|
145
164
|
}
|
|
146
165
|
app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
|
|
@@ -150,17 +169,16 @@ var \u670D\u52A1\u5668 = class {
|
|
|
150
169
|
}
|
|
151
170
|
async \u5904\u7406\u8BF7\u6C42(req, res) {
|
|
152
171
|
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
153
|
-
let
|
|
154
|
-
let \u63A5\u53E3log = (await this.\u63A5\u53E3log).extend(\u8BF7\u6C42id);
|
|
172
|
+
let log2 = (await this.log).extend(\u8BF7\u6C42id);
|
|
155
173
|
let \u5F00\u59CB\u65F6\u95F4 = Date.now();
|
|
156
174
|
try {
|
|
157
175
|
let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
|
|
158
176
|
\u8BF7\u6C42\u8DEF\u5F84 = decodeURIComponent(\u8BF7\u6C42\u8DEF\u5F84);
|
|
159
177
|
let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
|
|
160
|
-
await
|
|
178
|
+
await log2.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
161
179
|
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;
|
|
162
180
|
if (\u76EE\u6807\u63A5\u53E3 !== null) {
|
|
163
|
-
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3,
|
|
181
|
+
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91({ req, res, \u76EE\u6807\u63A5\u53E3, log: log2, \u8BF7\u6C42id });
|
|
164
182
|
return;
|
|
165
183
|
}
|
|
166
184
|
if (this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 !== void 0 && \u8BF7\u6C42\u65B9\u6CD5 === "get") {
|
|
@@ -169,35 +187,36 @@ var \u670D\u52A1\u5668 = class {
|
|
|
169
187
|
res.send(\u9ED8\u8BA4\u6587\u4EF6\u5185\u5BB9);
|
|
170
188
|
return;
|
|
171
189
|
} catch (e) {
|
|
172
|
-
await
|
|
190
|
+
await log2.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
|
|
173
191
|
}
|
|
174
192
|
}
|
|
175
|
-
await
|
|
193
|
+
await log2.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
176
194
|
res.status(404).end();
|
|
177
195
|
} catch (error) {
|
|
178
|
-
await
|
|
196
|
+
await log2.error(error);
|
|
179
197
|
res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
180
198
|
} finally {
|
|
181
199
|
let \u8017\u65F6ms = Date.now() - \u5F00\u59CB\u65F6\u95F4;
|
|
182
|
-
await
|
|
200
|
+
await log2.info("\u8BF7\u6C42\u5B8C\u6210, \u8017\u65F6: %o ms", \u8017\u65F6ms);
|
|
183
201
|
}
|
|
184
202
|
}
|
|
185
|
-
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(
|
|
203
|
+
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(opt) {
|
|
204
|
+
let { req, res, \u76EE\u6807\u63A5\u53E3, log: log2, \u8BF7\u6C42id } = opt;
|
|
186
205
|
let \u63A5\u53E3\u903B\u8F91 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
187
206
|
let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
188
207
|
let \u7ED3\u679C\u8FD4\u56DE\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8FD4\u56DE\u5668();
|
|
189
208
|
let \u603B\u5F00\u59CB = Date.now();
|
|
190
209
|
let \u5F00\u59CB = Date.now();
|
|
191
|
-
await
|
|
210
|
+
await log2.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
192
211
|
let \u63D2\u4EF6\u4EEC = \u63A5\u53E3\u903B\u8F91.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
193
|
-
await
|
|
194
|
-
let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, { log: \
|
|
195
|
-
await
|
|
196
|
-
await
|
|
197
|
-
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u63D2\u4EF6\u7ED3\u679C, {}, { log: \
|
|
198
|
-
await
|
|
212
|
+
await log2.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
|
|
213
|
+
let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, { log: log2, \u8BF7\u6C42id });
|
|
214
|
+
await log2.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
215
|
+
await log2.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
|
|
216
|
+
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u63D2\u4EF6\u7ED3\u679C, {}, { log: log2, \u8BF7\u6C42id });
|
|
217
|
+
await log2.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
199
218
|
let \u63A5\u53E3\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
200
|
-
await
|
|
219
|
+
await log2.info("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u63A5\u53E3\u8017\u65F6);
|
|
201
220
|
\u5F00\u59CB = Date.now();
|
|
202
221
|
let \u8F6C\u6362\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
203
222
|
let \u9519\u8BEF\u7ED3\u679C = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod().safeParse(\u8F6C\u6362\u7ED3\u679C);
|
|
@@ -209,59 +228,59 @@ var \u670D\u52A1\u5668 = class {
|
|
|
209
228
|
\u6700\u7EC8\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C.data;
|
|
210
229
|
} else {
|
|
211
230
|
let \u7ED3\u679C\u5B57\u7B26\u4E32 = JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u8F6C\u6362\u7ED3\u679C));
|
|
212
|
-
await
|
|
213
|
-
await
|
|
214
|
-
await
|
|
231
|
+
await log2.error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${\u7ED3\u679C\u5B57\u7B26\u4E32}`);
|
|
232
|
+
await log2.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
|
|
233
|
+
await log2.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
|
|
215
234
|
throw new Error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C`);
|
|
216
235
|
}
|
|
217
236
|
let \u8F6C\u6362\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
218
|
-
await
|
|
219
|
-
await
|
|
237
|
+
await log2.info("\u7ED3\u679C\u8F6C\u6362\u4E0E\u6821\u9A8C\u5B8C\u6210, \u8017\u65F6: %o ms", \u8F6C\u6362\u8017\u65F6);
|
|
238
|
+
await log2.debug("\u6700\u7EC8\u7ED3\u679C: %o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C)));
|
|
220
239
|
\u5F00\u59CB = Date.now();
|
|
221
240
|
await \u7ED3\u679C\u8FD4\u56DE\u5668.\u8FD4\u56DE(req, res, \u6700\u7EC8\u7ED3\u679C);
|
|
222
241
|
let \u8FD4\u56DE\u8017\u65F6 = Date.now() - \u5F00\u59CB;
|
|
223
|
-
await
|
|
242
|
+
await log2.info("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u8FD4\u56DE\u8017\u65F6);
|
|
224
243
|
let \u603B\u8017\u65F6 = Date.now() - \u603B\u5F00\u59CB;
|
|
225
|
-
await
|
|
244
|
+
await log2.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
|
|
226
245
|
}
|
|
227
246
|
async \u521D\u59CB\u5316WebSocket(server) {
|
|
247
|
+
let log2 = await this.log;
|
|
228
248
|
let wss = new import_ws2.WebSocketServer({ server });
|
|
229
|
-
let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
|
|
230
249
|
wss.on("listening", async () => {
|
|
231
|
-
await
|
|
250
|
+
await log2.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
232
251
|
});
|
|
233
252
|
wss.on("error", async (err) => {
|
|
234
|
-
await
|
|
253
|
+
await log2.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
235
254
|
});
|
|
236
255
|
wss.on("connection", async (ws, req) => {
|
|
237
|
-
let \
|
|
238
|
-
await \
|
|
256
|
+
let \u8FDE\u63A5log = log2.extend((0, import_short_uuid.default)().new());
|
|
257
|
+
await \u8FDE\u63A5log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
|
|
239
258
|
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
|
|
240
259
|
if (\u5BA2\u6237\u7AEFid === null) {
|
|
241
|
-
await \
|
|
242
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \
|
|
260
|
+
await \u8FDE\u63A5log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
261
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u8FDE\u63A5log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
243
262
|
}
|
|
244
|
-
await \
|
|
263
|
+
await \u8FDE\u63A5log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
245
264
|
let WebSocket\u7BA1\u7406\u56682 = Global.getItemSync("WebSocket\u7BA1\u7406\u5668");
|
|
246
265
|
let \u8FDE\u63A5\u5DF2\u5B58\u5728 = WebSocket\u7BA1\u7406\u56682.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
247
266
|
if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
|
|
248
|
-
await \
|
|
249
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \
|
|
267
|
+
await \u8FDE\u63A5log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
268
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u8FDE\u63A5log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
250
269
|
}
|
|
251
270
|
WebSocket\u7BA1\u7406\u56682.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
252
|
-
await \
|
|
271
|
+
await \u8FDE\u63A5log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
253
272
|
ws.on("close", async () => {
|
|
254
|
-
await \
|
|
273
|
+
await \u8FDE\u63A5log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
|
|
255
274
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
256
275
|
});
|
|
257
276
|
ws.on("error", async (err) => {
|
|
258
|
-
await \
|
|
277
|
+
await \u8FDE\u63A5log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
|
|
259
278
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
260
279
|
});
|
|
261
280
|
});
|
|
262
281
|
}
|
|
263
|
-
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
264
|
-
await
|
|
282
|
+
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log2, code, reason) {
|
|
283
|
+
await log2.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
|
|
265
284
|
ws.close(code, reason);
|
|
266
285
|
}
|
|
267
286
|
\u83B7\u53D6\u672C\u5730\u5730\u5740() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '@lsby/ts-log';
|
|
2
2
|
import 'node:http';
|
|
3
|
-
export { 服 as 服务器, 请 as 请求附加参数类型 } from '../interface-base-
|
|
3
|
+
export { 日 as 日志回调类型, 服 as 服务器, 请 as 请求附加参数类型 } from '../interface-base-gRngpxki.cjs';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import '@lsby/ts-fp-data';
|
|
6
6
|
import 'express';
|
|
@@ -71,9 +71,6 @@ var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED
|
|
|
71
71
|
case "Right": {
|
|
72
72
|
return { status: "success", data: \u6570\u636E.assertRight().getRight() };
|
|
73
73
|
}
|
|
74
|
-
default: {
|
|
75
|
-
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
76
|
-
}
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
76
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 常 as _______, q as __________, r as __________$1 } from '../interface-base-
|
|
3
|
+
import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 常 as _______, q as __________, r as __________$1 } from '../interface-base-gRngpxki.cjs';
|
|
4
4
|
import { 自定义返回器 as ______$2 } from '../interface/interface-retuen.cjs';
|
|
5
5
|
import '@lsby/ts-fp-data';
|
|
6
6
|
import '../help/interior.cjs';
|