@lsby/net-core 0.3.44 → 0.4.0-beta.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-type/bin.cjs +49 -37
- package/dist/bin/gen-type/index.cjs +49 -37
- package/dist/cjs/bin/gen-type/bin.cjs +49 -37
- package/dist/cjs/bin/gen-type/index.cjs +49 -37
- package/dist/cjs/index.cjs +137 -176
- package/dist/cjs/index.d.cts +7 -7
- package/dist/cjs/interface/interface-base.cjs +57 -0
- package/dist/cjs/interface/interface-base.d.cts +44 -0
- package/dist/cjs/interface/interface-logic.cjs +105 -0
- package/dist/cjs/interface/interface-logic.d.cts +42 -0
- package/dist/cjs/interface/interface-result.cjs +48 -0
- package/dist/cjs/interface/interface-result.d.cts +31 -0
- package/dist/cjs/plugin/extend/json.d.cts +3 -5
- package/dist/cjs/plugin/plug.d.cts +9 -4
- package/dist/cjs/server/server.cjs +33 -10
- package/dist/cjs/server/server.d.cts +4 -4
- package/dist/cjs/{interface/interface-inst.cjs → tools/types.cjs} +3 -16
- package/dist/cjs/tools/types.d.cts +5 -0
- package/dist/esm/bin/gen-type/bin.js +1 -1
- package/dist/esm/bin/gen-type/index.js +1 -1
- package/dist/esm/{chunk-UUUCTDAN.js → chunk-3ERQ6GCK.js} +13 -10
- package/dist/esm/chunk-DAKGERGA.js +0 -0
- package/dist/esm/chunk-EZ7OJFSQ.js +50 -0
- package/dist/esm/chunk-JMR7QAHO.js +33 -0
- package/dist/esm/{chunk-64WWIZ43.js → chunk-KW3T4UPB.js} +49 -37
- package/dist/esm/chunk-QPKNMZKV.js +23 -0
- package/dist/esm/index.d.ts +7 -7
- package/dist/esm/index.js +26 -38
- package/dist/esm/interface/interface-base.d.ts +44 -0
- package/dist/esm/interface/{interface-inst.js → interface-base.js} +1 -1
- package/dist/esm/interface/interface-logic.d.ts +42 -0
- package/dist/esm/interface/interface-logic.js +8 -0
- package/dist/esm/interface/interface-result.d.ts +31 -0
- package/dist/esm/interface/interface-result.js +8 -0
- package/dist/esm/plugin/extend/json.d.ts +3 -5
- package/dist/esm/plugin/plug.d.ts +9 -4
- package/dist/esm/server/server.d.ts +4 -4
- package/dist/esm/server/server.js +2 -1
- package/dist/esm/tools/types.d.ts +5 -0
- package/dist/esm/tools/types.js +1 -0
- package/package.json +1 -1
- package/dist/cjs/interface/extend/json-base.cjs +0 -141
- package/dist/cjs/interface/extend/json-base.d.cts +0 -18
- package/dist/cjs/interface/extend/json-wrap.cjs +0 -181
- package/dist/cjs/interface/extend/json-wrap.d.cts +0 -28
- package/dist/cjs/interface/interface-inst.d.cts +0 -16
- package/dist/cjs/interface/interface-type.cjs +0 -53
- package/dist/cjs/interface/interface-type.d.cts +0 -28
- package/dist/cjs/result/result.cjs +0 -138
- package/dist/cjs/result/result.d.cts +0 -34
- package/dist/esm/chunk-4V2TOQZ2.js +0 -58
- package/dist/esm/chunk-FAW4GTXP.js +0 -29
- package/dist/esm/chunk-G4P3OAFL.js +0 -7
- package/dist/esm/chunk-SF5Z34AP.js +0 -29
- package/dist/esm/chunk-WF7MUELD.js +0 -45
- package/dist/esm/interface/extend/json-base.d.ts +0 -18
- package/dist/esm/interface/extend/json-base.js +0 -11
- package/dist/esm/interface/extend/json-wrap.d.ts +0 -28
- package/dist/esm/interface/extend/json-wrap.js +0 -14
- package/dist/esm/interface/interface-inst.d.ts +0 -16
- package/dist/esm/interface/interface-type.d.ts +0 -28
- package/dist/esm/interface/interface-type.js +0 -6
- package/dist/esm/result/result.d.ts +0 -34
- package/dist/esm/result/result.js +0 -19
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import { Either } from '@lsby/ts-fp-data';
|
|
3
|
+
import { 插件项类型 as _____, 合并插件结果 as ______, 插件附加参数 as ______$1 } from '../plugin/plug.cjs';
|
|
4
|
+
import 'zod';
|
|
5
|
+
|
|
6
|
+
type 计算混合单一组合<A, B> = A extends 接口逻辑<infer A插件类型, infer A附加参数, infer A错误, infer A返回> ? B extends 接口逻辑<infer B插件类型, infer B附加参数, infer B错误, infer B返回> ? 接口逻辑<[...A插件类型, ...B插件类型], A附加参数 & Omit<B附加参数, keyof A返回>, A错误 | B错误, A返回 & B返回> : never : never;
|
|
7
|
+
type 计算混合组合数组<Arr> = Arr extends [infer x] ? x : Arr extends [infer x, infer y] ? 计算混合单一组合<x, y> : Arr extends [infer x, infer y, ...infer s] ? 计算混合组合数组<[计算混合单一组合<x, y>, ...s]> : never;
|
|
8
|
+
type 接口逻辑错误类型 = string | never;
|
|
9
|
+
type 接口逻辑正确类型 = Record<string, any>;
|
|
10
|
+
type 接口逻辑附加参数类型 = Record<string, any>;
|
|
11
|
+
/**
|
|
12
|
+
* 接口逻辑的实际承担者.
|
|
13
|
+
*
|
|
14
|
+
* - 会被"服务器"调用, 调用时, 注入该实例的插件可以获得req和res.
|
|
15
|
+
* - 插件将获取上下文的数据, 返回一个object.
|
|
16
|
+
* - 所有插件被调用完成后, 合并所有结果.
|
|
17
|
+
* - 然后用这个结果调用"实现", 其返回值将返回给"服务器".
|
|
18
|
+
* - 返回值表示成功或失败, "服务器"会进行后续处理.
|
|
19
|
+
*
|
|
20
|
+
* 其中, "实现"里是真正希望接口做的事, 例如查询数据库等.
|
|
21
|
+
* 而"插件"是需要的前置过程, 例如解析参数, 解析文件等.
|
|
22
|
+
*/
|
|
23
|
+
declare abstract class 接口逻辑<插件类型 extends _____[], 逻辑附加参数类型 extends 接口逻辑附加参数类型, 错误类型 extends 接口逻辑错误类型, 返回类型 extends 接口逻辑正确类型> {
|
|
24
|
+
static 混合<逻辑们 extends 任意的接口逻辑[]>(逻辑们: [...逻辑们]): 计算混合组合数组<逻辑们>;
|
|
25
|
+
static 构造<插件类型 extends _____[], 逻辑附加参数类型 extends 接口逻辑附加参数类型, 错误类型 extends 接口逻辑错误类型, 返回类型 extends 接口逻辑正确类型>(插件们: [...插件类型], 实现: (参数: ______<插件类型>, 逻辑附加参数: 逻辑附加参数类型) => Promise<Either<错误类型, 返回类型>>): 接口逻辑<插件类型, 逻辑附加参数类型, 错误类型, 返回类型>;
|
|
26
|
+
protected readonly __类型保持符号?: [插件类型, 逻辑附加参数类型, 错误类型, 返回类型];
|
|
27
|
+
abstract 获得插件们(): [...插件类型];
|
|
28
|
+
abstract 实现(参数: ______<插件类型>, 逻辑附加参数: 逻辑附加参数类型): Promise<Either<错误类型, 返回类型>>;
|
|
29
|
+
运行(req: Request, res: Response, 逻辑附加参数: 逻辑附加参数类型, 插件附加参数: ______$1): Promise<Either<错误类型, 返回类型>>;
|
|
30
|
+
混合<输入的插件类型 extends _____[], 输入的错误类型 extends 接口逻辑错误类型, 输入的返回类型 extends 接口逻辑正确类型>(输入: 接口逻辑<输入的插件类型, 返回类型, 输入的错误类型, 输入的返回类型>): 接口逻辑<[
|
|
31
|
+
...插件类型,
|
|
32
|
+
...输入的插件类型
|
|
33
|
+
], 逻辑附加参数类型, 错误类型 | 输入的错误类型, 返回类型 & 输入的返回类型>;
|
|
34
|
+
}
|
|
35
|
+
type 任意的接口逻辑 = 接口逻辑<any, any, any, any>;
|
|
36
|
+
type 可调用的接口逻辑 = 接口逻辑<any, Record<string, never>, any, any>;
|
|
37
|
+
type 获得接口逻辑插件类型<A> = A extends 接口逻辑<infer X, any, any, any> ? X : never;
|
|
38
|
+
type 获得接口逻辑附加参数类型<A> = A extends 接口逻辑<any, infer X, any, any> ? X : never;
|
|
39
|
+
type 获得接口逻辑错误类型<A> = A extends 接口逻辑<any, any, infer X, any> ? X : never;
|
|
40
|
+
type 获得接口逻辑正确类型<A> = A extends 接口逻辑<any, any, any, infer X> ? X : never;
|
|
41
|
+
|
|
42
|
+
export { type 任意的接口逻辑, type 可调用的接口逻辑, 接口逻辑, type 接口逻辑正确类型, type 接口逻辑错误类型, type 接口逻辑附加参数类型, type 获得接口逻辑插件类型, type 获得接口逻辑正确类型, type 获得接口逻辑错误类型, type 获得接口逻辑附加参数类型 };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/interface/interface-result.ts
|
|
21
|
+
var interface_result_exports = {};
|
|
22
|
+
__export(interface_result_exports, {
|
|
23
|
+
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668: () => \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
24
|
+
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668: () => \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(interface_result_exports);
|
|
27
|
+
var \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 = class {
|
|
28
|
+
};
|
|
29
|
+
var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
30
|
+
\u5B9E\u73B0(\u6570\u636E) {
|
|
31
|
+
switch (\u6570\u636E.getTag()) {
|
|
32
|
+
case "Left": {
|
|
33
|
+
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
34
|
+
}
|
|
35
|
+
case "Right": {
|
|
36
|
+
return { status: "success", data: \u6570\u636E.assertRight().getRight() };
|
|
37
|
+
}
|
|
38
|
+
default: {
|
|
39
|
+
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
\u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668,
|
|
47
|
+
\u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668
|
|
48
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Either } from '@lsby/ts-fp-data';
|
|
2
|
+
import { 接口逻辑错误类型 as ________, 接口逻辑正确类型 as ________$1 } from './interface-logic.cjs';
|
|
3
|
+
import 'express';
|
|
4
|
+
import '../plugin/plug.cjs';
|
|
5
|
+
import 'zod';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 描述接口逻辑返回的数据将以何种形式返回给前端.
|
|
9
|
+
*/
|
|
10
|
+
declare abstract class 接口结果转换器<实现错误类型 extends ________, 实现正确类型 extends ________$1, 接口错误形式, 接口正确形式> {
|
|
11
|
+
protected readonly __类型保持符号?: [实现错误类型, 实现正确类型, 接口错误形式, 接口正确形式];
|
|
12
|
+
abstract 实现(数据: Either<实现错误类型, 实现正确类型>): 接口错误形式 | 接口正确形式;
|
|
13
|
+
}
|
|
14
|
+
type 任意的接口结果转换器 = 接口结果转换器<any, any, any, any>;
|
|
15
|
+
declare class 常用形式转换器<实现错误类型 extends ________, 实现正确类型 extends ________$1> extends 接口结果转换器<实现错误类型, 实现正确类型, {
|
|
16
|
+
status: 'fail';
|
|
17
|
+
data: 实现错误类型;
|
|
18
|
+
}, {
|
|
19
|
+
status: 'success';
|
|
20
|
+
data: 实现正确类型;
|
|
21
|
+
}> {
|
|
22
|
+
实现(数据: Either<实现错误类型, 实现正确类型>): {
|
|
23
|
+
status: 'fail';
|
|
24
|
+
data: 实现错误类型;
|
|
25
|
+
} | {
|
|
26
|
+
status: 'success';
|
|
27
|
+
data: 实现正确类型;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { type 任意的接口结果转换器, 常用形式转换器, 接口结果转换器 };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { AnyZodObject, z } from 'zod';
|
|
3
|
-
import {
|
|
4
|
-
import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取Task插件内部类型 as _Task______, 合并插件结果 as ______ } from '../plug.cjs';
|
|
3
|
+
import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取Task插件内部类型 as _Task______ } from '../plug.cjs';
|
|
5
4
|
import '@lsby/ts-fp-data';
|
|
6
5
|
|
|
7
6
|
declare class JSON解析插件<Result extends AnyZodObject> extends __<Result> {
|
|
@@ -10,7 +9,6 @@ declare class JSON解析插件<Result extends AnyZodObject> extends __<Result> {
|
|
|
10
9
|
}
|
|
11
10
|
type 任意JSON解析插件 = JSON解析插件<any>;
|
|
12
11
|
type 任意JSON解析插件项 = _____<任意JSON解析插件>;
|
|
13
|
-
type 合并JSON插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意JSON解析插件项 ? z.infer<_Task______<插件项>> &
|
|
14
|
-
type 从接口类型获得JSON参数<接口类型描述> = 合并JSON插件结果<_______<接口类型描述>>;
|
|
12
|
+
type 合并JSON插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意JSON解析插件项 ? z.infer<_Task______<插件项>> & 合并JSON插件结果<xs> : 合并JSON插件结果<xs> : {} : {} : {};
|
|
15
13
|
|
|
16
|
-
export { JSON解析插件, type
|
|
14
|
+
export { JSON解析插件, type 任意JSON解析插件, type 任意JSON解析插件项, type 合并JSON插件结果 };
|
|
@@ -2,16 +2,21 @@ import { Request, Response } from 'express';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { Task } from '@lsby/ts-fp-data';
|
|
4
4
|
|
|
5
|
-
type
|
|
5
|
+
type 插件附加参数 = {
|
|
6
6
|
请求id: string;
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* 类似express中的中间件, 做一些前置过程, 例如解析参数, 解析文件等.
|
|
10
|
+
*
|
|
11
|
+
* 可以被注入在"接口逻辑"中, 为其提供前置数据.
|
|
12
|
+
*/
|
|
8
13
|
declare class 插件<Obj extends z.AnyZodObject> {
|
|
9
14
|
private 类型;
|
|
10
15
|
private 实现;
|
|
11
16
|
protected readonly __类型保持符号?: Obj;
|
|
12
|
-
constructor(类型: Obj, 实现: (req: Request, res: Response, 附加参数:
|
|
17
|
+
constructor(类型: Obj, 实现: (req: Request, res: Response, 附加参数: 插件附加参数) => Promise<z.infer<Obj>>);
|
|
13
18
|
获得类型(): Obj;
|
|
14
|
-
运行(req: Request, res: Response, 附加参数:
|
|
19
|
+
运行(req: Request, res: Response, 附加参数: 插件附加参数): Promise<z.infer<Obj>>;
|
|
15
20
|
}
|
|
16
21
|
type 任意插件 = 插件<any>;
|
|
17
22
|
type 包装插件项<A> = Task<A>;
|
|
@@ -21,4 +26,4 @@ type 取Task插件类型<A> = A extends Task<infer x> ? x : never;
|
|
|
21
26
|
type 取插件内部ts类型<A> = A extends 插件<infer x> ? z.infer<x> : never;
|
|
22
27
|
type 合并插件结果<Arr extends Array<插件项类型>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<插件项类型> ? z.infer<取Task插件内部类型<插件项>> & 合并插件结果<xs> : {} : {} : {};
|
|
23
28
|
|
|
24
|
-
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type
|
|
29
|
+
export { type 任意插件, type 包装插件项, type 取Task插件内部类型, type 取Task插件类型, type 取插件内部ts类型, type 合并插件结果, 插件, type 插件附加参数, type 插件项类型 };
|
|
@@ -71,6 +71,29 @@ var Global = new import_ts_global.GlobalService([
|
|
|
71
71
|
})
|
|
72
72
|
]);
|
|
73
73
|
|
|
74
|
+
// src/tools/tools.ts
|
|
75
|
+
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
76
|
+
let \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
77
|
+
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
78
|
+
return \u5185\u5BB9.slice(0, \u6700\u5927\u65E5\u5FD7\u957F\u5EA6) + "...";
|
|
79
|
+
return \u5185\u5BB9;
|
|
80
|
+
}
|
|
81
|
+
function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
|
|
82
|
+
if (typeof \u6570\u636E === "string")
|
|
83
|
+
return \u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E);
|
|
84
|
+
if (Array.isArray(\u6570\u636E))
|
|
85
|
+
return \u6570\u636E.map((\u9879) => \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u9879));
|
|
86
|
+
if (typeof \u6570\u636E === "object" && \u6570\u636E !== null) {
|
|
87
|
+
let \u65B0\u6570\u636E = {};
|
|
88
|
+
for (let key in \u6570\u636E) {
|
|
89
|
+
if (\u6570\u636E.hasOwnProperty(key))
|
|
90
|
+
\u65B0\u6570\u636E[key] = \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E[key]);
|
|
91
|
+
}
|
|
92
|
+
return \u65B0\u6570\u636E;
|
|
93
|
+
}
|
|
94
|
+
return \u6570\u636E;
|
|
95
|
+
}
|
|
96
|
+
|
|
74
97
|
// src/server/server.ts
|
|
75
98
|
var \u670D\u52A1\u5668 = class {
|
|
76
99
|
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
@@ -90,21 +113,21 @@ var \u670D\u52A1\u5668 = class {
|
|
|
90
113
|
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
91
114
|
await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
|
|
92
115
|
let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => {
|
|
93
|
-
let \u63A5\u53E3\
|
|
94
|
-
|
|
116
|
+
let \u63A5\u53E3\u65B9\u6CD5 = \u63A5\u53E3.\u83B7\u5F97\u65B9\u6CD5();
|
|
117
|
+
let \u63A5\u53E3\u8DEF\u5F84 = \u63A5\u53E3.\u83B7\u5F97\u8DEF\u5F84();
|
|
118
|
+
return \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u65B9\u6CD5 && \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u8DEF\u5F84;
|
|
95
119
|
});
|
|
96
120
|
if (\u76EE\u6807\u63A5\u53E3 != null) {
|
|
97
121
|
await log.debug("\u547D\u4E2D\u63A5\u53E3");
|
|
98
|
-
let \u63A5\u53E3\
|
|
99
|
-
let \u63A5\u53E3\
|
|
100
|
-
await log.debug("\
|
|
101
|
-
let \
|
|
102
|
-
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
103
|
-
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u903B\u8F91...");
|
|
104
|
-
let \u63A5\u53E3\u7ED3\u679C = await \u76EE\u6807\u63A5\u53E3.\u63A5\u53E3\u5B9E\u73B0(\u63D2\u4EF6\u7ED3\u679C);
|
|
122
|
+
let \u63A5\u53E3\u903B\u8F91 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
123
|
+
let \u63A5\u53E3\u8FD4\u56DE = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
124
|
+
await log.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
125
|
+
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id });
|
|
105
126
|
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
106
127
|
await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
|
|
107
|
-
|
|
128
|
+
let \u6700\u7EC8\u7ED3\u679C = \u63A5\u53E3\u8FD4\u56DE.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
129
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
|
|
130
|
+
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
108
131
|
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
109
132
|
return;
|
|
110
133
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as http from 'node:http';
|
|
2
|
-
import { 任意接口 as ____ } from '../interface/interface-
|
|
2
|
+
import { 任意接口 as ____ } from '../interface/interface-base.cjs';
|
|
3
3
|
import 'zod';
|
|
4
|
-
import '../
|
|
4
|
+
import '../interface/interface-logic.cjs';
|
|
5
5
|
import 'express';
|
|
6
6
|
import '@lsby/ts-fp-data';
|
|
7
|
-
import '../
|
|
8
|
-
import '../interface/interface-
|
|
7
|
+
import '../plugin/plug.cjs';
|
|
8
|
+
import '../interface/interface-result.cjs';
|
|
9
9
|
|
|
10
10
|
declare class 服务器 {
|
|
11
11
|
private 接口们;
|
|
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
6
|
var __copyProps = (to, from, except, desc) => {
|
|
11
7
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
8
|
for (let key of __getOwnPropNames(from))
|
|
@@ -17,15 +13,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
13
|
};
|
|
18
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
15
|
|
|
20
|
-
// src/
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
\u63A5\u53E3: () => \u63A5\u53E3
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(interface_inst_exports);
|
|
26
|
-
var \u63A5\u53E3 = class {
|
|
27
|
-
};
|
|
28
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
-
0 && (module.exports = {
|
|
30
|
-
\u63A5\u53E3
|
|
31
|
-
});
|
|
16
|
+
// src/tools/types.ts
|
|
17
|
+
var types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
递归截断字符串
|
|
3
|
+
} from "./chunk-PVE5VI5K.js";
|
|
1
4
|
import {
|
|
2
5
|
Global
|
|
3
6
|
} from "./chunk-BC6IISWS.js";
|
|
@@ -25,21 +28,21 @@ var \u670D\u52A1\u5668 = class {
|
|
|
25
28
|
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
26
29
|
await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
|
|
27
30
|
let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => {
|
|
28
|
-
let \u63A5\u53E3\
|
|
29
|
-
|
|
31
|
+
let \u63A5\u53E3\u65B9\u6CD5 = \u63A5\u53E3.\u83B7\u5F97\u65B9\u6CD5();
|
|
32
|
+
let \u63A5\u53E3\u8DEF\u5F84 = \u63A5\u53E3.\u83B7\u5F97\u8DEF\u5F84();
|
|
33
|
+
return \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u65B9\u6CD5 && \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u8DEF\u5F84;
|
|
30
34
|
});
|
|
31
35
|
if (\u76EE\u6807\u63A5\u53E3 != null) {
|
|
32
36
|
await log.debug("\u547D\u4E2D\u63A5\u53E3");
|
|
33
|
-
let \u63A5\u53E3\
|
|
34
|
-
let \u63A5\u53E3\
|
|
35
|
-
await log.debug("\
|
|
36
|
-
let \
|
|
37
|
-
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
38
|
-
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u903B\u8F91...");
|
|
39
|
-
let \u63A5\u53E3\u7ED3\u679C = await \u76EE\u6807\u63A5\u53E3.\u63A5\u53E3\u5B9E\u73B0(\u63D2\u4EF6\u7ED3\u679C);
|
|
37
|
+
let \u63A5\u53E3\u903B\u8F91 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
38
|
+
let \u63A5\u53E3\u8FD4\u56DE = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
39
|
+
await log.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
40
|
+
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8FD0\u884C(req, res, {}, { \u8BF7\u6C42id });
|
|
40
41
|
await log.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
41
42
|
await log.debug("\u51C6\u5907\u6267\u884C\u8FD4\u56DE\u903B\u8F91...");
|
|
42
|
-
|
|
43
|
+
let \u6700\u7EC8\u7ED3\u679C = \u63A5\u53E3\u8FD4\u56DE.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
44
|
+
await log.debug("\u8FD4\u56DE\u6570\u636E: %o", \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C));
|
|
45
|
+
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
43
46
|
await log.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
44
47
|
return;
|
|
45
48
|
}
|
|
File without changes
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Global
|
|
3
|
+
} from "./chunk-BC6IISWS.js";
|
|
4
|
+
|
|
5
|
+
// src/interface/interface-logic.ts
|
|
6
|
+
var \u63A5\u53E3\u903B\u8F91 = class _\u63A5\u53E3\u903B\u8F91 {
|
|
7
|
+
static \u6DF7\u5408(\u903B\u8F91\u4EEC) {
|
|
8
|
+
return \u903B\u8F91\u4EEC.reduce((s, a) => s.\u6DF7\u5408(a));
|
|
9
|
+
}
|
|
10
|
+
static \u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0) {
|
|
11
|
+
return new class extends _\u63A5\u53E3\u903B\u8F91 {
|
|
12
|
+
\u83B7\u5F97\u63D2\u4EF6\u4EEC() {
|
|
13
|
+
return \u63D2\u4EF6\u4EEC;
|
|
14
|
+
}
|
|
15
|
+
\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570) {
|
|
16
|
+
return \u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
|
|
17
|
+
}
|
|
18
|
+
}();
|
|
19
|
+
}
|
|
20
|
+
async \u8FD0\u884C(req, res, \u903B\u8F91\u9644\u52A0\u53C2\u6570, \u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
|
|
21
|
+
let log = (await Global.getItem("log")).extend(\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.\u8BF7\u6C42id).extend("\u63A5\u53E3\u903B\u8F91");
|
|
22
|
+
let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
23
|
+
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
|
|
24
|
+
let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
|
|
25
|
+
for (let \u63D2\u4EF6 of \u63D2\u4EF6\u4EEC) {
|
|
26
|
+
let \u63D2\u4EF6\u672C\u4F53 = await \u63D2\u4EF6.run();
|
|
27
|
+
let \u63D2\u4EF6\u8FD4\u56DE = await \u63D2\u4EF6\u672C\u4F53.\u8FD0\u884C(req, res, \u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
|
|
28
|
+
\u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
|
|
29
|
+
}
|
|
30
|
+
let \u5408\u5E76\u63D2\u4EF6\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => Object.assign(s, a), {});
|
|
31
|
+
await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
32
|
+
await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
|
|
33
|
+
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
|
|
34
|
+
await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
35
|
+
return \u5B9E\u73B0\u7ED3\u679C;
|
|
36
|
+
}
|
|
37
|
+
\u6DF7\u5408(\u8F93\u5165) {
|
|
38
|
+
let self = this;
|
|
39
|
+
return _\u63A5\u53E3\u903B\u8F91.\u6784\u9020([...this.\u83B7\u5F97\u63D2\u4EF6\u4EEC(), ...\u8F93\u5165.\u83B7\u5F97\u63D2\u4EF6\u4EEC()], async (\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570) => {
|
|
40
|
+
let c = await self.\u5B9E\u73B0(\u53C2\u6570, \u903B\u8F91\u9644\u52A0\u53C2\u6570);
|
|
41
|
+
if (c.isLeft())
|
|
42
|
+
return c;
|
|
43
|
+
return await \u8F93\u5165.\u5B9E\u73B0(\u53C2\u6570, Object.assign(\u903B\u8F91\u9644\u52A0\u53C2\u6570, c.assertRight().getRight()));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
接口逻辑
|
|
50
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// src/interface/interface-base.ts
|
|
2
|
+
var \u63A5\u53E3 = class {
|
|
3
|
+
constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F91, \u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod, \u63A5\u53E3\u6B63\u786E\u5F62\u5F0FZod, \u7ED3\u679C\u8F6C\u6362\u5668) {
|
|
4
|
+
this.\u8BF7\u6C42\u8DEF\u5F84 = \u8BF7\u6C42\u8DEF\u5F84;
|
|
5
|
+
this.\u8BF7\u6C42\u65B9\u6CD5 = \u8BF7\u6C42\u65B9\u6CD5;
|
|
6
|
+
this.\u63A5\u53E3\u903B\u8F91 = \u63A5\u53E3\u903B\u8F91;
|
|
7
|
+
this.\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod = \u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod;
|
|
8
|
+
this.\u63A5\u53E3\u6B63\u786E\u5F62\u5F0FZod = \u63A5\u53E3\u6B63\u786E\u5F62\u5F0FZod;
|
|
9
|
+
this.\u7ED3\u679C\u8F6C\u6362\u5668 = \u7ED3\u679C\u8F6C\u6362\u5668;
|
|
10
|
+
}
|
|
11
|
+
\u83B7\u5F97\u8DEF\u5F84() {
|
|
12
|
+
return this.\u8BF7\u6C42\u8DEF\u5F84;
|
|
13
|
+
}
|
|
14
|
+
\u83B7\u5F97\u65B9\u6CD5() {
|
|
15
|
+
return this.\u8BF7\u6C42\u65B9\u6CD5;
|
|
16
|
+
}
|
|
17
|
+
\u83B7\u5F97\u903B\u8F91() {
|
|
18
|
+
return this.\u63A5\u53E3\u903B\u8F91;
|
|
19
|
+
}
|
|
20
|
+
\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod() {
|
|
21
|
+
return this.\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod;
|
|
22
|
+
}
|
|
23
|
+
\u83B7\u5F97\u63A5\u53E3\u6B63\u786E\u5F62\u5F0FZod() {
|
|
24
|
+
return this.\u63A5\u53E3\u6B63\u786E\u5F62\u5F0FZod;
|
|
25
|
+
}
|
|
26
|
+
\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668() {
|
|
27
|
+
return this.\u7ED3\u679C\u8F6C\u6362\u5668;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
接口
|
|
33
|
+
};
|
|
@@ -44,44 +44,56 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
44
44
|
});
|
|
45
45
|
await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
|
|
46
46
|
let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
|
|
47
|
-
let \u4EE3\u7801 =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
47
|
+
let \u4EE3\u7801 = `
|
|
48
|
+
import {
|
|
49
|
+
\u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C,
|
|
50
|
+
\u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C,
|
|
51
|
+
\u83B7\u5F97\u63A5\u53E3\u65B9\u6CD5\u7C7B\u578B,
|
|
52
|
+
\u83B7\u5F97\u63A5\u53E3\u6B63\u786E\u5F62\u5F0F,
|
|
53
|
+
\u83B7\u5F97\u63A5\u53E3\u8DEF\u5F84\u7C7B\u578B,
|
|
54
|
+
\u83B7\u5F97\u63A5\u53E3\u903B\u8F91\u63D2\u4EF6\u7C7B\u578B,
|
|
55
|
+
\u83B7\u5F97\u63A5\u53E3\u903B\u8F91\u7C7B\u578B,
|
|
56
|
+
\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0F,
|
|
57
|
+
} from '@lsby/net-core'
|
|
58
|
+
import \u5BFC\u5165 from './index'
|
|
59
|
+
|
|
60
|
+
type jsonPath = \u83B7\u5F97\u63A5\u53E3\u8DEF\u5F84\u7C7B\u578B<typeof \u5BFC\u5165>
|
|
61
|
+
type jsonMethod = \u83B7\u5F97\u63A5\u53E3\u65B9\u6CD5\u7C7B\u578B<typeof \u5BFC\u5165>
|
|
62
|
+
type jsonInput = \u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C<\u83B7\u5F97\u63A5\u53E3\u903B\u8F91\u63D2\u4EF6\u7C7B\u578B<\u83B7\u5F97\u63A5\u53E3\u903B\u8F91\u7C7B\u578B<typeof \u5BFC\u5165>>>
|
|
63
|
+
type jsonErrorOutput = \u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0F<typeof \u5BFC\u5165>
|
|
64
|
+
type jsonSuccessOutput = \u83B7\u5F97\u63A5\u53E3\u6B63\u786E\u5F62\u5F0F<typeof \u5BFC\u5165>
|
|
65
|
+
|
|
66
|
+
type JSON\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C = jsonPath extends infer _
|
|
67
|
+
? jsonMethod extends infer _
|
|
68
|
+
? jsonInput extends infer _
|
|
69
|
+
? jsonErrorOutput extends infer _
|
|
70
|
+
? jsonSuccessOutput extends infer _
|
|
71
|
+
? {
|
|
72
|
+
path: jsonPath
|
|
73
|
+
method: jsonMethod
|
|
74
|
+
input: jsonInput
|
|
75
|
+
errorOutput: jsonErrorOutput
|
|
76
|
+
successOutput: jsonSuccessOutput
|
|
77
|
+
}
|
|
75
78
|
: never
|
|
76
79
|
: never
|
|
77
80
|
: never
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
\
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
: never
|
|
82
|
+
: never
|
|
83
|
+
|
|
84
|
+
type wsPath = \u83B7\u5F97\u63A5\u53E3\u8DEF\u5F84\u7C7B\u578B<typeof \u5BFC\u5165>
|
|
85
|
+
type wsData = \u53D6\u7B2C\u4E00\u4E2AWS\u63D2\u4EF6\u7ED3\u679C<\u83B7\u5F97\u63A5\u53E3\u903B\u8F91\u63D2\u4EF6\u7C7B\u578B<\u83B7\u5F97\u63A5\u53E3\u903B\u8F91\u7C7B\u578B<typeof \u5BFC\u5165>>>
|
|
86
|
+
|
|
87
|
+
type WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C = wsPath extends infer _
|
|
88
|
+
? wsData extends infer _
|
|
89
|
+
? {
|
|
90
|
+
path: wsPath
|
|
91
|
+
data: wsData
|
|
92
|
+
}
|
|
93
|
+
: never
|
|
94
|
+
: never
|
|
95
|
+
`;
|
|
96
|
+
return ts.createSourceFile(a.fileName.replaceAll(".ts", "-" + randomUUID() + ".ts"), \u4EE3\u7801, ts.ScriptTarget.Latest);
|
|
85
97
|
});
|
|
86
98
|
let \u65B0\u9879\u76EE = ts.createProgram({
|
|
87
99
|
rootNames: [...\u9879\u76EE.getSourceFiles().map((a) => a.fileName), ...\u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.map((a) => a.fileName)],
|
|
@@ -108,7 +120,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
108
120
|
\u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
|
|
109
121
|
type,
|
|
110
122
|
void 0,
|
|
111
|
-
ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType | ts.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
|
|
123
|
+
ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.NoTypeReduction | ts.TypeFormatFlags.AllowUniqueESSymbolType | ts.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
|
|
112
124
|
)
|
|
113
125
|
);
|
|
114
126
|
} else if (ts.isTypeAliasDeclaration(node) && node.name.text === "WS\u63A5\u53E3\u8BA1\u7B97\u7ED3\u679C") {
|
|
@@ -117,7 +129,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
117
129
|
\u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
|
|
118
130
|
type,
|
|
119
131
|
void 0,
|
|
120
|
-
ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType | ts.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
|
|
132
|
+
ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.NoTypeReduction | ts.TypeFormatFlags.AllowUniqueESSymbolType | ts.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
|
|
121
133
|
)
|
|
122
134
|
);
|
|
123
135
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// src/interface/interface-result.ts
|
|
2
|
+
var \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 = class {
|
|
3
|
+
};
|
|
4
|
+
var \u5E38\u7528\u5F62\u5F0F\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
|
|
5
|
+
\u5B9E\u73B0(\u6570\u636E) {
|
|
6
|
+
switch (\u6570\u636E.getTag()) {
|
|
7
|
+
case "Left": {
|
|
8
|
+
return { status: "fail", data: \u6570\u636E.assertLeft().getLeft() };
|
|
9
|
+
}
|
|
10
|
+
case "Right": {
|
|
11
|
+
return { status: "success", data: \u6570\u636E.assertRight().getRight() };
|
|
12
|
+
}
|
|
13
|
+
default: {
|
|
14
|
+
throw new Error("\u610F\u5916\u7684\u6570\u636E\u6807\u8BB0");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
接口结果转换器,
|
|
22
|
+
常用形式转换器
|
|
23
|
+
};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export { 业务行为, 业务行为参数类型, 业务行为返回类型, 业务行为错误类型, 计算业务行为参数, 计算业务行为返回, 计算业务行为错误 } from './action/action.js';
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
2
|
+
export { 任意接口, 接口, 接口方法类型, 接口路径类型, 获得接口方法类型, 获得接口正确形式, 获得接口结果转换器类型, 获得接口路径类型, 获得接口逻辑类型, 获得接口错误形式 } from './interface/interface-base.js';
|
|
3
|
+
export { 任意的接口逻辑, 可调用的接口逻辑, 接口逻辑, 接口逻辑正确类型, 接口逻辑错误类型, 接口逻辑附加参数类型, 获得接口逻辑插件类型, 获得接口逻辑正确类型, 获得接口逻辑错误类型, 获得接口逻辑附加参数类型 } from './interface/interface-logic.js';
|
|
4
|
+
export { 任意的接口结果转换器, 常用形式转换器, 接口结果转换器 } from './interface/interface-result.js';
|
|
5
5
|
export { 接口测试 } from './interface/interface-test.js';
|
|
6
|
-
export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果, 获得接口插件们 } from './interface/interface-type.js';
|
|
7
6
|
export { 中文路径支持插件 } from './plugin/extend/chinese-path.js';
|
|
8
7
|
export { 自定义数据插件 } from './plugin/extend/custom-data.js';
|
|
9
|
-
export { JSON解析插件,
|
|
8
|
+
export { JSON解析插件, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.js';
|
|
10
9
|
export { 表单解析插件 } from './plugin/extend/urlencoded.js';
|
|
11
10
|
export { WebSocket插件, 任意WS插件, 任意WS插件项, 取WS插件泛型, 取第一个WS插件结果 } from './plugin/extend/web-socket.js';
|
|
12
|
-
export { 任意插件, 包装插件项, 取Task插件内部类型, 取Task插件类型, 取插件内部ts类型, 合并插件结果, 插件,
|
|
13
|
-
export {
|
|
11
|
+
export { 任意插件, 包装插件项, 取Task插件内部类型, 取Task插件类型, 取插件内部ts类型, 合并插件结果, 插件, 插件附加参数, 插件项类型 } from './plugin/plug.js';
|
|
12
|
+
export { 截断字符串, 递归截断字符串 } from './tools/tools.js';
|
|
13
|
+
export { 去除只读 } from './tools/types.js';
|
|
14
14
|
export { 服务器 } from './server/server.js';
|
|
15
15
|
import '@lsby/ts-fp-data';
|
|
16
16
|
import 'zod';
|