knight-agent 1.1.0
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/Host.d.ts +23 -0
- package/Host.d.ts.map +1 -0
- package/Host.js +23 -0
- package/Host.js.map +1 -0
- package/base/AbstractAgent.d.ts +100 -0
- package/base/AbstractAgent.d.ts.map +1 -0
- package/base/AbstractAgent.js +23 -0
- package/base/AbstractAgent.js.map +1 -0
- package/base/AbstractDialog.d.ts +54 -0
- package/base/AbstractDialog.d.ts.map +1 -0
- package/base/AbstractDialog.js +86 -0
- package/base/AbstractDialog.js.map +1 -0
- package/base/AbstractModule.d.ts +7 -0
- package/base/AbstractModule.d.ts.map +1 -0
- package/base/AbstractModule.js +13 -0
- package/base/AbstractModule.js.map +1 -0
- package/base/AbstractObject.d.ts +18 -0
- package/base/AbstractObject.d.ts.map +1 -0
- package/base/AbstractObject.js +25 -0
- package/base/AbstractObject.js.map +1 -0
- package/base/AbstractReason.d.ts +44 -0
- package/base/AbstractReason.d.ts.map +1 -0
- package/base/AbstractReason.js +23 -0
- package/base/AbstractReason.js.map +1 -0
- package/base/AbstractSkill.d.ts +25 -0
- package/base/AbstractSkill.d.ts.map +1 -0
- package/base/AbstractSkill.js +3 -0
- package/base/AbstractSkill.js.map +1 -0
- package/base/AbstractTool.d.ts +34 -0
- package/base/AbstractTool.d.ts.map +1 -0
- package/base/AbstractTool.js +3 -0
- package/base/AbstractTool.js.map +1 -0
- package/base/index.d.ts +8 -0
- package/base/index.d.ts.map +1 -0
- package/base/index.js +24 -0
- package/base/index.js.map +1 -0
- package/docs/ARCHITECTURE.md +601 -0
- package/docs/README.md +562 -0
- package/index.d.ts +4 -0
- package/index.d.ts.map +1 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/module/AgentModule/Agent.d.ts +55 -0
- package/module/AgentModule/Agent.d.ts.map +1 -0
- package/module/AgentModule/Agent.js +210 -0
- package/module/AgentModule/Agent.js.map +1 -0
- package/module/AgentModule/AgentModule.d.ts +26 -0
- package/module/AgentModule/AgentModule.d.ts.map +1 -0
- package/module/AgentModule/AgentModule.js +66 -0
- package/module/AgentModule/AgentModule.js.map +1 -0
- package/module/AgentModule/Memory.d.ts +55 -0
- package/module/AgentModule/Memory.d.ts.map +1 -0
- package/module/AgentModule/Memory.js +288 -0
- package/module/AgentModule/Memory.js.map +1 -0
- package/module/AgentModule/index.d.ts +2 -0
- package/module/AgentModule/index.d.ts.map +1 -0
- package/module/AgentModule/index.js +18 -0
- package/module/AgentModule/index.js.map +1 -0
- package/module/DialogModule/Dialog.d.ts +14 -0
- package/module/DialogModule/Dialog.d.ts.map +1 -0
- package/module/DialogModule/Dialog.js +27 -0
- package/module/DialogModule/Dialog.js.map +1 -0
- package/module/DialogModule/DialogModule.d.ts +39 -0
- package/module/DialogModule/DialogModule.d.ts.map +1 -0
- package/module/DialogModule/DialogModule.js +118 -0
- package/module/DialogModule/DialogModule.js.map +1 -0
- package/module/DialogModule/index.d.ts +3 -0
- package/module/DialogModule/index.d.ts.map +1 -0
- package/module/DialogModule/index.js +19 -0
- package/module/DialogModule/index.js.map +1 -0
- package/module/ReasonModule/ChainReason.d.ts +11 -0
- package/module/ReasonModule/ChainReason.d.ts.map +1 -0
- package/module/ReasonModule/ChainReason.js +34 -0
- package/module/ReasonModule/ChainReason.js.map +1 -0
- package/module/ReasonModule/CommanderReason.d.ts +15 -0
- package/module/ReasonModule/CommanderReason.d.ts.map +1 -0
- package/module/ReasonModule/CommanderReason.js +151 -0
- package/module/ReasonModule/CommanderReason.js.map +1 -0
- package/module/ReasonModule/CompetitiveReason.d.ts +13 -0
- package/module/ReasonModule/CompetitiveReason.d.ts.map +1 -0
- package/module/ReasonModule/CompetitiveReason.js +133 -0
- package/module/ReasonModule/CompetitiveReason.js.map +1 -0
- package/module/ReasonModule/PlanReason.d.ts +25 -0
- package/module/ReasonModule/PlanReason.d.ts.map +1 -0
- package/module/ReasonModule/PlanReason.js +133 -0
- package/module/ReasonModule/PlanReason.js.map +1 -0
- package/module/ReasonModule/ReasonModule.d.ts +41 -0
- package/module/ReasonModule/ReasonModule.d.ts.map +1 -0
- package/module/ReasonModule/ReasonModule.js +83 -0
- package/module/ReasonModule/ReasonModule.js.map +1 -0
- package/module/ReasonModule/ReflectReason.d.ts +15 -0
- package/module/ReasonModule/ReflectReason.d.ts.map +1 -0
- package/module/ReasonModule/ReflectReason.js +86 -0
- package/module/ReasonModule/ReflectReason.js.map +1 -0
- package/module/ReasonModule/TreeReason.d.ts +16 -0
- package/module/ReasonModule/TreeReason.d.ts.map +1 -0
- package/module/ReasonModule/TreeReason.js +139 -0
- package/module/ReasonModule/TreeReason.js.map +1 -0
- package/module/ReasonModule/index.d.ts +8 -0
- package/module/ReasonModule/index.d.ts.map +1 -0
- package/module/ReasonModule/index.js +24 -0
- package/module/ReasonModule/index.js.map +1 -0
- package/module/SkillModule/SkillModule.d.ts +42 -0
- package/module/SkillModule/SkillModule.d.ts.map +1 -0
- package/module/SkillModule/SkillModule.js +134 -0
- package/module/SkillModule/SkillModule.js.map +1 -0
- package/module/SkillModule/index.d.ts +2 -0
- package/module/SkillModule/index.d.ts.map +1 -0
- package/module/SkillModule/index.js +18 -0
- package/module/SkillModule/index.js.map +1 -0
- package/module/ToolModule/ToolModule.d.ts +57 -0
- package/module/ToolModule/ToolModule.d.ts.map +1 -0
- package/module/ToolModule/ToolModule.js +220 -0
- package/module/ToolModule/ToolModule.js.map +1 -0
- package/module/ToolModule/ToolRAG.d.ts +38 -0
- package/module/ToolModule/ToolRAG.d.ts.map +1 -0
- package/module/ToolModule/ToolRAG.js +124 -0
- package/module/ToolModule/ToolRAG.js.map +1 -0
- package/module/ToolModule/index.d.ts +3 -0
- package/module/ToolModule/index.d.ts.map +1 -0
- package/module/ToolModule/index.js +19 -0
- package/module/ToolModule/index.js.map +1 -0
- package/module/index.d.ts +6 -0
- package/module/index.d.ts.map +1 -0
- package/module/index.js +22 -0
- package/module/index.js.map +1 -0
- package/package.json +19 -0
- package/utility/InterfaceUtility.d.ts +14 -0
- package/utility/InterfaceUtility.d.ts.map +1 -0
- package/utility/InterfaceUtility.js +3 -0
- package/utility/InterfaceUtility.js.map +1 -0
- package/utility/LogUtility.d.ts +41 -0
- package/utility/LogUtility.d.ts.map +1 -0
- package/utility/LogUtility.js +70 -0
- package/utility/LogUtility.js.map +1 -0
- package/utility/NetworkUtility.d.ts +91 -0
- package/utility/NetworkUtility.d.ts.map +1 -0
- package/utility/NetworkUtility.js +104 -0
- package/utility/NetworkUtility.js.map +1 -0
- package/utility/ObjectUtility.d.ts +134 -0
- package/utility/ObjectUtility.d.ts.map +1 -0
- package/utility/ObjectUtility.js +313 -0
- package/utility/ObjectUtility.js.map +1 -0
- package/utility/OpenAIUtility.d.ts +333 -0
- package/utility/OpenAIUtility.d.ts.map +1 -0
- package/utility/OpenAIUtility.js +95 -0
- package/utility/OpenAIUtility.js.map +1 -0
- package/utility/PromiseUtility.d.ts +9 -0
- package/utility/PromiseUtility.d.ts.map +1 -0
- package/utility/PromiseUtility.js +16 -0
- package/utility/PromiseUtility.js.map +1 -0
- package/utility/StringUtility.d.ts +10 -0
- package/utility/StringUtility.d.ts.map +1 -0
- package/utility/StringUtility.js +42 -0
- package/utility/StringUtility.js.map +1 -0
- package/utility/TimeUtility.d.ts +10 -0
- package/utility/TimeUtility.d.ts.map +1 -0
- package/utility/TimeUtility.js +24 -0
- package/utility/TimeUtility.js.map +1 -0
- package/utility/index.d.ts +9 -0
- package/utility/index.d.ts.map +1 -0
- package/utility/index.js +25 -0
- package/utility/index.js.map +1 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
+
/** 网络工具 */
|
|
3
|
+
export declare namespace NetworkUtility {
|
|
4
|
+
/** HTTP网络协议 */
|
|
5
|
+
namespace HTTP {
|
|
6
|
+
/** 请求配置 */
|
|
7
|
+
type Request = AxiosRequestConfig;
|
|
8
|
+
/** 响应配置 */
|
|
9
|
+
type Response<T = any, D = any, H = {}> = AxiosResponse<T, D, H>;
|
|
10
|
+
/**
|
|
11
|
+
* 网络请求
|
|
12
|
+
* @param url 请求地址
|
|
13
|
+
* @param options 请求配置(axios原生类型)
|
|
14
|
+
* @returns 响应数据
|
|
15
|
+
*/
|
|
16
|
+
function OnRequest<T = any>(url: string, options?: Request): Promise<Response<T>>;
|
|
17
|
+
}
|
|
18
|
+
/** 协议类型 */
|
|
19
|
+
enum E_ProtocalType {
|
|
20
|
+
Get = "get",
|
|
21
|
+
Post = "post",
|
|
22
|
+
Put = "put",
|
|
23
|
+
Delete = "delete",
|
|
24
|
+
Options = "options",
|
|
25
|
+
Head = "head",
|
|
26
|
+
Patch = "patch",
|
|
27
|
+
Trace = "trace"
|
|
28
|
+
}
|
|
29
|
+
/** 响应码 */
|
|
30
|
+
enum ResponseCode {
|
|
31
|
+
/** 请求成功 */
|
|
32
|
+
SUCCESS = 200,
|
|
33
|
+
/** 创建成功 */
|
|
34
|
+
CREATED = 201,
|
|
35
|
+
/** 请求已接受(异步处理) */
|
|
36
|
+
ACCEPTED = 202,
|
|
37
|
+
/** 无内容(删除成功等) */
|
|
38
|
+
NO_CONTENT = 204,
|
|
39
|
+
/** 请求参数错误 */
|
|
40
|
+
BAD_REQUEST = 400,
|
|
41
|
+
/** 未认证(需登录) */
|
|
42
|
+
UNAUTHORIZED = 401,
|
|
43
|
+
/** 无权限访问 */
|
|
44
|
+
FORBIDDEN = 403,
|
|
45
|
+
/** 资源不存在 */
|
|
46
|
+
NOT_FOUND = 404,
|
|
47
|
+
/** 请求方法不允许 */
|
|
48
|
+
METHOD_NOT_ALLOWED = 405,
|
|
49
|
+
/** 请求超时 */
|
|
50
|
+
REQUEST_TIMEOUT = 408,
|
|
51
|
+
/** 资源冲突(重复创建等) */
|
|
52
|
+
CONFLICT = 409,
|
|
53
|
+
/** 请求体过大 */
|
|
54
|
+
PAYLOAD_TOO_LARGE = 413,
|
|
55
|
+
/** 不支持的媒体类型 */
|
|
56
|
+
UNSUPPORTED_MEDIA_TYPE = 415,
|
|
57
|
+
/** 范围请求不满足 */
|
|
58
|
+
REQUESTED_RANGE_NOT_SATISFIABLE = 416,
|
|
59
|
+
/** 请求频率过高 */
|
|
60
|
+
TOO_MANY_REQUESTS = 429,
|
|
61
|
+
/** 服务器内部错误 */
|
|
62
|
+
INTERNAL_SERVER_ERROR = 500,
|
|
63
|
+
/** 功能未实现 */
|
|
64
|
+
NOT_IMPLEMENTED = 501,
|
|
65
|
+
/** 网关错误 */
|
|
66
|
+
BAD_GATEWAY = 502,
|
|
67
|
+
/** 服务不可用 */
|
|
68
|
+
SERVICE_UNAVAILABLE = 503,
|
|
69
|
+
/** 网关超时 */
|
|
70
|
+
GATEWAY_TIMEOUT = 504,
|
|
71
|
+
/** 业务逻辑错误 */
|
|
72
|
+
BUSINESS_ERROR = 1000,
|
|
73
|
+
/** 令牌已过期 */
|
|
74
|
+
TOKEN_EXPIRED = 1001,
|
|
75
|
+
/** 账号已禁用 */
|
|
76
|
+
ACCOUNT_DISABLED = 1002,
|
|
77
|
+
/** 验证码错误 */
|
|
78
|
+
CAPTCHA_ERROR = 1003,
|
|
79
|
+
/** 操作过于频繁 */
|
|
80
|
+
OPERATION_TOO_FREQUENT = 1004,
|
|
81
|
+
/** 资源被占用 */
|
|
82
|
+
RESOURCE_LOCKED = 1005,
|
|
83
|
+
/** 文件上传失败 */
|
|
84
|
+
UPLOAD_FAILED = 1006,
|
|
85
|
+
/** 文件大小超限 */
|
|
86
|
+
FILE_SIZE_EXCEEDED = 1007,
|
|
87
|
+
/** 文件类型不允许 */
|
|
88
|
+
FILE_TYPE_NOT_ALLOWED = 1008
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=NetworkUtility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkUtility.d.ts","sourceRoot":"","sources":["../../src/utility/NetworkUtility.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEjE,WAAW;AACX,yBAAiB,cAAc,CAC/B;IACI,eAAe;IACf,UAAiB,IAAI,CACrB;QACI,WAAW;QACX,KAAY,OAAO,GAAG,kBAAkB,CAAC;QACzC,WAAW;QACX,KAAY,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAExE;;;;;WAKG;QACH,SAAsB,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAG7F;KACJ;IACD,WAAW;IACX,KAAY,cAAc;QAEtB,GAAG,QAAQ;QACX,IAAI,SAAS;QACb,GAAG,QAAQ;QACX,MAAM,WAAW;QACjB,OAAO,YAAY;QACnB,IAAI,SAAS;QACb,KAAK,UAAU;QACf,KAAK,UAAU;KAClB;IACD,UAAU;IACV,KAAY,YAAY;QAGpB,WAAW;QACX,OAAO,MAAM;QACb,WAAW;QACX,OAAO,MAAM;QACb,kBAAkB;QAClB,QAAQ,MAAM;QACd,iBAAiB;QACjB,UAAU,MAAM;QAGhB,aAAa;QACb,WAAW,MAAM;QACjB,eAAe;QACf,YAAY,MAAM;QAClB,YAAY;QACZ,SAAS,MAAM;QACf,YAAY;QACZ,SAAS,MAAM;QACf,cAAc;QACd,kBAAkB,MAAM;QACxB,WAAW;QACX,eAAe,MAAM;QACrB,kBAAkB;QAClB,QAAQ,MAAM;QACd,YAAY;QACZ,iBAAiB,MAAM;QACvB,eAAe;QACf,sBAAsB,MAAM;QAC5B,cAAc;QACd,+BAA+B,MAAM;QACrC,aAAa;QACb,iBAAiB,MAAM;QAGvB,cAAc;QACd,qBAAqB,MAAM;QAC3B,YAAY;QACZ,eAAe,MAAM;QACrB,WAAW;QACX,WAAW,MAAM;QACjB,YAAY;QACZ,mBAAmB,MAAM;QACzB,WAAW;QACX,eAAe,MAAM;QAGrB,aAAa;QACb,cAAc,OAAO;QACrB,YAAY;QACZ,aAAa,OAAO;QACpB,YAAY;QACZ,gBAAgB,OAAO;QACvB,YAAY;QACZ,aAAa,OAAO;QACpB,aAAa;QACb,sBAAsB,OAAO;QAC7B,YAAY;QACZ,eAAe,OAAO;QACtB,aAAa;QACb,aAAa,OAAO;QACpB,aAAa;QACb,kBAAkB,OAAO;QACzB,cAAc;QACd,qBAAqB,OAAO;KAC/B;CACJ"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NetworkUtility = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
/** 网络工具 */
|
|
9
|
+
var NetworkUtility;
|
|
10
|
+
(function (NetworkUtility) {
|
|
11
|
+
/** HTTP网络协议 */
|
|
12
|
+
let HTTP;
|
|
13
|
+
(function (HTTP) {
|
|
14
|
+
/**
|
|
15
|
+
* 网络请求
|
|
16
|
+
* @param url 请求地址
|
|
17
|
+
* @param options 请求配置(axios原生类型)
|
|
18
|
+
* @returns 响应数据
|
|
19
|
+
*/
|
|
20
|
+
async function OnRequest(url, options) {
|
|
21
|
+
return (0, axios_1.default)({ url, method: 'get', timeout: 10000, ...options });
|
|
22
|
+
}
|
|
23
|
+
HTTP.OnRequest = OnRequest;
|
|
24
|
+
})(HTTP = NetworkUtility.HTTP || (NetworkUtility.HTTP = {}));
|
|
25
|
+
/** 协议类型 */
|
|
26
|
+
let E_ProtocalType;
|
|
27
|
+
(function (E_ProtocalType) {
|
|
28
|
+
E_ProtocalType["Get"] = "get";
|
|
29
|
+
E_ProtocalType["Post"] = "post";
|
|
30
|
+
E_ProtocalType["Put"] = "put";
|
|
31
|
+
E_ProtocalType["Delete"] = "delete";
|
|
32
|
+
E_ProtocalType["Options"] = "options";
|
|
33
|
+
E_ProtocalType["Head"] = "head";
|
|
34
|
+
E_ProtocalType["Patch"] = "patch";
|
|
35
|
+
E_ProtocalType["Trace"] = "trace";
|
|
36
|
+
})(E_ProtocalType = NetworkUtility.E_ProtocalType || (NetworkUtility.E_ProtocalType = {}));
|
|
37
|
+
/** 响应码 */
|
|
38
|
+
let ResponseCode;
|
|
39
|
+
(function (ResponseCode) {
|
|
40
|
+
// ==================== 2xx 成功 ====================
|
|
41
|
+
/** 请求成功 */
|
|
42
|
+
ResponseCode[ResponseCode["SUCCESS"] = 200] = "SUCCESS";
|
|
43
|
+
/** 创建成功 */
|
|
44
|
+
ResponseCode[ResponseCode["CREATED"] = 201] = "CREATED";
|
|
45
|
+
/** 请求已接受(异步处理) */
|
|
46
|
+
ResponseCode[ResponseCode["ACCEPTED"] = 202] = "ACCEPTED";
|
|
47
|
+
/** 无内容(删除成功等) */
|
|
48
|
+
ResponseCode[ResponseCode["NO_CONTENT"] = 204] = "NO_CONTENT";
|
|
49
|
+
// ==================== 4xx 客户端错误 ====================
|
|
50
|
+
/** 请求参数错误 */
|
|
51
|
+
ResponseCode[ResponseCode["BAD_REQUEST"] = 400] = "BAD_REQUEST";
|
|
52
|
+
/** 未认证(需登录) */
|
|
53
|
+
ResponseCode[ResponseCode["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
|
|
54
|
+
/** 无权限访问 */
|
|
55
|
+
ResponseCode[ResponseCode["FORBIDDEN"] = 403] = "FORBIDDEN";
|
|
56
|
+
/** 资源不存在 */
|
|
57
|
+
ResponseCode[ResponseCode["NOT_FOUND"] = 404] = "NOT_FOUND";
|
|
58
|
+
/** 请求方法不允许 */
|
|
59
|
+
ResponseCode[ResponseCode["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED";
|
|
60
|
+
/** 请求超时 */
|
|
61
|
+
ResponseCode[ResponseCode["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT";
|
|
62
|
+
/** 资源冲突(重复创建等) */
|
|
63
|
+
ResponseCode[ResponseCode["CONFLICT"] = 409] = "CONFLICT";
|
|
64
|
+
/** 请求体过大 */
|
|
65
|
+
ResponseCode[ResponseCode["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE";
|
|
66
|
+
/** 不支持的媒体类型 */
|
|
67
|
+
ResponseCode[ResponseCode["UNSUPPORTED_MEDIA_TYPE"] = 415] = "UNSUPPORTED_MEDIA_TYPE";
|
|
68
|
+
/** 范围请求不满足 */
|
|
69
|
+
ResponseCode[ResponseCode["REQUESTED_RANGE_NOT_SATISFIABLE"] = 416] = "REQUESTED_RANGE_NOT_SATISFIABLE";
|
|
70
|
+
/** 请求频率过高 */
|
|
71
|
+
ResponseCode[ResponseCode["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
|
|
72
|
+
// ==================== 5xx 服务端错误 ====================
|
|
73
|
+
/** 服务器内部错误 */
|
|
74
|
+
ResponseCode[ResponseCode["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
|
|
75
|
+
/** 功能未实现 */
|
|
76
|
+
ResponseCode[ResponseCode["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
|
|
77
|
+
/** 网关错误 */
|
|
78
|
+
ResponseCode[ResponseCode["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
|
|
79
|
+
/** 服务不可用 */
|
|
80
|
+
ResponseCode[ResponseCode["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
|
|
81
|
+
/** 网关超时 */
|
|
82
|
+
ResponseCode[ResponseCode["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
|
|
83
|
+
// ==================== 10xx 业务错误 ====================
|
|
84
|
+
/** 业务逻辑错误 */
|
|
85
|
+
ResponseCode[ResponseCode["BUSINESS_ERROR"] = 1000] = "BUSINESS_ERROR";
|
|
86
|
+
/** 令牌已过期 */
|
|
87
|
+
ResponseCode[ResponseCode["TOKEN_EXPIRED"] = 1001] = "TOKEN_EXPIRED";
|
|
88
|
+
/** 账号已禁用 */
|
|
89
|
+
ResponseCode[ResponseCode["ACCOUNT_DISABLED"] = 1002] = "ACCOUNT_DISABLED";
|
|
90
|
+
/** 验证码错误 */
|
|
91
|
+
ResponseCode[ResponseCode["CAPTCHA_ERROR"] = 1003] = "CAPTCHA_ERROR";
|
|
92
|
+
/** 操作过于频繁 */
|
|
93
|
+
ResponseCode[ResponseCode["OPERATION_TOO_FREQUENT"] = 1004] = "OPERATION_TOO_FREQUENT";
|
|
94
|
+
/** 资源被占用 */
|
|
95
|
+
ResponseCode[ResponseCode["RESOURCE_LOCKED"] = 1005] = "RESOURCE_LOCKED";
|
|
96
|
+
/** 文件上传失败 */
|
|
97
|
+
ResponseCode[ResponseCode["UPLOAD_FAILED"] = 1006] = "UPLOAD_FAILED";
|
|
98
|
+
/** 文件大小超限 */
|
|
99
|
+
ResponseCode[ResponseCode["FILE_SIZE_EXCEEDED"] = 1007] = "FILE_SIZE_EXCEEDED";
|
|
100
|
+
/** 文件类型不允许 */
|
|
101
|
+
ResponseCode[ResponseCode["FILE_TYPE_NOT_ALLOWED"] = 1008] = "FILE_TYPE_NOT_ALLOWED";
|
|
102
|
+
})(ResponseCode = NetworkUtility.ResponseCode || (NetworkUtility.ResponseCode = {}));
|
|
103
|
+
})(NetworkUtility || (exports.NetworkUtility = NetworkUtility = {}));
|
|
104
|
+
//# sourceMappingURL=NetworkUtility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkUtility.js","sourceRoot":"","sources":["../../src/utility/NetworkUtility.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiE;AAEjE,WAAW;AACX,IAAiB,cAAc,CAsG9B;AAtGD,WAAiB,cAAc;IAE3B,eAAe;IACf,IAAiB,IAAI,CAiBpB;IAjBD,WAAiB,IAAI;QAOjB;;;;;WAKG;QACI,KAAK,UAAU,SAAS,CAAU,GAAW,EAAE,OAAiB;YAEnE,OAAO,IAAA,eAAK,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;QAHqB,cAAS,YAG9B,CAAA;IACL,CAAC,EAjBgB,IAAI,GAAJ,mBAAI,KAAJ,mBAAI,QAiBpB;IACD,WAAW;IACX,IAAY,cAUX;IAVD,WAAY,cAAc;QAEtB,6BAAW,CAAA;QACX,+BAAa,CAAA;QACb,6BAAW,CAAA;QACX,mCAAiB,CAAA;QACjB,qCAAmB,CAAA;QACnB,+BAAa,CAAA;QACb,iCAAe,CAAA;QACf,iCAAe,CAAA;IACnB,CAAC,EAVW,cAAc,GAAd,6BAAc,KAAd,6BAAc,QAUzB;IACD,UAAU;IACV,IAAY,YAmEX;IAnED,WAAY,YAAY;QAEpB,mDAAmD;QACnD,WAAW;QACX,uDAAa,CAAA;QACb,WAAW;QACX,uDAAa,CAAA;QACb,kBAAkB;QAClB,yDAAc,CAAA;QACd,iBAAiB;QACjB,6DAAgB,CAAA;QAEhB,sDAAsD;QACtD,aAAa;QACb,+DAAiB,CAAA;QACjB,eAAe;QACf,iEAAkB,CAAA;QAClB,YAAY;QACZ,2DAAe,CAAA;QACf,YAAY;QACZ,2DAAe,CAAA;QACf,cAAc;QACd,6EAAwB,CAAA;QACxB,WAAW;QACX,uEAAqB,CAAA;QACrB,kBAAkB;QAClB,yDAAc,CAAA;QACd,YAAY;QACZ,2EAAuB,CAAA;QACvB,eAAe;QACf,qFAA4B,CAAA;QAC5B,cAAc;QACd,uGAAqC,CAAA;QACrC,aAAa;QACb,2EAAuB,CAAA;QAEvB,sDAAsD;QACtD,cAAc;QACd,mFAA2B,CAAA;QAC3B,YAAY;QACZ,uEAAqB,CAAA;QACrB,WAAW;QACX,+DAAiB,CAAA;QACjB,YAAY;QACZ,+EAAyB,CAAA;QACzB,WAAW;QACX,uEAAqB,CAAA;QAErB,sDAAsD;QACtD,aAAa;QACb,sEAAqB,CAAA;QACrB,YAAY;QACZ,oEAAoB,CAAA;QACpB,YAAY;QACZ,0EAAuB,CAAA;QACvB,YAAY;QACZ,oEAAoB,CAAA;QACpB,aAAa;QACb,sFAA6B,CAAA;QAC7B,YAAY;QACZ,wEAAsB,CAAA;QACtB,aAAa;QACb,oEAAoB,CAAA;QACpB,aAAa;QACb,8EAAyB,CAAA;QACzB,cAAc;QACd,oFAA4B,CAAA;IAChC,CAAC,EAnEW,YAAY,GAAZ,2BAAY,KAAZ,2BAAY,QAmEvB;AACL,CAAC,EAtGgB,cAAc,8BAAd,cAAc,QAsG9B"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/*********************************************************************************
|
|
2
|
+
* FileName : ObjectUtility
|
|
3
|
+
* FileBasename : ObjectUtility.ts
|
|
4
|
+
* Author : Seven_9t
|
|
5
|
+
* Date : Sat Mar 25 2023 15:05:05 GMT+0800 (中国标准时间)
|
|
6
|
+
* Description : db://assets/frame/script/base/ObjectUtility.ts
|
|
7
|
+
* Version : v3.6
|
|
8
|
+
* Others : 修改默认TS脚本模板路径 D:\Cocos\CocosDashboard\resources\.editors\Creator\<Version>\resources\resources\3d\engine\editor\assets\default_file_content\ts
|
|
9
|
+
* ManualUrl : <指南手册> https://docs.cocos.com/creator/3.6/manual/zh/
|
|
10
|
+
* : <脚本手册> https://docs.cocos.com/creator/3.6/manual/zh/scripting/
|
|
11
|
+
* : <接口手册> https://docs.cocos.com/creator/api/zh/#/docs/3.6/zh/README
|
|
12
|
+
* : <生命周期手册>https://docs.cocos.com/creator/3.6/manual/zh/scripting/life-cycle-callbacks.html
|
|
13
|
+
|
|
14
|
+
**********************************************************************************/
|
|
15
|
+
/** 对象工具 */
|
|
16
|
+
export declare namespace ObjectUtility {
|
|
17
|
+
/** 对象操作泛型接口 */
|
|
18
|
+
interface IObjectOperation<T> {
|
|
19
|
+
/** 获取数量 */
|
|
20
|
+
get Count(): number;
|
|
21
|
+
/** 获取对象 */
|
|
22
|
+
Get(_key: number | string): T;
|
|
23
|
+
/** 获取对象组 */
|
|
24
|
+
Gets(_keys: Array<number | string>): Array<T>;
|
|
25
|
+
/** 获取所有对象 */
|
|
26
|
+
GetAll(): Array<T> | Map<string, T>;
|
|
27
|
+
/** 添加对象实例 */
|
|
28
|
+
Add(..._param: any[]): boolean;
|
|
29
|
+
/** 移除对象实例 */
|
|
30
|
+
Remove(_t: number | string | T): boolean;
|
|
31
|
+
/** 移除所有对象实例 */
|
|
32
|
+
RemoveAll(): void;
|
|
33
|
+
/** 对象实例是否存在 */
|
|
34
|
+
Exist(_t: number | string | T): boolean;
|
|
35
|
+
}
|
|
36
|
+
/** 对象池<数组> */
|
|
37
|
+
export class ArrayPool<T extends object | any> implements IObjectOperation<T> {
|
|
38
|
+
/** 对象池 */
|
|
39
|
+
private _tPools;
|
|
40
|
+
/** 构造函数 */
|
|
41
|
+
constructor();
|
|
42
|
+
/** 获取数量 */
|
|
43
|
+
get Count(): number;
|
|
44
|
+
/** 获取对象 */
|
|
45
|
+
Get<K extends T>(_index: number): K;
|
|
46
|
+
/** 获取对象组 */
|
|
47
|
+
Gets<K extends T>(_indexs: Array<number>): Array<K>;
|
|
48
|
+
/** 获取所有对象 */
|
|
49
|
+
GetAll(): Array<T>;
|
|
50
|
+
/** 添加对象实例 */
|
|
51
|
+
Add(_t: T): boolean;
|
|
52
|
+
/** 移除对象实例 */
|
|
53
|
+
Remove(_t: T | number): boolean;
|
|
54
|
+
/** 移除所有对象实例 */
|
|
55
|
+
RemoveAll(): void;
|
|
56
|
+
/** 对象实例是否存在 */
|
|
57
|
+
Exist(_t: T | number): boolean;
|
|
58
|
+
}
|
|
59
|
+
/** 对象池<字典> */
|
|
60
|
+
export class MapPool<T extends object> implements IObjectOperation<T> {
|
|
61
|
+
/** 对象池 */
|
|
62
|
+
private _tPools;
|
|
63
|
+
/** 构造函数 */
|
|
64
|
+
constructor(_map?: Map<string, T>);
|
|
65
|
+
/** 获取数量 */
|
|
66
|
+
get Count(): number;
|
|
67
|
+
/** 获取对象 */
|
|
68
|
+
Get<K extends T>(_key: string): K;
|
|
69
|
+
/** 获取对象组 */
|
|
70
|
+
Gets<K extends T>(_keys: Array<string>): Array<K>;
|
|
71
|
+
/** 获取所有对象 */
|
|
72
|
+
GetAll(): Map<string, T>;
|
|
73
|
+
/** 添加对象实例 */
|
|
74
|
+
Add(_key: string, _t: T): boolean;
|
|
75
|
+
/** 设置对象 */
|
|
76
|
+
Set<K extends T>(_key: string, _t: T): K;
|
|
77
|
+
/** 移除对象实例 */
|
|
78
|
+
Remove(_key: string): boolean;
|
|
79
|
+
/** 移除所有对象实例 */
|
|
80
|
+
RemoveAll(): void;
|
|
81
|
+
/** 对象实例是否存在 */
|
|
82
|
+
Exist(_t: string): boolean;
|
|
83
|
+
/** 所有键转数组 */
|
|
84
|
+
KeysToArray(): Array<string>;
|
|
85
|
+
/** 所有值转数组 */
|
|
86
|
+
ValuesToArray(): Array<T>;
|
|
87
|
+
}
|
|
88
|
+
/** 队列池<队列> */
|
|
89
|
+
export class QueuePool<T extends object> {
|
|
90
|
+
/** 队列数组 */
|
|
91
|
+
private _tPools;
|
|
92
|
+
constructor();
|
|
93
|
+
/** 入队 */
|
|
94
|
+
Enqueue(_t: T): void;
|
|
95
|
+
/** 出队 */
|
|
96
|
+
Dequeue(): T | undefined;
|
|
97
|
+
/** 查看队首元素 */
|
|
98
|
+
Peek(): T | undefined;
|
|
99
|
+
/** 判断队列是否为空 */
|
|
100
|
+
IsEmpty(): boolean;
|
|
101
|
+
/** 获取队列大小 */
|
|
102
|
+
Size(): number;
|
|
103
|
+
/** 清空队列 */
|
|
104
|
+
Clear(): void;
|
|
105
|
+
/** 克隆 */
|
|
106
|
+
Clone(): Array<T>;
|
|
107
|
+
}
|
|
108
|
+
/** 函数签名信息 */
|
|
109
|
+
export interface FunctionSignature {
|
|
110
|
+
/** 函数名 */
|
|
111
|
+
functionName?: string;
|
|
112
|
+
/** 参数列表 */
|
|
113
|
+
parameters: ParamInfo[];
|
|
114
|
+
}
|
|
115
|
+
/** 参数信息 */
|
|
116
|
+
export interface ParamInfo {
|
|
117
|
+
/** 参数名 */
|
|
118
|
+
name: string;
|
|
119
|
+
/** 参数类型(TypeScript 类型注解,如 number、string、boolean) */
|
|
120
|
+
type?: string;
|
|
121
|
+
/** 默认值 */
|
|
122
|
+
defaultValue?: string;
|
|
123
|
+
/** 是否可选 */
|
|
124
|
+
optional?: boolean;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* 解析函数签名
|
|
128
|
+
* @param fn 目标函数
|
|
129
|
+
* @returns 函数签名信息(函数名 + 参数列表)
|
|
130
|
+
*/
|
|
131
|
+
export function OnGetFunctionSignature(fn: Function): FunctionSignature;
|
|
132
|
+
export {};
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=ObjectUtility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectUtility.d.ts","sourceRoot":"","sources":["../../src/utility/ObjectUtility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************************
|
|
3
|
+
* FileName : ObjectUtility
|
|
4
|
+
* FileBasename : ObjectUtility.ts
|
|
5
|
+
* Author : Seven_9t
|
|
6
|
+
* Date : Sat Mar 25 2023 15:05:05 GMT+0800 (中国标准时间)
|
|
7
|
+
* Description : db://assets/frame/script/base/ObjectUtility.ts
|
|
8
|
+
* Version : v3.6
|
|
9
|
+
* Others : 修改默认TS脚本模板路径 D:\Cocos\CocosDashboard\resources\.editors\Creator\<Version>\resources\resources\3d\engine\editor\assets\default_file_content\ts
|
|
10
|
+
* ManualUrl : <指南手册> https://docs.cocos.com/creator/3.6/manual/zh/
|
|
11
|
+
* : <脚本手册> https://docs.cocos.com/creator/3.6/manual/zh/scripting/
|
|
12
|
+
* : <接口手册> https://docs.cocos.com/creator/api/zh/#/docs/3.6/zh/README
|
|
13
|
+
* : <生命周期手册>https://docs.cocos.com/creator/3.6/manual/zh/scripting/life-cycle-callbacks.html
|
|
14
|
+
|
|
15
|
+
**********************************************************************************/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ObjectUtility = void 0;
|
|
18
|
+
/** 对象工具 */
|
|
19
|
+
var ObjectUtility;
|
|
20
|
+
(function (ObjectUtility) {
|
|
21
|
+
/** 对象池<数组> */
|
|
22
|
+
class ArrayPool {
|
|
23
|
+
/** 构造函数 */
|
|
24
|
+
constructor() {
|
|
25
|
+
/** 对象池 */
|
|
26
|
+
this._tPools = null;
|
|
27
|
+
this._tPools = new Array();
|
|
28
|
+
}
|
|
29
|
+
/** 获取数量 */
|
|
30
|
+
get Count() { return this._tPools.length; }
|
|
31
|
+
/** 获取对象 */
|
|
32
|
+
Get(_index) {
|
|
33
|
+
if (this._tPools.length <= _index || 0 > _index) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return this._tPools[_index];
|
|
37
|
+
}
|
|
38
|
+
/** 获取对象组 */
|
|
39
|
+
Gets(_indexs) {
|
|
40
|
+
const _ks = Array();
|
|
41
|
+
for (let index = 0; index < _indexs.length; index++) {
|
|
42
|
+
const _key = _indexs[index];
|
|
43
|
+
const _k = this.Get(_key);
|
|
44
|
+
if (_k) {
|
|
45
|
+
_ks.push(_k);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return _ks;
|
|
49
|
+
}
|
|
50
|
+
/** 获取所有对象 */
|
|
51
|
+
GetAll() {
|
|
52
|
+
return this._tPools;
|
|
53
|
+
}
|
|
54
|
+
/** 添加对象实例 */
|
|
55
|
+
Add(_t) {
|
|
56
|
+
if (null == _t || this.Exist(_t)) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
this._tPools?.push(_t);
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
/** 移除对象实例 */
|
|
63
|
+
Remove(_t) {
|
|
64
|
+
if (null == _t || !this.Exist(_t)) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
let _result = null;
|
|
68
|
+
if ("number" == typeof (_t)) {
|
|
69
|
+
_result = this._tPools?.splice(_t, 1);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
_result = this._tPools?.splice(this._tPools.indexOf(_t), 1);
|
|
73
|
+
}
|
|
74
|
+
return null != _result && 1 == _result.length;
|
|
75
|
+
}
|
|
76
|
+
/** 移除所有对象实例 */
|
|
77
|
+
RemoveAll() {
|
|
78
|
+
this._tPools.splice(0, this._tPools.length);
|
|
79
|
+
}
|
|
80
|
+
/** 对象实例是否存在 */
|
|
81
|
+
Exist(_t) {
|
|
82
|
+
if (null == _t) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
if ("number" == typeof (_t)) {
|
|
86
|
+
if (this._tPools.length <= _t || 0 > _t) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return null != this._tPools[_t];
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return -1 != this._tPools?.indexOf(_t);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
ObjectUtility.ArrayPool = ArrayPool;
|
|
97
|
+
/** 对象池<字典> */
|
|
98
|
+
class MapPool {
|
|
99
|
+
/** 构造函数 */
|
|
100
|
+
constructor(_map) {
|
|
101
|
+
/** 对象池 */
|
|
102
|
+
this._tPools = null;
|
|
103
|
+
this._tPools = new Map(_map);
|
|
104
|
+
}
|
|
105
|
+
/** 获取数量 */
|
|
106
|
+
get Count() { return this._tPools.size; }
|
|
107
|
+
/** 获取对象 */
|
|
108
|
+
Get(_key) {
|
|
109
|
+
if (!this._tPools.has(_key)) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
return this._tPools.get(_key);
|
|
113
|
+
}
|
|
114
|
+
/** 获取对象组 */
|
|
115
|
+
Gets(_keys) {
|
|
116
|
+
const _ks = Array();
|
|
117
|
+
for (let index = 0; index < _keys.length; index++) {
|
|
118
|
+
const _key = _keys[index];
|
|
119
|
+
const _k = this.Get(_key);
|
|
120
|
+
if (_k) {
|
|
121
|
+
_ks.push(_k);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return _ks;
|
|
125
|
+
}
|
|
126
|
+
/** 获取所有对象 */
|
|
127
|
+
GetAll() {
|
|
128
|
+
return this._tPools;
|
|
129
|
+
}
|
|
130
|
+
/** 添加对象实例 */
|
|
131
|
+
Add(_key, _t) {
|
|
132
|
+
if (null == _t || this.Exist(_key)) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
this._tPools?.set(_key, _t);
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
/** 设置对象 */
|
|
139
|
+
Set(_key, _t) {
|
|
140
|
+
if (this._tPools.has(_key)) {
|
|
141
|
+
this._tPools.delete(_key);
|
|
142
|
+
}
|
|
143
|
+
this._tPools?.set(_key, _t);
|
|
144
|
+
return this._tPools.get(_key);
|
|
145
|
+
}
|
|
146
|
+
/** 移除对象实例 */
|
|
147
|
+
Remove(_key) {
|
|
148
|
+
if (!this.Exist(_key)) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
return this._tPools.delete(_key);
|
|
152
|
+
}
|
|
153
|
+
/** 移除所有对象实例 */
|
|
154
|
+
RemoveAll() {
|
|
155
|
+
const _keys = Array.from(this._tPools.keys());
|
|
156
|
+
for (let i = 0; i < _keys.length; i++) {
|
|
157
|
+
const _key = _keys[i];
|
|
158
|
+
this._tPools.delete(_key);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/** 对象实例是否存在 */
|
|
162
|
+
Exist(_t) {
|
|
163
|
+
if (null == _t) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
if (!this._tPools.has(_t)) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
return null != this._tPools.get(_t);
|
|
170
|
+
}
|
|
171
|
+
/** 所有键转数组 */
|
|
172
|
+
KeysToArray() {
|
|
173
|
+
return Array.from(this._tPools.keys());
|
|
174
|
+
}
|
|
175
|
+
/** 所有值转数组 */
|
|
176
|
+
ValuesToArray() {
|
|
177
|
+
return Array.from(this._tPools.values());
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
ObjectUtility.MapPool = MapPool;
|
|
181
|
+
/** 队列池<队列> */
|
|
182
|
+
class QueuePool {
|
|
183
|
+
constructor() {
|
|
184
|
+
/** 队列数组 */
|
|
185
|
+
this._tPools = null;
|
|
186
|
+
this._tPools = new Array();
|
|
187
|
+
}
|
|
188
|
+
/** 入队 */
|
|
189
|
+
Enqueue(_t) {
|
|
190
|
+
this._tPools.push(_t);
|
|
191
|
+
}
|
|
192
|
+
/** 出队 */
|
|
193
|
+
Dequeue() {
|
|
194
|
+
return this._tPools.shift();
|
|
195
|
+
}
|
|
196
|
+
/** 查看队首元素 */
|
|
197
|
+
Peek() {
|
|
198
|
+
return this._tPools[0];
|
|
199
|
+
}
|
|
200
|
+
/** 判断队列是否为空 */
|
|
201
|
+
IsEmpty() {
|
|
202
|
+
return 0 >= this._tPools.length;
|
|
203
|
+
}
|
|
204
|
+
/** 获取队列大小 */
|
|
205
|
+
Size() {
|
|
206
|
+
return this._tPools.length;
|
|
207
|
+
}
|
|
208
|
+
/** 清空队列 */
|
|
209
|
+
Clear() {
|
|
210
|
+
this._tPools.splice(0, this._tPools.length);
|
|
211
|
+
}
|
|
212
|
+
/** 克隆 */
|
|
213
|
+
Clone() {
|
|
214
|
+
return [...this._tPools];
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
ObjectUtility.QueuePool = QueuePool;
|
|
218
|
+
/**
|
|
219
|
+
* 解析函数签名
|
|
220
|
+
* @param fn 目标函数
|
|
221
|
+
* @returns 函数签名信息(函数名 + 参数列表)
|
|
222
|
+
*/
|
|
223
|
+
function OnGetFunctionSignature(fn) {
|
|
224
|
+
const src = fn.toString();
|
|
225
|
+
// 提取函数名
|
|
226
|
+
let functionName;
|
|
227
|
+
const nameMatch = src.match(/^(?:async\s+)?function\s+\*?\s*(\w+)\s*\(/);
|
|
228
|
+
if (nameMatch) {
|
|
229
|
+
functionName = nameMatch[1];
|
|
230
|
+
}
|
|
231
|
+
// 提取参数列表字符串(第一个括号对)
|
|
232
|
+
const clean = src.replace(/\/\/.*|\/\*[\s\S]*?\*\//g, "");
|
|
233
|
+
const parenMatch = clean.match(/\(([\s\S]*?)\)/);
|
|
234
|
+
if (!parenMatch) {
|
|
235
|
+
return { functionName, parameters: [] };
|
|
236
|
+
}
|
|
237
|
+
// 按逗号拆分,同时识别 []/()/{} 嵌套防止错误分割默认值
|
|
238
|
+
const paramsStr = parenMatch[1].trim();
|
|
239
|
+
if (!paramsStr) {
|
|
240
|
+
return { functionName, parameters: [] };
|
|
241
|
+
}
|
|
242
|
+
const parts = [];
|
|
243
|
+
let depth = 0;
|
|
244
|
+
let cur = "";
|
|
245
|
+
for (const ch of paramsStr) {
|
|
246
|
+
if (ch === "," && depth === 0) {
|
|
247
|
+
parts.push(cur.trim());
|
|
248
|
+
cur = "";
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
if ("([{".includes(ch)) {
|
|
252
|
+
depth++;
|
|
253
|
+
}
|
|
254
|
+
if (")]}".includes(ch)) {
|
|
255
|
+
depth--;
|
|
256
|
+
}
|
|
257
|
+
cur += ch;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if (cur.trim()) {
|
|
261
|
+
parts.push(cur.trim());
|
|
262
|
+
}
|
|
263
|
+
// 解析每个参数
|
|
264
|
+
const parameters = parts.map(p => {
|
|
265
|
+
const param = { name: "", optional: false };
|
|
266
|
+
// 解构模式(如 {a, b} 或 [x, y])— 不深入解析,整体当参数名
|
|
267
|
+
if (p.startsWith("{") || p.startsWith("[")) {
|
|
268
|
+
const close = p.startsWith("{") ? "}" : "]";
|
|
269
|
+
const endIdx = p.indexOf(close + ":") !== -1 ? p.indexOf(close + ":") + 1 : p.indexOf(close);
|
|
270
|
+
param.name = p.substring(0, endIdx + 1).trim();
|
|
271
|
+
const rest = p.substring(endIdx + 1).trim();
|
|
272
|
+
if (rest.startsWith(":")) {
|
|
273
|
+
const eqIdx = rest.indexOf("=");
|
|
274
|
+
if (eqIdx !== -1) {
|
|
275
|
+
param.type = rest.substring(1, eqIdx).trim() || undefined;
|
|
276
|
+
param.defaultValue = rest.substring(eqIdx + 1).trim() || undefined;
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
param.type = rest.substring(1).trim() || undefined;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
else if (rest.startsWith("=")) {
|
|
283
|
+
param.defaultValue = rest.substring(1).trim() || undefined;
|
|
284
|
+
}
|
|
285
|
+
return param;
|
|
286
|
+
}
|
|
287
|
+
// 简单参数
|
|
288
|
+
// a?: type = value
|
|
289
|
+
const optional = p.includes("?");
|
|
290
|
+
let remains = p.replace("?", "");
|
|
291
|
+
// 提取默认值
|
|
292
|
+
const eqIdx = remains.indexOf("=");
|
|
293
|
+
if (eqIdx !== -1) {
|
|
294
|
+
param.defaultValue = remains.substring(eqIdx + 1).trim() || undefined;
|
|
295
|
+
remains = remains.substring(0, eqIdx).trim();
|
|
296
|
+
}
|
|
297
|
+
// 提取类型注解
|
|
298
|
+
const colonIdx = remains.indexOf(":");
|
|
299
|
+
if (colonIdx !== -1) {
|
|
300
|
+
param.type = remains.substring(colonIdx + 1).trim() || undefined;
|
|
301
|
+
param.name = remains.substring(0, colonIdx).trim();
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
param.name = remains.trim();
|
|
305
|
+
}
|
|
306
|
+
param.optional = optional || param.defaultValue !== undefined;
|
|
307
|
+
return param;
|
|
308
|
+
});
|
|
309
|
+
return { functionName, parameters };
|
|
310
|
+
}
|
|
311
|
+
ObjectUtility.OnGetFunctionSignature = OnGetFunctionSignature;
|
|
312
|
+
})(ObjectUtility || (exports.ObjectUtility = ObjectUtility = {}));
|
|
313
|
+
//# sourceMappingURL=ObjectUtility.js.map
|