@lsby/net-core 0.9.3 → 0.10.1
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 +1 -1
- package/dist/bin/gen-api-type/index.cjs +1 -1
- package/dist/cjs/bin/gen-api-type/bin.cjs +1 -1
- package/dist/cjs/bin/gen-api-type/index.cjs +1 -1
- package/dist/cjs/global/global.cjs +8 -5
- package/dist/cjs/help/help.cjs +21 -0
- package/dist/cjs/help/help.d.cts +10 -1
- package/dist/cjs/index.cjs +71 -61
- package/dist/cjs/index.d.cts +4 -5
- package/dist/cjs/interface/interface-base.d.cts +1 -1
- package/dist/cjs/interface/interface-logic.cjs +27 -4
- package/dist/cjs/interface/interface-logic.d.cts +1 -1
- package/dist/cjs/interface/interface-result.cjs +6 -6
- package/dist/cjs/interface/interface-result.d.cts +1 -1
- package/dist/cjs/interface/interface-retuen.d.cts +14 -0
- package/dist/cjs/{interface-base-_3j8cNEe.d.cts → interface-base-CyfrfgWu.d.cts} +31 -3
- package/dist/cjs/plugin/extend/custom-data.d.cts +4 -1
- package/dist/cjs/plugin/extend/json.cjs +3 -2
- package/dist/cjs/plugin/extend/json.d.cts +8 -3
- package/dist/cjs/plugin/extend/log-headers.d.cts +1 -1
- package/dist/cjs/plugin/extend/query.cjs +3 -2
- package/dist/cjs/plugin/extend/query.d.cts +8 -3
- package/dist/cjs/plugin/extend/urlencoded.cjs +4 -3
- package/dist/cjs/plugin/extend/urlencoded.d.cts +4 -2
- package/dist/cjs/plugin/extend/web-socket.cjs +8 -5
- package/dist/cjs/plugin/extend/web-socket.d.cts +1 -1
- package/dist/cjs/plugin/plug.d.cts +1 -1
- package/dist/cjs/server/server.cjs +8 -5
- package/dist/cjs/server/server.d.cts +1 -1
- package/dist/cjs/wrapper/common-wrapper-return.cjs +3 -3
- package/dist/cjs/wrapper/common-wrapper-return.d.cts +12 -3
- package/dist/cjs/wrapper/common-wrapper.d.cts +8 -1
- package/dist/cjs/wrapper/deferred-result-wrapper.cjs +6 -6
- package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +12 -5
- 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-XEV5RHGZ.js → chunk-3XRAG6DM.js} +4 -3
- package/dist/esm/{chunk-3KWXQ7TQ.js → chunk-3ZQFVYIR.js} +3 -3
- package/dist/esm/chunk-7LQRWJ3X.js +32 -0
- package/dist/esm/{chunk-REQ5ZXOQ.js → chunk-B5DKJ5AV.js} +1 -1
- package/dist/esm/{chunk-OH6PZFGR.js → chunk-C5FED6EO.js} +1 -1
- package/dist/esm/{chunk-AEG7V7QY.js → chunk-DNJQGD5M.js} +3 -3
- package/dist/esm/{chunk-ITCALAYE.js → chunk-E23EZWBE.js} +8 -4
- package/dist/esm/{chunk-LZOZF4CS.js → chunk-H7LZCHCE.js} +3 -3
- package/dist/esm/{chunk-WECMWUFB.js → chunk-HDPEZW7H.js} +1 -1
- package/dist/esm/{chunk-JXTWTY2S.js → chunk-NB2QNDI2.js} +5 -5
- package/dist/esm/{chunk-OUDYK6TE.js → chunk-NJKBRPN7.js} +8 -5
- package/dist/esm/{chunk-GMYXAJS3.js → chunk-TSDOOGHG.js} +3 -2
- package/dist/esm/{chunk-AY6KWNWX.js → chunk-UUXGAK5S.js} +3 -2
- package/dist/esm/global/global.js +1 -1
- package/dist/esm/help/help.d.ts +10 -1
- package/dist/esm/help/help.js +3 -1
- package/dist/esm/index.d.ts +4 -5
- package/dist/esm/index.js +24 -26
- 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-logic.js +2 -1
- package/dist/esm/interface/interface-result.d.ts +1 -1
- package/dist/esm/interface/interface-result.js +5 -5
- package/dist/esm/interface/interface-retuen.d.ts +14 -0
- package/dist/esm/{interface-base-CxLIUGsx.d.ts → interface-base-C1ZNSMJz.d.ts} +31 -3
- package/dist/esm/plugin/extend/custom-data.d.ts +4 -1
- package/dist/esm/plugin/extend/json.d.ts +8 -3
- package/dist/esm/plugin/extend/json.js +1 -1
- package/dist/esm/plugin/extend/log-headers.d.ts +1 -1
- package/dist/esm/plugin/extend/query.d.ts +8 -3
- package/dist/esm/plugin/extend/query.js +1 -1
- package/dist/esm/plugin/extend/urlencoded.d.ts +4 -2
- package/dist/esm/plugin/extend/urlencoded.js +1 -1
- package/dist/esm/plugin/extend/web-socket.d.ts +1 -1
- 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 +12 -3
- package/dist/esm/wrapper/common-wrapper-return.js +4 -4
- package/dist/esm/wrapper/common-wrapper.d.ts +8 -1
- package/dist/esm/wrapper/common-wrapper.js +2 -2
- package/dist/esm/wrapper/deferred-result-wrapper.d.ts +12 -5
- package/dist/esm/wrapper/deferred-result-wrapper.js +4 -4
- package/package.json +1 -1
- package/dist/cjs/plugin/extend/send-file-plugin.cjs +0 -58
- package/dist/cjs/plugin/extend/send-file-plugin.d.cts +0 -21
- package/dist/esm/chunk-RRUUWHTF.js +0 -22
- package/dist/esm/chunk-YMH6HJJF.js +0 -12
- package/dist/esm/plugin/extend/send-file-plugin.d.ts +0 -21
- package/dist/esm/plugin/extend/send-file-plugin.js +0 -7
|
@@ -137,6 +137,15 @@ declare abstract class 接口结果转换器<实现错误类型 extends 接口
|
|
|
137
137
|
abstract 实现(数据: Either<实现错误类型, 实现正确类型>): 接口错误形式 | 接口正确形式;
|
|
138
138
|
}
|
|
139
139
|
type 任意接口结果转换器 = 接口结果转换器<any, any, any, any>;
|
|
140
|
+
/**
|
|
141
|
+
* 常用形式转换器
|
|
142
|
+
*
|
|
143
|
+
* 将业务逻辑返回的 Either<错误, 成功> 转换为前端友好的统一格式:
|
|
144
|
+
* - 成功时: { status: 'success', data: ... }
|
|
145
|
+
* - 失败时: { status: 'fail', data: ... }
|
|
146
|
+
*
|
|
147
|
+
* 这种格式让前端可以通过 status 字段统一判断请求是否成功
|
|
148
|
+
*/
|
|
140
149
|
declare class 常用形式转换器<实现错误类型 extends 接口逻辑错误类型, 实现正确类型 extends 接口逻辑正确类型> extends 接口结果转换器<实现错误类型, 实现正确类型, {
|
|
141
150
|
status: 'fail';
|
|
142
151
|
data: 实现错误类型;
|
|
@@ -152,8 +161,27 @@ declare class 常用形式转换器<实现错误类型 extends 接口逻辑错
|
|
|
152
161
|
data: 实现正确类型;
|
|
153
162
|
};
|
|
154
163
|
}
|
|
155
|
-
|
|
156
|
-
|
|
164
|
+
/**
|
|
165
|
+
* 直接形式转换器
|
|
166
|
+
*
|
|
167
|
+
* 将业务逻辑返回的 Either<错误, {data: ...}> 转换为直接格式:
|
|
168
|
+
* - 成功时: 直接的 data 内容
|
|
169
|
+
* - 失败时: { status: 'fail', data: ... }
|
|
170
|
+
*
|
|
171
|
+
* 用于需要直接返回的场景:
|
|
172
|
+
* - 因为接口逻辑需要组合, 所以返回值必须是对象, 但有时候需要返回一个非对象数据
|
|
173
|
+
* - 这个转换器就约定了一个模式, 用于返回直接结果
|
|
174
|
+
* - 业务逻辑需要返回 Either<错误, 成功>, 其中成功部分必须是 { data: 真正的返回值 }
|
|
175
|
+
* - 如果返回左值,返回标准错误格式 { status: 'fail', data: ... }
|
|
176
|
+
* - 如果返回右值,直接返回 data 部分
|
|
177
|
+
*
|
|
178
|
+
* 典型应用场景:
|
|
179
|
+
* - 文件下载: 直接返回文件流
|
|
180
|
+
* - 图片/视频: 直接返回二进制数据
|
|
181
|
+
* - SSE/WebSocket: 建立长连接
|
|
182
|
+
*/
|
|
183
|
+
declare class 直接形式转换器<实现最终返回类型, 实现错误类型 extends 接口逻辑错误类型, 实现正确类型 extends {
|
|
184
|
+
data: 实现最终返回类型;
|
|
157
185
|
}> extends 接口结果转换器<实现错误类型, 实现正确类型, {
|
|
158
186
|
status: 'fail';
|
|
159
187
|
data: 实现错误类型;
|
|
@@ -203,4 +231,4 @@ type 获得接口正确形式<A> = A extends 接口<any, any, any, any, infer X,
|
|
|
203
231
|
type 获得接口结果转换器类型<A> = A extends 接口<any, any, any, any, any, infer X, any> ? X : never;
|
|
204
232
|
type 获得接口结果返回器类型<A> = A extends 接口<any, any, any, any, any, any, infer X> ? X : never;
|
|
205
233
|
|
|
206
|
-
export { type
|
|
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 请 };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 插 as __ } from '../../interface-base-
|
|
2
|
+
import { 插 as __ } from '../../interface-base-CyfrfgWu.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
5
|
import '../../help/interior.cjs';
|
|
@@ -7,6 +7,9 @@ import '@lsby/ts-log';
|
|
|
7
7
|
import 'node:http';
|
|
8
8
|
import '../../interface/interface-retuen.cjs';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* 该插件允许使用者给定任意的数据, 该数据将作为该插件的返回值, 最终传入到接口逻辑中
|
|
12
|
+
*/
|
|
10
13
|
declare class 自定义数据插件<Data extends z.AnyZodObject> extends __<Data> {
|
|
11
14
|
constructor(t: Data, data: z.infer<Data>);
|
|
12
15
|
}
|
|
@@ -35,6 +35,7 @@ __export(json_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(json_exports);
|
|
36
36
|
var import_express = __toESM(require("express"), 1);
|
|
37
37
|
var import_node_util = require("util");
|
|
38
|
+
var import_zod = require("zod");
|
|
38
39
|
|
|
39
40
|
// src/help/interior.ts
|
|
40
41
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
@@ -74,7 +75,7 @@ var \u70D9\u5370 = Symbol();
|
|
|
74
75
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
75
76
|
[\u70D9\u5370] = ["JSON\u89E3\u6790\u63D2\u4EF6"];
|
|
76
77
|
constructor(t, opt) {
|
|
77
|
-
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
78
|
+
super(import_zod.z.object({ body: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
78
79
|
let log = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
79
80
|
await new Promise(
|
|
80
81
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
@@ -88,7 +89,7 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
88
89
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %o", parseResult.error));
|
|
89
90
|
}
|
|
90
91
|
await log.debug("\u6210\u529F\u89E3\u6790 JSON");
|
|
91
|
-
return parseResult.data;
|
|
92
|
+
return { body: parseResult.data };
|
|
92
93
|
});
|
|
93
94
|
}
|
|
94
95
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { AnyZodObject, z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { 严格递归合并对象 as ________ } from '../../help/help.cjs';
|
|
4
|
+
import { 插 as __, z as _____, 取 as _______, o as __________ } from '../../interface-base-CyfrfgWu.cjs';
|
|
4
5
|
import '@lsby/ts-fp-data';
|
|
5
6
|
import '../../help/interior.cjs';
|
|
6
7
|
import '@lsby/ts-log';
|
|
@@ -8,13 +9,17 @@ import 'node:http';
|
|
|
8
9
|
import '../../interface/interface-retuen.cjs';
|
|
9
10
|
|
|
10
11
|
declare const 烙印: unique symbol;
|
|
11
|
-
declare class JSON解析插件<Result extends AnyZodObject> extends __<
|
|
12
|
+
declare class JSON解析插件<Result extends AnyZodObject> extends __<z.ZodObject<{
|
|
13
|
+
body: Result;
|
|
14
|
+
}>> {
|
|
12
15
|
private [烙印];
|
|
13
16
|
constructor(t: Result, opt: Parameters<typeof express.json>[0]);
|
|
14
17
|
}
|
|
15
18
|
type 任意JSON解析插件 = JSON解析插件<any>;
|
|
16
19
|
type 任意JSON解析插件项 = 任意JSON解析插件;
|
|
17
|
-
type 合并JSON插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意JSON解析插件项 ?
|
|
20
|
+
type 合并JSON插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意JSON解析插件项 ? ________<{
|
|
21
|
+
body: z.infer<_______<插件项>>['body'];
|
|
22
|
+
}, 合并JSON插件结果<xs>> : 合并JSON插件结果<xs> : {} : {} : {};
|
|
18
23
|
type 计算接口逻辑JSON参数<接口逻辑> = 合并JSON插件结果<__________<接口逻辑>>;
|
|
19
24
|
|
|
20
25
|
export { JSON解析插件, type 任意JSON解析插件, type 任意JSON解析插件项, type 合并JSON插件结果, type 计算接口逻辑JSON参数 };
|
|
@@ -24,6 +24,7 @@ __export(query_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(query_exports);
|
|
26
26
|
var import_node_util = require("util");
|
|
27
|
+
var import_zod = require("zod");
|
|
27
28
|
|
|
28
29
|
// src/help/interior.ts
|
|
29
30
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
@@ -63,7 +64,7 @@ var \u70D9\u5370 = Symbol();
|
|
|
63
64
|
var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
64
65
|
[\u70D9\u5370] = ["GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6"];
|
|
65
66
|
constructor(t) {
|
|
66
|
-
super(t, async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
67
|
+
super(import_zod.z.object({ query: t }), async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
67
68
|
let log = \u9644\u52A0\u53C2\u6570.log.extend("GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6");
|
|
68
69
|
await log.debug("\u51C6\u5907\u89E3\u6790 GET \u53C2\u6570\uFF1A%o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.query)));
|
|
69
70
|
let parseResult = t.safeParse(req.query);
|
|
@@ -72,7 +73,7 @@ var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
72
73
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 GET \u53C2\u6570\u5931\u8D25: %o", parseResult.error));
|
|
73
74
|
}
|
|
74
75
|
await log.debug("\u6210\u529F\u89E3\u6790 GET \u53C2\u6570");
|
|
75
|
-
return parseResult.data;
|
|
76
|
+
return { query: parseResult.data };
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AnyZodObject, z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { 严格递归合并对象 as ________ } from '../../help/help.cjs';
|
|
3
|
+
import { 插 as __, z as _____, 取 as _______, o as __________ } from '../../interface-base-CyfrfgWu.cjs';
|
|
3
4
|
import '@lsby/ts-fp-data';
|
|
4
5
|
import 'express';
|
|
5
6
|
import '../../help/interior.cjs';
|
|
@@ -8,13 +9,17 @@ import 'node:http';
|
|
|
8
9
|
import '../../interface/interface-retuen.cjs';
|
|
9
10
|
|
|
10
11
|
declare const 烙印: unique symbol;
|
|
11
|
-
declare class GET参数解析插件<Result extends AnyZodObject> extends __<
|
|
12
|
+
declare class GET参数解析插件<Result extends AnyZodObject> extends __<z.ZodObject<{
|
|
13
|
+
query: Result;
|
|
14
|
+
}>> {
|
|
12
15
|
private [烙印];
|
|
13
16
|
constructor(t: Result);
|
|
14
17
|
}
|
|
15
18
|
type 任意GET参数解析插件 = GET参数解析插件<any>;
|
|
16
19
|
type 任意GET参数解析插件项 = 任意GET参数解析插件;
|
|
17
|
-
type 合并GET插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意GET参数解析插件项 ?
|
|
20
|
+
type 合并GET插件结果<Arr extends Array<_____>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____> ? 插件项 extends 任意GET参数解析插件项 ? ________<{
|
|
21
|
+
query: z.infer<_______<插件项>>['query'];
|
|
22
|
+
}, 合并GET插件结果<xs>> : 合并GET插件结果<xs> : {} : {} : {};
|
|
18
23
|
type 计算接口逻辑GET参数<接口逻辑> = 合并GET插件结果<__________<接口逻辑>>;
|
|
19
24
|
|
|
20
25
|
export { GET参数解析插件, type 任意GET参数解析插件, type 任意GET参数解析插件项, type 合并GET插件结果, type 计算接口逻辑GET参数 };
|
|
@@ -35,6 +35,7 @@ __export(urlencoded_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(urlencoded_exports);
|
|
36
36
|
var import_express = __toESM(require("express"), 1);
|
|
37
37
|
var import_node_util = require("util");
|
|
38
|
+
var import_zod = require("zod");
|
|
38
39
|
|
|
39
40
|
// src/plugin/plug.ts
|
|
40
41
|
var \u63D2\u4EF6 = class {
|
|
@@ -53,8 +54,8 @@ var \u63D2\u4EF6 = class {
|
|
|
53
54
|
// src/plugin/extend/urlencoded.ts
|
|
54
55
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
55
56
|
constructor(t, opt) {
|
|
56
|
-
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
57
|
-
let log = \u9644\u52A0\u53C2\u6570.log.extend("
|
|
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
59
|
await new Promise(
|
|
59
60
|
(pRes, _rej) => import_express.default.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
60
61
|
pRes(null);
|
|
@@ -65,7 +66,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
65
66
|
await log.error("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error);
|
|
66
67
|
throw new Error((0, import_node_util.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error));
|
|
67
68
|
}
|
|
68
|
-
return parseResult.data;
|
|
69
|
+
return { form: parseResult.data };
|
|
69
70
|
});
|
|
70
71
|
}
|
|
71
72
|
};
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { 插 as __ } from '../../interface-base-
|
|
3
|
+
import { 插 as __ } from '../../interface-base-CyfrfgWu.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 表单解析插件<Result extends z.AnyZodObject> extends __<
|
|
10
|
+
declare class 表单解析插件<Result extends z.AnyZodObject> extends __<z.ZodObject<{
|
|
11
|
+
form: Result;
|
|
12
|
+
}>> {
|
|
11
13
|
constructor(t: Result, opt: Parameters<typeof express.urlencoded>[0]);
|
|
12
14
|
}
|
|
13
15
|
|
|
@@ -34,11 +34,14 @@ var log = new import_ts_log.Log("@lsby:net-core");
|
|
|
34
34
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
35
35
|
constructor(\u8FDE\u63A5\u8868) {
|
|
36
36
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
37
|
-
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
38
|
-
|
|
39
|
-
this
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
38
|
+
() => {
|
|
39
|
+
this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
|
|
40
|
+
this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
5 * 60 * 1e3
|
|
44
|
+
);
|
|
42
45
|
}
|
|
43
46
|
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
44
47
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'express';
|
|
2
2
|
import 'zod';
|
|
3
|
-
export {
|
|
3
|
+
export { y as 任意插件, A as 取插件内部ts类型, 取 as 取插件内部类型, 合 as 合并插件结果, 插 as 插件, z as 插件项类型 } from '../interface-base-CyfrfgWu.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import '../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
@@ -47,11 +47,14 @@ var log = new import_ts_log.Log("@lsby:net-core");
|
|
|
47
47
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
48
48
|
constructor(\u8FDE\u63A5\u8868) {
|
|
49
49
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
50
|
-
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
51
|
-
|
|
52
|
-
this
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
this.\u5B9A\u65F6\u5668ID = setInterval(
|
|
51
|
+
() => {
|
|
52
|
+
this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
|
|
53
|
+
this.log.error(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`).catch((a) => `\u65E5\u5FD7\u8F93\u51FA\u9519\u8BEF: ${a}: \u65E5\u5FD7\u5185\u5BB9: ${`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`}`);
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
5 * 60 * 1e3
|
|
57
|
+
);
|
|
55
58
|
}
|
|
56
59
|
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
57
60
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
@@ -20,7 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/wrapper/common-wrapper-return.ts
|
|
21
21
|
var common_wrapper_return_exports = {};
|
|
22
22
|
__export(common_wrapper_return_exports, {
|
|
23
|
-
\u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5
|
|
23
|
+
\u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(common_wrapper_return_exports);
|
|
26
26
|
var import_zod = require("zod");
|
|
@@ -92,7 +92,7 @@ var \u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668 = class extends \u63A5\u53E3\u7ED3\u679
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
// src/wrapper/common-wrapper-return.ts
|
|
95
|
-
var \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
|
|
95
|
+
var \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
|
|
96
96
|
constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F91, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod, \u8FD4\u56DE\u5668\u5B9E\u73B0) {
|
|
97
97
|
let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod.z.object({ status: import_zod.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
|
|
98
98
|
let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = import_zod.z.object({ status: import_zod.z.literal("success"), data: \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod });
|
|
@@ -102,5 +102,5 @@ var \u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C
|
|
|
102
102
|
};
|
|
103
103
|
// Annotate the CommonJS export names for ESM import in node:
|
|
104
104
|
0 && (module.exports = {
|
|
105
|
-
\u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u63A5\u53E3\u5C01\u88C5
|
|
105
|
+
\u5E38\u7528\u5F62\u5F0F\u5E76\u81EA\u5B9A\u4E49\u8FD4\u56DE\u5668\u63A5\u53E3\u5C01\u88C5
|
|
106
106
|
});
|
|
@@ -1,13 +1,22 @@
|
|
|
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-CyfrfgWu.cjs';
|
|
4
4
|
import { 自定义返回器 as ______$2 } from '../interface/interface-retuen.cjs';
|
|
5
5
|
import '@lsby/ts-fp-data';
|
|
6
6
|
import '../help/interior.cjs';
|
|
7
7
|
import '@lsby/ts-log';
|
|
8
8
|
import 'node:http';
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* 常用形式并自定义返回器接口封装
|
|
12
|
+
*
|
|
13
|
+
* 类似于 常用形式接口封装, 但允许自定义返回逻辑
|
|
14
|
+
*
|
|
15
|
+
* 组合了:
|
|
16
|
+
* - 常用形式转换器: 将逻辑结果转换为 { status: 'success/fail', data: ... } 格式
|
|
17
|
+
* - 自定义返回器: 自定义的返回器
|
|
18
|
+
*/
|
|
19
|
+
declare class 常用形式并自定义返回器接口封装<路径类型 extends ______, 方法类型 extends ______$1, 逻辑类型 extends ____Base<any, ___, z.infer<接口错误形式Zod>, z.infer<接口正确形式Zod>, any, any>, 接口错误形式Zod extends z.ZodTypeAny, 接口正确形式Zod extends z.ZodTypeAny> extends __<路径类型, 方法类型, 逻辑类型, z.ZodObject<{
|
|
11
20
|
status: z.ZodLiteral<'fail'>;
|
|
12
21
|
data: 接口错误形式Zod;
|
|
13
22
|
}>, z.ZodObject<{
|
|
@@ -17,4 +26,4 @@ declare class 常用形式并自定义返回接口封装<路径类型 extends __
|
|
|
17
26
|
constructor(请求路径: 路径类型, 请求方法: 方法类型, 接口逻辑: 逻辑类型, 逻辑错误类型Zod: 接口错误形式Zod, 逻辑正确类型Zod: 接口正确形式Zod, 返回器实现: (req: Request, res: Response, 结果: __________$1<逻辑类型>) => void | Promise<void>);
|
|
18
27
|
}
|
|
19
28
|
|
|
20
|
-
export {
|
|
29
|
+
export { 常用形式并自定义返回器接口封装 };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 常 as _______, q as __________, r as __________$1 } from '../interface-base-
|
|
2
|
+
import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 常 as _______, q as __________, r as __________$1 } from '../interface-base-CyfrfgWu.cjs';
|
|
3
3
|
import { 常用返回器 as _____ } from '../interface/interface-retuen.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import 'express';
|
|
@@ -7,6 +7,13 @@ import '../help/interior.cjs';
|
|
|
7
7
|
import '@lsby/ts-log';
|
|
8
8
|
import 'node:http';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* 常用形式接口封装
|
|
12
|
+
*
|
|
13
|
+
* 组合了:
|
|
14
|
+
* - 常用形式转换器: 将逻辑结果转换为 { status: 'success/fail', data: ... } 格式
|
|
15
|
+
* - 常用返回器: 使用 res.send 发送 JSON 结果
|
|
16
|
+
*/
|
|
10
17
|
declare class 常用形式接口封装<路径类型 extends ______, 方法类型 extends ______$1, 逻辑类型 extends ____Base<any, ___, z.infer<接口错误形式Zod>, z.infer<接口正确形式Zod>, any, any>, 接口错误形式Zod extends z.ZodTypeAny, 接口正确形式Zod extends z.ZodTypeAny> extends __<路径类型, 方法类型, 逻辑类型, z.ZodObject<{
|
|
11
18
|
status: z.ZodLiteral<'fail'>;
|
|
12
19
|
data: 接口错误形式Zod;
|
|
@@ -20,7 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/wrapper/deferred-result-wrapper.ts
|
|
21
21
|
var deferred_result_wrapper_exports = {};
|
|
22
22
|
__export(deferred_result_wrapper_exports, {
|
|
23
|
-
\u5E38\u7528\
|
|
23
|
+
\u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5: () => \u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(deferred_result_wrapper_exports);
|
|
26
26
|
var import_zod = require("zod");
|
|
@@ -62,14 +62,14 @@ var \u63A5\u53E3 = class {
|
|
|
62
62
|
// src/interface/interface-result.ts
|
|
63
63
|
var \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 = class {
|
|
64
64
|
};
|
|
65
|
-
var \
|
|
65
|
+
var \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
66
66
|
\u5B9E\u73B0(\u6570\u636E) {
|
|
67
67
|
switch (\u6570\u636E.getTag()) {
|
|
68
68
|
case "Left": {
|
|
69
69
|
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
70
70
|
}
|
|
71
71
|
case "Right": {
|
|
72
|
-
return \u6570\u636E.assertRight().getRight().
|
|
72
|
+
return \u6570\u636E.assertRight().getRight().data;
|
|
73
73
|
}
|
|
74
74
|
default: {
|
|
75
75
|
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
@@ -88,15 +88,15 @@ var \u5E38\u7528\u8FD4\u56DE\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8FD
|
|
|
88
88
|
};
|
|
89
89
|
|
|
90
90
|
// src/wrapper/deferred-result-wrapper.ts
|
|
91
|
-
var \u5E38\u7528\
|
|
91
|
+
var \u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
|
|
92
92
|
constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F91, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod) {
|
|
93
93
|
let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = import_zod.z.object({ status: import_zod.z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
|
|
94
94
|
let \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F = \u903B\u8F91\u6B63\u786E\u7C7B\u578BZod;
|
|
95
|
-
let \u63A5\u53E3\u8F6C\u6362\u5668 = new \
|
|
95
|
+
let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668();
|
|
96
96
|
super(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F91, \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u6B63\u786E\u8F93\u51FA\u5F62\u5F0F, \u63A5\u53E3\u8F6C\u6362\u5668, new \u5E38\u7528\u8FD4\u56DE\u5668());
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
99
|
// Annotate the CommonJS export names for ESM import in node:
|
|
100
100
|
0 && (module.exports = {
|
|
101
|
-
\u5E38\u7528\
|
|
101
|
+
\u5E38\u7528\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5
|
|
102
102
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __,
|
|
2
|
+
import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 直 as _______, q as __________, r as __________$1 } from '../interface-base-CyfrfgWu.cjs';
|
|
3
3
|
import { 常用返回器 as _____ } from '../interface/interface-retuen.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import 'express';
|
|
@@ -7,13 +7,20 @@ import '../help/interior.cjs';
|
|
|
7
7
|
import '@lsby/ts-log';
|
|
8
8
|
import 'node:http';
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
/**
|
|
11
|
+
* 常用直接形式接口封装
|
|
12
|
+
*
|
|
13
|
+
* 组合了:
|
|
14
|
+
* - 直接形式转换器: 将逻辑结果转换为直接的数据格式
|
|
15
|
+
* - 常用返回器: 使用 res.send 发送 JSON 结果
|
|
16
|
+
*/
|
|
17
|
+
declare class 常用直接形式接口封装<路径类型 extends ______, 方法类型 extends ______$1, 逻辑类型 extends ____Base<any, ___, z.infer<接口错误形式Zod>, {
|
|
18
|
+
data: z.infer<接口正确形式Zod>;
|
|
12
19
|
}, any, any>, 接口错误形式Zod extends z.ZodTypeAny, 接口正确形式Zod extends z.ZodTypeAny> extends __<路径类型, 方法类型, 逻辑类型, z.ZodObject<{
|
|
13
20
|
status: z.ZodLiteral<'fail'>;
|
|
14
21
|
data: 接口错误形式Zod;
|
|
15
|
-
}>, 接口正确形式Zod,
|
|
22
|
+
}>, 接口正确形式Zod, _______<接口正确形式Zod, __________<逻辑类型>, __________$1<逻辑类型>>, _____<z.infer<接口正确形式Zod>>> {
|
|
16
23
|
constructor(请求路径: 路径类型, 请求方法: 方法类型, 接口逻辑: 逻辑类型, 逻辑错误类型Zod: 接口错误形式Zod, 逻辑正确类型Zod: 接口正确形式Zod);
|
|
17
24
|
}
|
|
18
25
|
|
|
19
|
-
export {
|
|
26
|
+
export { 常用直接形式接口封装 };
|
|
@@ -5,10 +5,11 @@ import {
|
|
|
5
5
|
// src/plugin/extend/urlencoded.ts
|
|
6
6
|
import express from "express";
|
|
7
7
|
import { format } from "util";
|
|
8
|
+
import { z } from "zod";
|
|
8
9
|
var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
9
10
|
constructor(t, opt) {
|
|
10
|
-
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
11
|
-
let log = \u9644\u52A0\u53C2\u6570.log.extend("
|
|
11
|
+
super(z.object({ form: t }), async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
12
|
+
let log = \u9644\u52A0\u53C2\u6570.log.extend("\u8868\u5355\u89E3\u6790\u63D2\u4EF6");
|
|
12
13
|
await new Promise(
|
|
13
14
|
(pRes, _rej) => express.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
14
15
|
pRes(null);
|
|
@@ -19,7 +20,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
19
20
|
await log.error("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error);
|
|
20
21
|
throw new Error(format("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error));
|
|
21
22
|
}
|
|
22
|
-
return parseResult.data;
|
|
23
|
+
return { form: parseResult.data };
|
|
23
24
|
});
|
|
24
25
|
}
|
|
25
26
|
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// src/help/help.ts
|
|
2
|
+
function \u6784\u9020\u5143\u7EC4(args) {
|
|
3
|
+
return args;
|
|
4
|
+
}
|
|
5
|
+
function \u6784\u9020\u5BF9\u8C61(key, value) {
|
|
6
|
+
return { [key]: value };
|
|
7
|
+
}
|
|
8
|
+
function \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(target, source) {
|
|
9
|
+
if (typeof source !== "object" || source === null || Object.getPrototypeOf(source) !== Object.prototype) {
|
|
10
|
+
return source;
|
|
11
|
+
}
|
|
12
|
+
if (typeof target !== "object" || target === null || Object.getPrototypeOf(target) !== Object.prototype) {
|
|
13
|
+
return source;
|
|
14
|
+
}
|
|
15
|
+
let result = { ...target };
|
|
16
|
+
for (let key in source) {
|
|
17
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
18
|
+
if (typeof source[key] === "object" && source[key] !== null && Object.getPrototypeOf(source[key]) === Object.prototype && typeof target[key] === "object" && target[key] !== null && Object.getPrototypeOf(target[key]) === Object.prototype) {
|
|
19
|
+
result[key] = \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76(target[key], source[key]);
|
|
20
|
+
} else {
|
|
21
|
+
result[key] = source[key];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
构造元组,
|
|
30
|
+
构造对象,
|
|
31
|
+
普通对象深合并
|
|
32
|
+
};
|
|
@@ -74,7 +74,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
74
74
|
? {
|
|
75
75
|
path: jsonPath
|
|
76
76
|
method: jsonMethod
|
|
77
|
-
input: jsonMethod extends 'post' ? jsonInput : jsonMethod extends 'get' ? getInput : {}
|
|
77
|
+
input: jsonMethod extends 'post' ? jsonInput['body'] : jsonMethod extends 'get' ? getInput['query'] : {}
|
|
78
78
|
errorOutput: jsonErrorOutput
|
|
79
79
|
successOutput: jsonSuccessOutput
|
|
80
80
|
webSocketData: wsData
|
|
@@ -16,14 +16,14 @@ var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
var \
|
|
19
|
+
var \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
20
20
|
\u5B9E\u73B0(\u6570\u636E) {
|
|
21
21
|
switch (\u6570\u636E.getTag()) {
|
|
22
22
|
case "Left": {
|
|
23
23
|
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
24
24
|
}
|
|
25
25
|
case "Right": {
|
|
26
|
-
return \u6570\u636E.assertRight().getRight().
|
|
26
|
+
return \u6570\u636E.assertRight().getRight().data;
|
|
27
27
|
}
|
|
28
28
|
default: {
|
|
29
29
|
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
@@ -35,5 +35,5 @@ var \u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668 = class e
|
|
|
35
35
|
export {
|
|
36
36
|
接口结果转换器,
|
|
37
37
|
常用形式转换器,
|
|
38
|
-
|
|
38
|
+
直接形式转换器
|
|
39
39
|
};
|