@lsby/net-core 0.12.3 → 0.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/gen-api-list/bin.cjs +14 -2
- package/dist/bin/gen-api-list/index.cjs +14 -2
- package/dist/bin/gen-api-type/bin.cjs +60 -48
- package/dist/bin/gen-api-type/index.cjs +60 -48
- package/dist/bin/gen-test/bin.cjs +16 -4
- package/dist/bin/gen-test/index.cjs +16 -4
- package/dist/cjs/bin/gen-api-list/bin.cjs +14 -2
- package/dist/cjs/bin/gen-api-list/index.cjs +14 -2
- package/dist/cjs/bin/gen-api-type/bin.cjs +60 -48
- package/dist/cjs/bin/gen-api-type/index.cjs +60 -48
- package/dist/cjs/bin/gen-test/bin.cjs +16 -4
- package/dist/cjs/bin/gen-test/index.cjs +16 -4
- package/dist/cjs/global/log.cjs +31 -0
- package/dist/cjs/global/log.d.cts +5 -0
- package/dist/cjs/global/model/hub.cjs +84 -0
- package/dist/cjs/global/model/hub.d.cts +26 -0
- package/dist/cjs/global/model/web-socket.cjs +166 -0
- package/dist/cjs/global/model/web-socket.d.cts +21 -0
- package/dist/cjs/global/web-socket.cjs +169 -0
- package/dist/cjs/global/web-socket.d.cts +7 -0
- package/dist/cjs/help/help.cjs +151 -2
- package/dist/cjs/help/help.d.cts +12 -5
- package/dist/cjs/help/interior.cjs +12 -1
- package/dist/cjs/help/interior.d.cts +6 -3
- package/dist/cjs/index.cjs +663 -470
- package/dist/cjs/index.d.cts +27 -18
- package/dist/cjs/interface/interface-base.cjs +15 -17
- package/dist/cjs/interface/interface-base.d.cts +43 -5
- package/dist/cjs/interface/interface-logic.cjs +148 -12
- package/dist/cjs/interface/interface-logic.d.cts +131 -7
- package/dist/cjs/interface/interface-plugin.cjs +45 -0
- package/dist/cjs/interface/interface-plugin.d.cts +37 -0
- package/dist/cjs/{plugin/plug.cjs → interface/interface-returner.cjs} +7 -17
- package/dist/cjs/interface/interface-returner.d.cts +32 -0
- package/dist/cjs/interface/interface-test.cjs +41 -9
- package/dist/cjs/interface/interface-test.d.cts +29 -6
- package/dist/cjs/plugin/{extend/custom-data.cjs → custom-data.cjs} +18 -11
- package/dist/cjs/plugin/custom-data.d.cts +16 -0
- package/dist/cjs/plugin/custom.cjs +54 -0
- package/dist/cjs/plugin/custom.d.cts +18 -0
- package/dist/cjs/plugin/form.cjs +109 -0
- package/dist/cjs/plugin/form.d.cts +37 -0
- package/dist/cjs/plugin/{extend/json.cjs → json.cjs} +22 -18
- package/dist/cjs/plugin/json.d.cts +36 -0
- package/dist/cjs/plugin/{extend/log-headers.cjs → log-headers.cjs} +18 -12
- package/dist/cjs/plugin/log-headers.d.cts +17 -0
- package/dist/cjs/plugin/parse-path.cjs +100 -0
- package/dist/cjs/plugin/parse-path.d.cts +73 -0
- package/dist/cjs/plugin/{extend/query.cjs → query.cjs} +24 -20
- package/dist/cjs/plugin/query.d.cts +36 -0
- package/dist/cjs/plugin/urlencoded.cjs +103 -0
- package/dist/cjs/plugin/urlencoded.d.cts +36 -0
- package/dist/cjs/plugin/web-socket.cjs +183 -0
- package/dist/cjs/plugin/web-socket.d.cts +31 -0
- package/dist/cjs/returner/common.cjs +107 -0
- package/dist/cjs/returner/common.d.cts +36 -0
- package/dist/cjs/returner/custom.cjs +55 -0
- package/dist/cjs/returner/custom.d.cts +26 -0
- package/dist/cjs/returner/file-stream-download.cjs +111 -0
- package/dist/cjs/returner/file-stream-download.d.cts +33 -0
- package/dist/cjs/returner/static-file.cjs +95 -0
- package/dist/cjs/returner/static-file.d.cts +30 -0
- package/dist/cjs/returner/virtual-file.cjs +66 -0
- package/dist/cjs/returner/virtual-file.d.cts +30 -0
- package/dist/cjs/server/server.cjs +184 -152
- package/dist/cjs/server/server.d.cts +37 -4
- package/dist/cjs/symbol/export-type.cjs +1 -1
- package/dist/cjs/types/types.cjs +18 -0
- package/dist/cjs/types/types.d.cts +22 -0
- package/dist/esm/bin/gen-api-list/bin.js +2 -1
- package/dist/esm/bin/gen-api-list/index.js +2 -1
- package/dist/esm/bin/gen-api-type/bin.js +1 -1
- package/dist/esm/bin/gen-api-type/index.js +1 -1
- package/dist/esm/bin/gen-test/bin.js +2 -1
- package/dist/esm/bin/gen-test/index.js +2 -1
- package/dist/esm/{chunk-ZIVQ3WZA.js → chunk-2CGBESLT.js} +12 -2
- package/dist/esm/{chunk-2FCXR6G7.js → chunk-6OPO4OWK.js} +60 -48
- package/dist/esm/{chunk-GC5W4SQN.js → chunk-7GT72IUT.js} +22 -19
- package/dist/esm/chunk-7OU27OBO.js +14 -0
- package/dist/esm/chunk-7S6SPW32.js +35 -0
- package/dist/esm/{chunk-2NYRVBAS.js → chunk-AB35ZHL3.js} +48 -59
- package/dist/esm/chunk-AG36MLAF.js +65 -0
- package/dist/esm/chunk-EGIJQJFI.js +21 -0
- package/dist/esm/chunk-F5IAX56T.js +7 -0
- package/dist/esm/chunk-FP6Q65NN.js +7 -0
- package/dist/esm/chunk-GGNRLQAM.js +48 -0
- package/dist/esm/chunk-HINGVOU6.js +21 -0
- package/dist/esm/{chunk-ZF7EC2OM.js → chunk-HT7VG4BT.js} +1 -1
- package/dist/esm/{chunk-AFWSZAXR.js → chunk-HWIV3BTW.js} +7 -4
- package/dist/esm/chunk-J5BX4WJJ.js +69 -0
- package/dist/esm/chunk-JLNRCPJD.js +34 -0
- package/dist/esm/chunk-JSMTJQ3K.js +69 -0
- package/dist/esm/chunk-MRTIZDKN.js +88 -0
- package/dist/esm/{chunk-7LQRWJ3X.js → chunk-MVMDWJTB.js} +14 -1
- package/dist/esm/chunk-NTDDPUP7.js +59 -0
- package/dist/esm/chunk-OEABQXPT.js +29 -0
- package/dist/esm/chunk-P23ZAK4I.js +10 -0
- package/dist/esm/chunk-PAP3X3RJ.js +37 -0
- package/dist/esm/chunk-QQFE27NG.js +37 -0
- package/dist/esm/chunk-RVEKW2PT.js +31 -0
- package/dist/esm/chunk-RWSXMQQI.js +22 -0
- package/dist/esm/{chunk-E23EZWBE.js → chunk-TE6CG2FF.js} +9 -13
- package/dist/esm/{chunk-UKAZDGUR.js → chunk-W7HT4TA6.js} +5 -2
- package/dist/esm/chunk-WXTNTK3M.js +40 -0
- package/dist/esm/global/log.d.ts +5 -0
- package/dist/esm/global/log.js +6 -0
- package/dist/esm/global/model/hub.d.ts +26 -0
- package/dist/esm/global/model/hub.js +8 -0
- package/dist/esm/global/model/web-socket.d.ts +21 -0
- package/dist/esm/global/model/web-socket.js +8 -0
- package/dist/esm/global/web-socket.d.ts +7 -0
- package/dist/esm/global/web-socket.js +9 -0
- package/dist/esm/help/help.d.ts +12 -5
- package/dist/esm/help/help.js +9 -3
- package/dist/esm/help/interior.d.ts +6 -3
- package/dist/esm/help/interior.js +3 -1
- package/dist/esm/index.d.ts +27 -18
- package/dist/esm/index.js +61 -57
- package/dist/esm/interface/interface-base.d.ts +43 -5
- package/dist/esm/interface/interface-base.js +1 -1
- package/dist/esm/interface/interface-logic.d.ts +131 -7
- package/dist/esm/interface/interface-logic.js +6 -2
- package/dist/esm/interface/interface-plugin.d.ts +37 -0
- package/dist/esm/{plugin/plug.js → interface/interface-plugin.js} +1 -1
- package/dist/esm/interface/interface-returner.d.ts +32 -0
- package/dist/esm/interface/interface-returner.js +6 -0
- package/dist/esm/interface/interface-test.d.ts +29 -6
- package/dist/esm/interface/interface-test.js +5 -3
- package/dist/esm/plugin/custom-data.d.ts +16 -0
- package/dist/esm/plugin/{extend/custom-data.js → custom-data.js} +2 -2
- package/dist/esm/plugin/custom.d.ts +18 -0
- package/dist/esm/plugin/custom.js +7 -0
- package/dist/esm/plugin/form.d.ts +37 -0
- package/dist/esm/plugin/form.js +42 -0
- package/dist/esm/plugin/json.d.ts +36 -0
- package/dist/esm/plugin/json.js +8 -0
- package/dist/esm/plugin/log-headers.d.ts +17 -0
- package/dist/esm/plugin/{extend/log-headers.js → log-headers.js} +2 -2
- package/dist/esm/plugin/parse-path.d.ts +73 -0
- package/dist/esm/plugin/parse-path.js +8 -0
- package/dist/esm/plugin/query.d.ts +36 -0
- package/dist/esm/plugin/query.js +8 -0
- package/dist/esm/plugin/urlencoded.d.ts +36 -0
- package/dist/esm/plugin/urlencoded.js +8 -0
- package/dist/esm/plugin/web-socket.d.ts +31 -0
- package/dist/esm/plugin/web-socket.js +8 -0
- package/dist/esm/returner/common.d.ts +36 -0
- package/dist/esm/returner/common.js +8 -0
- package/dist/esm/returner/custom.d.ts +26 -0
- package/dist/esm/returner/custom.js +7 -0
- package/dist/esm/returner/file-stream-download.d.ts +33 -0
- package/dist/esm/returner/file-stream-download.js +8 -0
- package/dist/esm/returner/static-file.d.ts +30 -0
- package/dist/esm/returner/static-file.js +7 -0
- package/dist/esm/returner/virtual-file.d.ts +30 -0
- package/dist/esm/returner/virtual-file.js +7 -0
- package/dist/esm/server/server.d.ts +37 -4
- package/dist/esm/server/server.js +5 -3
- package/dist/esm/symbol/export-type.js +1 -1
- package/dist/esm/types/types.d.ts +22 -0
- package/dist/esm/types/types.js +1 -0
- package/package.json +35 -40
- package/dist/bin/gen-api-list/test.cjs +0 -1
- package/dist/bin/gen-api-list/test.d.cts +0 -2
- package/dist/bin/gen-api-type/test.cjs +0 -1
- package/dist/bin/gen-api-type/test.d.cts +0 -2
- package/dist/cjs/action/action.bak.cjs +0 -158
- package/dist/cjs/action/action.bak.d.cts +0 -99
- package/dist/cjs/bin/gen-api-list/test.cjs +0 -1
- package/dist/cjs/bin/gen-api-list/test.d.cts +0 -2
- package/dist/cjs/bin/gen-api-type/test.cjs +0 -1
- package/dist/cjs/bin/gen-api-type/test.d.cts +0 -2
- package/dist/cjs/global/global.cjs +0 -107
- package/dist/cjs/global/global.d.cts +0 -23
- package/dist/cjs/interface/interface-result.cjs +0 -59
- package/dist/cjs/interface/interface-result.d.cts +0 -8
- package/dist/cjs/interface/interface-retuen.cjs +0 -49
- package/dist/cjs/interface/interface-retuen.d.cts +0 -30
- package/dist/cjs/interface-base-gRngpxki.d.cts +0 -235
- package/dist/cjs/plugin/extend/custom-data.d.cts +0 -17
- package/dist/cjs/plugin/extend/json.d.cts +0 -25
- package/dist/cjs/plugin/extend/log-headers.d.cts +0 -15
- package/dist/cjs/plugin/extend/query.d.cts +0 -25
- package/dist/cjs/plugin/extend/urlencoded.cjs +0 -76
- package/dist/cjs/plugin/extend/urlencoded.d.cts +0 -16
- package/dist/cjs/plugin/extend/web-socket.cjs +0 -199
- package/dist/cjs/plugin/extend/web-socket.d.cts +0 -29
- package/dist/cjs/plugin/plug.d.cts +0 -8
- package/dist/cjs/wrapper/common-wrapper-return.cjs +0 -103
- package/dist/cjs/wrapper/common-wrapper-return.d.cts +0 -29
- package/dist/cjs/wrapper/common-wrapper.cjs +0 -99
- package/dist/cjs/wrapper/common-wrapper.d.cts +0 -27
- package/dist/cjs/wrapper/deferred-result-wrapper.cjs +0 -99
- package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +0 -26
- package/dist/cjs/wrapper/express-compatible-wrapper.cjs +0 -228
- package/dist/cjs/wrapper/express-compatible-wrapper.d.cts +0 -55
- package/dist/cjs/wrapper/file-download-wrapper.cjs +0 -131
- package/dist/cjs/wrapper/file-download-wrapper.d.cts +0 -80
- package/dist/esm/action/action.bak.d.ts +0 -99
- package/dist/esm/action/action.bak.js +0 -133
- package/dist/esm/bin/gen-api-list/test.d.ts +0 -2
- package/dist/esm/bin/gen-api-type/test.d.ts +0 -2
- package/dist/esm/bin/gen-api-type/test.js +0 -0
- package/dist/esm/chunk-3YGTOEO2.js +0 -82
- package/dist/esm/chunk-43GZE5YL.js +0 -17
- package/dist/esm/chunk-6RQPNF75.js +0 -24
- package/dist/esm/chunk-7MHKNSNT.js +0 -20
- package/dist/esm/chunk-FYEIC5J3.js +0 -24
- package/dist/esm/chunk-GKABWQWT.js +0 -24
- package/dist/esm/chunk-IM3E5KN4.js +0 -61
- package/dist/esm/chunk-KENYGKWI.js +0 -37
- package/dist/esm/chunk-MDUWXEQ7.js +0 -37
- package/dist/esm/chunk-N7TPWCQ5.js +0 -17
- package/dist/esm/chunk-P75EGBKC.js +0 -33
- package/dist/esm/chunk-SGOVPJHV.js +0 -54
- package/dist/esm/chunk-UUXGAK5S.js +0 -31
- package/dist/esm/chunk-VMCAX3QH.js +0 -18
- package/dist/esm/chunk-VRF5WLKI.js +0 -30
- package/dist/esm/chunk-XBAKTT6S.js +0 -23
- package/dist/esm/global/global.d.ts +0 -23
- package/dist/esm/global/global.js +0 -8
- package/dist/esm/interface/interface-result.d.ts +0 -8
- package/dist/esm/interface/interface-result.js +0 -10
- package/dist/esm/interface/interface-retuen.d.ts +0 -30
- package/dist/esm/interface/interface-retuen.js +0 -10
- package/dist/esm/interface-base-DDfmN_Dg.d.ts +0 -235
- package/dist/esm/plugin/extend/custom-data.d.ts +0 -17
- package/dist/esm/plugin/extend/json.d.ts +0 -25
- package/dist/esm/plugin/extend/json.js +0 -8
- package/dist/esm/plugin/extend/log-headers.d.ts +0 -15
- package/dist/esm/plugin/extend/query.d.ts +0 -25
- package/dist/esm/plugin/extend/query.js +0 -8
- package/dist/esm/plugin/extend/urlencoded.d.ts +0 -16
- package/dist/esm/plugin/extend/urlencoded.js +0 -7
- package/dist/esm/plugin/extend/web-socket.d.ts +0 -29
- package/dist/esm/plugin/extend/web-socket.js +0 -8
- package/dist/esm/plugin/plug.d.ts +0 -8
- package/dist/esm/wrapper/common-wrapper-return.d.ts +0 -29
- package/dist/esm/wrapper/common-wrapper-return.js +0 -9
- package/dist/esm/wrapper/common-wrapper.d.ts +0 -27
- package/dist/esm/wrapper/common-wrapper.js +0 -9
- package/dist/esm/wrapper/deferred-result-wrapper.d.ts +0 -26
- package/dist/esm/wrapper/deferred-result-wrapper.js +0 -9
- package/dist/esm/wrapper/express-compatible-wrapper.d.ts +0 -55
- package/dist/esm/wrapper/express-compatible-wrapper.js +0 -11
- package/dist/esm/wrapper/file-download-wrapper.d.ts +0 -80
- package/dist/esm/wrapper/file-download-wrapper.js +0 -9
- /package/dist/esm/{bin/gen-api-list/test.js → chunk-BWFSM5FK.js} +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {
|
|
2
|
+
接口返回器
|
|
3
|
+
} from "./chunk-FP6Q65NN.js";
|
|
4
|
+
|
|
5
|
+
// src/returner/virtual-file.ts
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
var \u865A\u62DF\u6587\u4EF6\u8FD4\u56DE\u5668 = class _\u865A\u62DF\u6587\u4EF6\u8FD4\u56DE\u5668 extends \u63A5\u53E3\u8FD4\u56DE\u5668 {
|
|
8
|
+
\u7F13\u5B58\u63A7\u5236;
|
|
9
|
+
constructor(options) {
|
|
10
|
+
super();
|
|
11
|
+
this.\u7F13\u5B58\u63A7\u5236 = options.\u7F13\u5B58\u63A7\u5236;
|
|
12
|
+
}
|
|
13
|
+
\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod() {
|
|
14
|
+
return z.any();
|
|
15
|
+
}
|
|
16
|
+
\u83B7\u5F97\u63A5\u53E3\u6B63\u786E\u5F62\u5F0FZod() {
|
|
17
|
+
return z.any();
|
|
18
|
+
}
|
|
19
|
+
\u5B9E\u73B0(req, res, \u6570\u636E, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
20
|
+
let log = \u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log.extend(_\u865A\u62DF\u6587\u4EF6\u8FD4\u56DE\u5668.name);
|
|
21
|
+
if (\u6570\u636E.getTag() === "Left") {
|
|
22
|
+
let \u9519\u8BEF\u6D88\u606F = \u6570\u636E.assertLeft().getLeft();
|
|
23
|
+
void log.error("\u6587\u4EF6\u751F\u6210\u5931\u8D25: %s", \u9519\u8BEF\u6D88\u606F);
|
|
24
|
+
res.status(404).send({ error: \u9519\u8BEF\u6D88\u606F });
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
let { fileContent, MIMEType } = \u6570\u636E.assertRight().getRight();
|
|
28
|
+
res.setHeader("Content-Type", MIMEType);
|
|
29
|
+
let \u7F13\u5B58\u63A7\u5236 = this.\u7F13\u5B58\u63A7\u5236;
|
|
30
|
+
if (\u7F13\u5B58\u63A7\u5236 !== void 0) {
|
|
31
|
+
res.setHeader("Cache-Control", \u7F13\u5B58\u63A7\u5236);
|
|
32
|
+
}
|
|
33
|
+
void log.debug("\u8FD4\u56DE\u865A\u62DF\u6587\u4EF6, MIME\u7C7B\u578B: %s", MIMEType);
|
|
34
|
+
res.send(fileContent);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
虚拟文件返回器
|
|
40
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type 集线器监听器<T> = (数据: T) => Promise<void>;
|
|
2
|
+
type 广播错误处理<T> = (数据: T, 索引: number, 错误: unknown) => Promise<void> | void;
|
|
3
|
+
declare class 集线器监听器持有者<T> {
|
|
4
|
+
readonly 监听器: 集线器监听器<T>;
|
|
5
|
+
constructor(监听器: 集线器监听器<T>);
|
|
6
|
+
}
|
|
7
|
+
declare class 集线器模型<T> {
|
|
8
|
+
private static 清理注册器;
|
|
9
|
+
private 监听器列表;
|
|
10
|
+
private 持有者映射;
|
|
11
|
+
private 错误处理器;
|
|
12
|
+
/**
|
|
13
|
+
* 设置广播错误时的处理器。
|
|
14
|
+
*/
|
|
15
|
+
设置错误处理器(处理器: 广播错误处理<T>): void;
|
|
16
|
+
/**
|
|
17
|
+
* 注册监听器。
|
|
18
|
+
* 若外部不再持有返回的 `监听器持有者`,监听器会在未来某个时间自动移除。
|
|
19
|
+
* ⚠️ 自动清理是非确定性的,不能依赖它实现实时释放。
|
|
20
|
+
*/
|
|
21
|
+
添加监听器(监听器: 集线器监听器<T>): 集线器监听器持有者<T>;
|
|
22
|
+
移除监听器(持有者: 集线器监听器持有者<T>): void;
|
|
23
|
+
广播(数据: T): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { type 广播错误处理, 集线器模型, type 集线器监听器, 集线器监听器持有者 };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { WebSocket } from 'ws';
|
|
2
|
+
import { 集线器监听器持有者 as _________ } from './hub.js';
|
|
3
|
+
|
|
4
|
+
type id = string;
|
|
5
|
+
declare class WebSocket管理器 {
|
|
6
|
+
private log;
|
|
7
|
+
private 连接表;
|
|
8
|
+
private 消息监听表;
|
|
9
|
+
private 连接清理模型;
|
|
10
|
+
private 连接持有者表;
|
|
11
|
+
private 清理函数表;
|
|
12
|
+
增加连接(id: id, ws句柄: WebSocket): _________<void>;
|
|
13
|
+
删除连接(id: string): void;
|
|
14
|
+
private 注册onmessage;
|
|
15
|
+
查询连接存在(id: string): boolean;
|
|
16
|
+
获得ws句柄(id: id): Promise<WebSocket | null>;
|
|
17
|
+
设置清理函数(id: string, 清理函数: () => Promise<void>): Promise<void>;
|
|
18
|
+
设置消息监听(id: string, 回调函数: (数据: any) => Promise<void>): _________<unknown> | null;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { WebSocket管理器 };
|
package/dist/esm/help/help.d.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
import { 请求附加参数类型 as ________ } from '../types/types.js';
|
|
2
|
+
import '@lsby/ts-log';
|
|
3
|
+
import '../global/model/web-socket.js';
|
|
4
|
+
import 'ws';
|
|
5
|
+
import '../global/model/hub.js';
|
|
6
|
+
|
|
1
7
|
declare function 构造元组<T extends any[]>(args: [...T]): T;
|
|
2
8
|
declare function 构造对象<K extends string, V>(key: K, value: V): Record<K, V>;
|
|
3
|
-
type 普通对象 = Record<any, any>;
|
|
4
|
-
type 严格递归合并对象<A, B> = A extends 普通对象 ? B extends 普通对象 ? {
|
|
5
|
-
[K in keyof A | keyof B]: K extends keyof A ? K extends keyof B ? A[K] extends 普通对象 ? B[K] extends 普通对象 ? 严格递归合并对象<A[K], B[K]> : never : never : A[K] : K extends keyof B ? B[K] : never;
|
|
6
|
-
} : never : never;
|
|
7
9
|
/**
|
|
8
10
|
* 深合并两个对象,如果两个值都是普通对象,则递归合并,否则用后者覆盖
|
|
9
11
|
* 只有直接上游是对象原型的对象才算是普通对象
|
|
10
12
|
*/
|
|
11
13
|
declare function 普通对象深合并(target: Record<any, any>, source: Record<any, any>): Record<string, any>;
|
|
14
|
+
declare let 默认请求附加参数: ________;
|
|
15
|
+
type 普通对象 = Record<any, any>;
|
|
16
|
+
type 严格递归合并对象<A, B> = A extends 普通对象 ? B extends 普通对象 ? {
|
|
17
|
+
[K in keyof A | keyof B]: K extends keyof A ? K extends keyof B ? A[K] extends 普通对象 ? B[K] extends 普通对象 ? 严格递归合并对象<A[K], B[K]> : never : never : A[K] : K extends keyof B ? B[K] : never;
|
|
18
|
+
} : never : never;
|
|
12
19
|
|
|
13
|
-
export { type 严格递归合并对象, 普通对象深合并, 构造元组,
|
|
20
|
+
export { type 严格递归合并对象, 普通对象深合并, 构造元组, 构造对象, 默认请求附加参数 };
|
package/dist/esm/help/help.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
普通对象深合并,
|
|
3
3
|
构造元组,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
构造对象,
|
|
5
|
+
默认请求附加参数
|
|
6
|
+
} from "../chunk-MVMDWJTB.js";
|
|
7
|
+
import "../chunk-P23ZAK4I.js";
|
|
8
|
+
import "../chunk-MRTIZDKN.js";
|
|
9
|
+
import "../chunk-NTDDPUP7.js";
|
|
10
|
+
import "../chunk-F5IAX56T.js";
|
|
6
11
|
export {
|
|
7
12
|
\u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76,
|
|
8
13
|
\u6784\u9020\u5143\u7EC4,
|
|
9
|
-
\u6784\u9020\u5BF9\u8C61
|
|
14
|
+
\u6784\u9020\u5BF9\u8C61,
|
|
15
|
+
\u9ED8\u8BA4\u8BF7\u6C42\u9644\u52A0\u53C2\u6570
|
|
10
16
|
};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
type 去除只读<T> = T extends readonly [...infer U] ? U : never;
|
|
2
|
-
type 类型相等<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false;
|
|
3
1
|
declare function 截断字符串(内容: string): string;
|
|
4
2
|
declare function 递归截断字符串(数据: any): any;
|
|
3
|
+
declare function 数组合并<T extends readonly any[][]>(...数组们: T): Array<{
|
|
4
|
+
[K in keyof T]: T[K] extends (infer U)[] ? U : never;
|
|
5
|
+
}>;
|
|
6
|
+
type 去除只读<T> = T extends readonly [...infer U] ? U : never;
|
|
7
|
+
type 类型相等<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false;
|
|
5
8
|
type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer U) => any ? U : never;
|
|
6
9
|
type LastUnion<T> = UnionToIntersection<T extends any ? (x: T) => any : never> extends (x: infer L) => any ? L : never;
|
|
7
10
|
type 联合转元组<T, Last = LastUnion<T>> = [T] extends [never] ? [] : [...联合转元组<Exclude<T, Last>>, Last];
|
|
@@ -14,4 +17,4 @@ type 数组去重<T extends readonly any[], 结果 extends readonly any[] = []>
|
|
|
14
17
|
...infer 剩余
|
|
15
18
|
] ? 数组包含<结果, 第一个> extends true ? 数组去重<剩余, 结果> : 数组去重<剩余, [...结果, 第一个]> : 结果;
|
|
16
19
|
|
|
17
|
-
export { type 去除只读, type 对象去重, 截断字符串, type 数组包含, type 数组去重, type 类型相等, type 联合转元组, 递归截断字符串 };
|
|
20
|
+
export { type 去除只读, type 对象去重, 截断字符串, type 数组包含, type 数组去重, 数组合并, type 类型相等, type 联合转元组, 递归截断字符串 };
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,24 +1,33 @@
|
|
|
1
|
-
export { 严格递归合并对象, 普通对象深合并, 构造元组,
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
1
|
+
export { 严格递归合并对象, 普通对象深合并, 构造元组, 构造对象, 默认请求附加参数 } from './help/help.js';
|
|
2
|
+
export { 任意接口, 接口, 接口方法类型, 接口路径类型, 获得接口方法类型, 获得接口路径类型, 获得接口返回器类型, 获得接口逻辑类型 } from './interface/interface-base.js';
|
|
3
|
+
export { 任意接口逻辑, 接口逻辑, 接口逻辑Base, 接口逻辑正确类型, 接口逻辑错误类型, 接口逻辑附加参数类型, 清理函数类型, 获得接口逻辑上游接口类型, 获得接口逻辑插件类型, 获得接口逻辑最后接口类型, 获得接口逻辑正确类型, 获得接口逻辑错误类型, 获得接口逻辑附加参数类型, 计算接口逻辑参数, 计算接口逻辑正确结果, 计算接口逻辑错误结果 } from './interface/interface-logic.js';
|
|
4
|
+
export { 任意插件, 取插件正确ts类型, 取插件错误ts类型, 合并插件正确结果, 插件 } from './interface/interface-plugin.js';
|
|
5
|
+
export { 任意接口返回器, 接口返回器, 获得接口返回器实现正确类型, 获得接口返回器实现错误类型, 获得接口返回器接口正确类型, 获得接口返回器接口错误类型 } from './interface/interface-returner.js';
|
|
6
|
+
export { 任意接口测试, 接口测试, 接口逻辑测试 } from './interface/interface-test.js';
|
|
7
|
+
export { 自定义插件 } from './plugin/custom.js';
|
|
8
|
+
export { 自定义数据插件 } from './plugin/custom-data.js';
|
|
9
|
+
export { JSON参数解析插件, 任意JSON参数解析插件, 任意JSON参数解析插件项, 合并JSON插件结果, 计算接口逻辑JSON参数 } from './plugin/json.js';
|
|
10
|
+
export { 调试请求头插件 } from './plugin/log-headers.js';
|
|
11
|
+
export { 路径解析插件 } from './plugin/parse-path.js';
|
|
12
|
+
export { Query参数解析插件, 任意Query参数解析插件, 任意Query参数解析插件项, 合并Query插件结果, 计算接口逻辑Query参数 } from './plugin/query.js';
|
|
13
|
+
export { UrlEncoded参数解析插件, 任意UrlEncoded参数解析插件, 任意UrlEncoded参数解析插件项, 合并UrlEncoded参数解析插件结果, 计算接口逻辑UrlEncoded参数 } from './plugin/urlencoded.js';
|
|
14
|
+
export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件输入, 取第一个WS插件输出 } from './plugin/web-socket.js';
|
|
15
|
+
export { 常用接口返回器 } from './returner/common.js';
|
|
16
|
+
export { 自定义接口返回器 } from './returner/custom.js';
|
|
17
|
+
export { 文件流式下载返回器 } from './returner/file-stream-download.js';
|
|
18
|
+
export { 静态文件返回器 } from './returner/static-file.js';
|
|
19
|
+
export { 虚拟文件返回器 } from './returner/virtual-file.js';
|
|
20
|
+
export { 日志回调类型, 服务器 } from './server/server.js';
|
|
11
21
|
export { EXPORT_TYPE } from './symbol/export-type.js';
|
|
12
22
|
export { GetNetCoreExportTypeDefine, GetNetCoreExportTypeName, NetCoreExportType } from './types/export-type.js';
|
|
13
|
-
export {
|
|
14
|
-
export { 常用形式并自定义返回器接口封装 } from './wrapper/common-wrapper-return.js';
|
|
15
|
-
export { 常用直接形式接口封装 } from './wrapper/deferred-result-wrapper.js';
|
|
16
|
-
export { Express兼容接口封装 } from './wrapper/express-compatible-wrapper.js';
|
|
17
|
-
export { 文件下载接口封装, 文件数据类型 } from './wrapper/file-download-wrapper.js';
|
|
18
|
-
import 'zod';
|
|
23
|
+
export { 兼容空对象, 可序列化类型, 基本类型, 空对象, 请求附加参数类型, 递归基本类型, 非空基本类型 } from './types/types.js';
|
|
19
24
|
import '@lsby/ts-fp-data';
|
|
20
25
|
import 'express';
|
|
21
26
|
import './help/interior.js';
|
|
22
|
-
import '
|
|
27
|
+
import 'zod';
|
|
28
|
+
import './global/model/hub.js';
|
|
29
|
+
import 'node:stream';
|
|
23
30
|
import 'node:http';
|
|
24
|
-
import '
|
|
31
|
+
import '@lsby/ts-log';
|
|
32
|
+
import './global/model/web-socket.js';
|
|
33
|
+
import 'ws';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,99 +1,103 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
服务器
|
|
3
|
+
} from "./chunk-AB35ZHL3.js";
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
} from "./chunk-
|
|
5
|
+
EXPORT_TYPE
|
|
6
|
+
} from "./chunk-HT7VG4BT.js";
|
|
7
|
+
import "./chunk-XPFEAXE4.js";
|
|
8
|
+
import "./chunk-BWFSM5FK.js";
|
|
9
|
+
import {
|
|
10
|
+
自定义插件
|
|
11
|
+
} from "./chunk-7OU27OBO.js";
|
|
7
12
|
import {
|
|
8
13
|
JSON参数解析插件
|
|
9
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-PAP3X3RJ.js";
|
|
10
15
|
import {
|
|
11
16
|
调试请求头插件
|
|
12
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-RWSXMQQI.js";
|
|
13
18
|
import {
|
|
14
|
-
|
|
15
|
-
} from "./chunk-
|
|
19
|
+
路径解析插件
|
|
20
|
+
} from "./chunk-JLNRCPJD.js";
|
|
16
21
|
import {
|
|
17
|
-
|
|
18
|
-
} from "./chunk-
|
|
22
|
+
Query参数解析插件
|
|
23
|
+
} from "./chunk-RVEKW2PT.js";
|
|
19
24
|
import {
|
|
20
|
-
|
|
21
|
-
} from "./chunk-
|
|
25
|
+
UrlEncoded参数解析插件
|
|
26
|
+
} from "./chunk-QQFE27NG.js";
|
|
22
27
|
import {
|
|
23
|
-
|
|
24
|
-
} from "./chunk-
|
|
28
|
+
WebSocket插件
|
|
29
|
+
} from "./chunk-7GT72IUT.js";
|
|
25
30
|
import {
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
接口测试,
|
|
32
|
+
接口逻辑测试
|
|
33
|
+
} from "./chunk-GGNRLQAM.js";
|
|
28
34
|
import {
|
|
29
|
-
|
|
30
|
-
} from "./chunk-
|
|
35
|
+
常用接口返回器
|
|
36
|
+
} from "./chunk-AG36MLAF.js";
|
|
31
37
|
import {
|
|
32
|
-
|
|
33
|
-
} from "./chunk-
|
|
38
|
+
自定义接口返回器
|
|
39
|
+
} from "./chunk-OEABQXPT.js";
|
|
34
40
|
import {
|
|
35
|
-
|
|
36
|
-
} from "./chunk-
|
|
41
|
+
文件流式下载返回器
|
|
42
|
+
} from "./chunk-JSMTJQ3K.js";
|
|
37
43
|
import {
|
|
38
|
-
|
|
39
|
-
} from "./chunk-
|
|
40
|
-
import "./chunk-XPFEAXE4.js";
|
|
44
|
+
静态文件返回器
|
|
45
|
+
} from "./chunk-J5BX4WJJ.js";
|
|
41
46
|
import {
|
|
42
|
-
|
|
43
|
-
} from "./chunk-
|
|
47
|
+
虚拟文件返回器
|
|
48
|
+
} from "./chunk-WXTNTK3M.js";
|
|
44
49
|
import {
|
|
45
|
-
|
|
46
|
-
} from "./chunk-
|
|
50
|
+
接口返回器
|
|
51
|
+
} from "./chunk-FP6Q65NN.js";
|
|
47
52
|
import {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
} from "./chunk-XBAKTT6S.js";
|
|
52
|
-
import "./chunk-3YGTOEO2.js";
|
|
53
|
-
import "./chunk-ZIVQ3WZA.js";
|
|
53
|
+
自定义数据插件
|
|
54
|
+
} from "./chunk-HINGVOU6.js";
|
|
55
|
+
import "./chunk-2CGBESLT.js";
|
|
54
56
|
import {
|
|
55
57
|
接口
|
|
56
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-7S6SPW32.js";
|
|
57
59
|
import {
|
|
58
60
|
接口逻辑,
|
|
59
61
|
接口逻辑Base
|
|
60
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-TE6CG2FF.js";
|
|
61
63
|
import {
|
|
62
64
|
普通对象深合并,
|
|
63
65
|
构造元组,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
构造对象,
|
|
67
|
+
默认请求附加参数
|
|
68
|
+
} from "./chunk-MVMDWJTB.js";
|
|
69
|
+
import "./chunk-P23ZAK4I.js";
|
|
70
|
+
import "./chunk-MRTIZDKN.js";
|
|
71
|
+
import "./chunk-NTDDPUP7.js";
|
|
72
|
+
import "./chunk-F5IAX56T.js";
|
|
66
73
|
import {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
直接形式转换器
|
|
70
|
-
} from "./chunk-P75EGBKC.js";
|
|
74
|
+
插件
|
|
75
|
+
} from "./chunk-EGIJQJFI.js";
|
|
71
76
|
export {
|
|
72
77
|
EXPORT_TYPE,
|
|
73
|
-
Express\u517C\u5BB9\u63A5\u53E3\u5C01\u88C5,
|
|
74
|
-
GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
|
|
75
78
|
JSON\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
|
|
79
|
+
Query\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
|
|
80
|
+
UrlEncoded\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
|
|
76
81
|
WebSocket\u63D2\u4EF6,
|
|
77
|
-
\u5E38\u7528\
|
|
78
|
-
\u5E38\u7528\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
|
|
79
|
-
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
80
|
-
\u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5,
|
|
81
|
-
\u5E38\u7528\u8FD4\u56DE\u5668,
|
|
82
|
+
\u5E38\u7528\u63A5\u53E3\u8FD4\u56DE\u5668,
|
|
82
83
|
\u63A5\u53E3,
|
|
83
84
|
\u63A5\u53E3\u6D4B\u8BD5,
|
|
84
|
-
\u63A5\u53E3\
|
|
85
|
-
\u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668,
|
|
85
|
+
\u63A5\u53E3\u8FD4\u56DE\u5668,
|
|
86
86
|
\u63A5\u53E3\u903B\u8F91,
|
|
87
87
|
\u63A5\u53E3\u903B\u8F91Base,
|
|
88
|
+
\u63A5\u53E3\u903B\u8F91\u6D4B\u8BD5,
|
|
88
89
|
\u63D2\u4EF6,
|
|
89
|
-
\u6587\u4EF6\u4E0B\u8F7D\
|
|
90
|
+
\u6587\u4EF6\u6D41\u5F0F\u4E0B\u8F7D\u8FD4\u56DE\u5668,
|
|
90
91
|
\u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76,
|
|
91
92
|
\u670D\u52A1\u5668,
|
|
92
93
|
\u6784\u9020\u5143\u7EC4,
|
|
93
94
|
\u6784\u9020\u5BF9\u8C61,
|
|
94
|
-
\
|
|
95
|
+
\u81EA\u5B9A\u4E49\u63A5\u53E3\u8FD4\u56DE\u5668,
|
|
96
|
+
\u81EA\u5B9A\u4E49\u63D2\u4EF6,
|
|
95
97
|
\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6,
|
|
96
|
-
\
|
|
97
|
-
\
|
|
98
|
-
\
|
|
98
|
+
\u865A\u62DF\u6587\u4EF6\u8FD4\u56DE\u5668,
|
|
99
|
+
\u8C03\u8BD5\u8BF7\u6C42\u5934\u63D2\u4EF6,
|
|
100
|
+
\u8DEF\u5F84\u89E3\u6790\u63D2\u4EF6,
|
|
101
|
+
\u9759\u6001\u6587\u4EF6\u8FD4\u56DE\u5668,
|
|
102
|
+
\u9ED8\u8BA4\u8BF7\u6C42\u9644\u52A0\u53C2\u6570
|
|
99
103
|
};
|
|
@@ -1,8 +1,46 @@
|
|
|
1
|
-
import '
|
|
2
|
-
|
|
3
|
-
import './interface-
|
|
1
|
+
import { 空对象 as ___ } from '../types/types.js';
|
|
2
|
+
import { 接口逻辑Base as ____Base } from './interface-logic.js';
|
|
3
|
+
import { 获得接口返回器实现错误类型 as _____________, 获得接口返回器实现正确类型 as _____________$1, 任意接口返回器 as _______ } from './interface-returner.js';
|
|
4
|
+
import '@lsby/ts-log';
|
|
5
|
+
import '../global/model/web-socket.js';
|
|
6
|
+
import 'ws';
|
|
7
|
+
import '../global/model/hub.js';
|
|
4
8
|
import '@lsby/ts-fp-data';
|
|
5
9
|
import 'express';
|
|
6
10
|
import '../help/interior.js';
|
|
7
|
-
import '
|
|
8
|
-
import '
|
|
11
|
+
import './interface-plugin.js';
|
|
12
|
+
import 'zod';
|
|
13
|
+
|
|
14
|
+
type 接口路径类型 = string | RegExp;
|
|
15
|
+
type 接口方法类型 = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head' | 'options';
|
|
16
|
+
/**
|
|
17
|
+
* ### 接口
|
|
18
|
+
*
|
|
19
|
+
* 一个HTTP接口, 它由以下部分组成:
|
|
20
|
+
* - 请求路径: 例如 /api/xxx 或正则表达式 /^\/api\/.+/
|
|
21
|
+
* - 请求方法: get 或 post
|
|
22
|
+
* - 接口逻辑: 接口的实际逻辑行为, 见 {@link 接口逻辑}
|
|
23
|
+
* - 接口返回器: 决定如何将接口逻辑的返回值返回给客户端的逻辑, 见 {@link 接口返回器}
|
|
24
|
+
*
|
|
25
|
+
* 推荐将接口作为文件的默认导出, 这样可以让类型工具对齐进行静态分析, 生成索引和类型
|
|
26
|
+
*/
|
|
27
|
+
declare class 接口<路径类型 extends 接口路径类型, 方法类型 extends 接口方法类型, 接口逻辑类型 extends ____Base<any, ___, _____________<接口返回器类型>, _____________$1<接口返回器类型>, any, any>, 接口返回器类型 extends _______> {
|
|
28
|
+
private 请求路径;
|
|
29
|
+
private 请求方法;
|
|
30
|
+
private 接口逻辑;
|
|
31
|
+
private 接口返回器;
|
|
32
|
+
protected readonly __类型保持符号?: [路径类型, 方法类型, 接口逻辑类型, 接口返回器类型];
|
|
33
|
+
constructor(请求路径: 路径类型, 请求方法: 方法类型, 接口逻辑: 接口逻辑类型, 接口返回器: 接口返回器类型);
|
|
34
|
+
获得路径(): 路径类型;
|
|
35
|
+
匹配路径(路径: string): boolean;
|
|
36
|
+
获得方法(): 方法类型;
|
|
37
|
+
获得接口逻辑(): 接口逻辑类型;
|
|
38
|
+
获得接口返回器(): 接口返回器类型;
|
|
39
|
+
}
|
|
40
|
+
type 任意接口 = 接口<any, any, any, any>;
|
|
41
|
+
type 获得接口路径类型<A> = A extends 接口<infer X, any, any, any> ? X : never;
|
|
42
|
+
type 获得接口方法类型<A> = A extends 接口<any, infer X, any, any> ? X : never;
|
|
43
|
+
type 获得接口逻辑类型<A> = A extends 接口<any, any, infer X, any> ? X : never;
|
|
44
|
+
type 获得接口返回器类型<A> = A extends 接口<any, any, any, infer X> ? X : never;
|
|
45
|
+
|
|
46
|
+
export { type 任意接口, 接口, type 接口方法类型, type 接口路径类型, type 获得接口方法类型, type 获得接口路径类型, type 获得接口返回器类型, type 获得接口逻辑类型 };
|