befly 3.10.18 → 3.10.19
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/README.md +83 -307
- package/dist/befly.config.d.ts +7 -0
- package/{befly.config.ts → dist/befly.config.js} +10 -33
- package/dist/checks/checkApi.d.ts +1 -0
- package/{checks/checkApi.ts → dist/checks/checkApi.js} +11 -28
- package/dist/checks/checkHook.d.ts +1 -0
- package/{checks/checkHook.ts → dist/checks/checkHook.js} +11 -20
- package/dist/checks/checkMenu.d.ts +7 -0
- package/{checks/checkMenu.ts → dist/checks/checkMenu.js} +18 -53
- package/dist/checks/checkPlugin.d.ts +1 -0
- package/{checks/checkPlugin.ts → dist/checks/checkPlugin.js} +11 -20
- package/dist/checks/checkTable.d.ts +6 -0
- package/{checks/checkTable.ts → dist/checks/checkTable.js} +17 -41
- package/dist/configs/presetFields.d.ts +4 -0
- package/{configs/presetFields.ts → dist/configs/presetFields.js} +1 -1
- package/dist/configs/presetRegexp.d.ts +145 -0
- package/{utils/regex.ts → dist/configs/presetRegexp.js} +8 -31
- package/dist/hooks/auth.d.ts +5 -0
- package/{hooks/auth.ts → dist/hooks/auth.js} +6 -10
- package/dist/hooks/cors.d.ts +9 -0
- package/{hooks/cors.ts → dist/hooks/cors.js} +3 -13
- package/dist/hooks/parser.d.ts +12 -0
- package/{hooks/parser.ts → dist/hooks/parser.js} +29 -44
- package/dist/hooks/permission.d.ts +12 -0
- package/{hooks/permission.ts → dist/hooks/permission.js} +14 -25
- package/dist/hooks/validator.d.ts +9 -0
- package/{hooks/validator.ts → dist/hooks/validator.js} +7 -14
- package/dist/lib/asyncContext.d.ts +21 -0
- package/dist/lib/asyncContext.js +27 -0
- package/dist/lib/cacheHelper.d.ts +95 -0
- package/{lib/cacheHelper.ts → dist/lib/cacheHelper.js} +45 -105
- package/dist/lib/cacheKeys.d.ts +23 -0
- package/{lib/cacheKeys.ts → dist/lib/cacheKeys.js} +5 -10
- package/dist/lib/cipher.d.ts +153 -0
- package/{lib/cipher.ts → dist/lib/cipher.js} +23 -44
- package/dist/lib/connect.d.ts +91 -0
- package/{lib/connect.ts → dist/lib/connect.js} +47 -88
- package/dist/lib/dbDialect.d.ts +87 -0
- package/{lib/dbDialect.ts → dist/lib/dbDialect.js} +32 -112
- package/dist/lib/dbHelper.d.ts +204 -0
- package/{lib/dbHelper.ts → dist/lib/dbHelper.js} +83 -240
- package/dist/lib/dbUtils.d.ts +68 -0
- package/{lib/dbUtils.ts → dist/lib/dbUtils.js} +51 -125
- package/dist/lib/jwt.d.ts +13 -0
- package/{lib/jwt.ts → dist/lib/jwt.js} +11 -32
- package/dist/lib/logger.d.ts +32 -0
- package/{lib/logger.ts → dist/lib/logger.js} +202 -279
- package/dist/lib/redisHelper.d.ts +185 -0
- package/{lib/redisHelper.ts → dist/lib/redisHelper.js} +97 -141
- package/dist/lib/sqlBuilder.d.ts +160 -0
- package/{lib/sqlBuilder.ts → dist/lib/sqlBuilder.js} +132 -278
- package/dist/lib/sqlCheck.d.ts +23 -0
- package/{lib/sqlCheck.ts → dist/lib/sqlCheck.js} +24 -41
- package/dist/lib/validator.d.ts +45 -0
- package/{lib/validator.ts → dist/lib/validator.js} +44 -61
- package/dist/loader/loadApis.d.ts +12 -0
- package/{loader/loadApis.ts → dist/loader/loadApis.js} +9 -19
- package/dist/loader/loadHooks.d.ts +8 -0
- package/{loader/loadHooks.ts → dist/loader/loadHooks.js} +7 -21
- package/dist/loader/loadPlugins.d.ts +8 -0
- package/{loader/loadPlugins.ts → dist/loader/loadPlugins.js} +10 -22
- package/dist/main.d.ts +26 -0
- package/{main.ts → dist/main.js} +60 -99
- package/dist/paths.d.ts +93 -0
- package/{paths.ts → dist/paths.js} +6 -19
- package/dist/plugins/cache.d.ts +14 -0
- package/{plugins/cache.ts → dist/plugins/cache.js} +5 -12
- package/dist/plugins/cipher.d.ts +10 -0
- package/{plugins/cipher.ts → dist/plugins/cipher.js} +2 -6
- package/dist/plugins/config.d.ts +10 -0
- package/dist/plugins/config.js +6 -0
- package/dist/plugins/db.d.ts +14 -0
- package/{plugins/db.ts → dist/plugins/db.js} +9 -17
- package/dist/plugins/jwt.d.ts +10 -0
- package/dist/plugins/jwt.js +10 -0
- package/dist/plugins/logger.d.ts +28 -0
- package/{plugins/logger.ts → dist/plugins/logger.js} +3 -8
- package/dist/plugins/redis.d.ts +14 -0
- package/{plugins/redis.ts → dist/plugins/redis.js} +7 -12
- package/dist/plugins/tool.d.ts +79 -0
- package/{plugins/tool.ts → dist/plugins/tool.js} +7 -30
- package/dist/router/api.d.ts +14 -0
- package/dist/router/api.js +107 -0
- package/dist/router/static.d.ts +9 -0
- package/{router/static.ts → dist/router/static.js} +20 -34
- package/dist/scripts/ensureDist.d.ts +1 -0
- package/dist/scripts/ensureDist.js +80 -0
- package/dist/sync/syncApi.d.ts +3 -0
- package/{sync/syncApi.ts → dist/sync/syncApi.js} +34 -54
- package/dist/sync/syncCache.d.ts +2 -0
- package/{sync/syncCache.ts → dist/sync/syncCache.js} +1 -6
- package/dist/sync/syncDev.d.ts +6 -0
- package/{sync/syncDev.ts → dist/sync/syncDev.js} +29 -62
- package/dist/sync/syncMenu.d.ts +14 -0
- package/{sync/syncMenu.ts → dist/sync/syncMenu.js} +65 -125
- package/dist/sync/syncTable.d.ts +151 -0
- package/{sync/syncTable.ts → dist/sync/syncTable.js} +171 -378
- package/{types → dist/types}/api.d.ts +8 -47
- package/dist/types/api.js +4 -0
- package/{types → dist/types}/befly.d.ts +31 -222
- package/dist/types/befly.js +4 -0
- package/{types → dist/types}/cache.d.ts +7 -15
- package/dist/types/cache.js +4 -0
- package/dist/types/cipher.d.ts +27 -0
- package/dist/types/cipher.js +7 -0
- package/{types → dist/types}/common.d.ts +8 -33
- package/dist/types/common.js +5 -0
- package/{types → dist/types}/context.d.ts +2 -4
- package/dist/types/context.js +4 -0
- package/{types → dist/types}/crypto.d.ts +0 -3
- package/dist/types/crypto.js +4 -0
- package/dist/types/database.d.ts +138 -0
- package/dist/types/database.js +4 -0
- package/dist/types/hook.d.ts +15 -0
- package/dist/types/hook.js +6 -0
- package/dist/types/jwt.d.ts +75 -0
- package/dist/types/jwt.js +4 -0
- package/dist/types/logger.d.ts +47 -0
- package/dist/types/logger.js +6 -0
- package/dist/types/plugin.d.ts +14 -0
- package/dist/types/plugin.js +6 -0
- package/dist/types/redis.d.ts +71 -0
- package/dist/types/redis.js +4 -0
- package/{types/roleApisCache.ts → dist/types/roleApisCache.d.ts} +0 -2
- package/dist/types/roleApisCache.js +8 -0
- package/dist/types/sync.d.ts +92 -0
- package/dist/types/sync.js +4 -0
- package/dist/types/table.d.ts +34 -0
- package/dist/types/table.js +4 -0
- package/dist/types/validate.d.ts +67 -0
- package/dist/types/validate.js +4 -0
- package/dist/utils/arrayKeysToCamel.d.ts +13 -0
- package/{utils/arrayKeysToCamel.ts → dist/utils/arrayKeysToCamel.js} +5 -5
- package/dist/utils/calcPerfTime.d.ts +4 -0
- package/{utils/calcPerfTime.ts → dist/utils/calcPerfTime.js} +3 -3
- package/dist/utils/configTypes.d.ts +1 -0
- package/dist/utils/configTypes.js +1 -0
- package/dist/utils/convertBigIntFields.d.ts +11 -0
- package/{utils/convertBigIntFields.ts → dist/utils/convertBigIntFields.js} +5 -9
- package/dist/utils/cors.d.ts +8 -0
- package/{utils/cors.ts → dist/utils/cors.js} +1 -3
- package/dist/utils/disableMenusGlob.d.ts +13 -0
- package/{utils/disableMenusGlob.ts → dist/utils/disableMenusGlob.js} +9 -29
- package/dist/utils/fieldClear.d.ts +11 -0
- package/{utils/fieldClear.ts → dist/utils/fieldClear.js} +15 -33
- package/dist/utils/genShortId.d.ts +10 -0
- package/{utils/genShortId.ts → dist/utils/genShortId.js} +1 -1
- package/dist/utils/getClientIp.d.ts +6 -0
- package/{utils/getClientIp.ts → dist/utils/getClientIp.js} +1 -7
- package/dist/utils/importDefault.d.ts +1 -0
- package/dist/utils/importDefault.js +29 -0
- package/dist/utils/isDirentDirectory.d.ts +2 -0
- package/{utils/isDirentDirectory.ts → dist/utils/isDirentDirectory.js} +3 -8
- package/dist/utils/keysToCamel.d.ts +10 -0
- package/{utils/keysToCamel.ts → dist/utils/keysToCamel.js} +4 -5
- package/dist/utils/keysToSnake.d.ts +10 -0
- package/{utils/keysToSnake.ts → dist/utils/keysToSnake.js} +4 -5
- package/dist/utils/loadMenuConfigs.d.ts +5 -0
- package/{utils/loadMenuConfigs.ts → dist/utils/loadMenuConfigs.js} +24 -51
- package/dist/utils/pickFields.d.ts +4 -0
- package/{utils/pickFields.ts → dist/utils/pickFields.js} +2 -5
- package/dist/utils/process.d.ts +24 -0
- package/{utils/process.ts → dist/utils/process.js} +2 -18
- package/dist/utils/processFields.d.ts +4 -0
- package/{utils/processFields.ts → dist/utils/processFields.js} +5 -9
- package/dist/utils/regex.d.ts +145 -0
- package/{configs/presetRegexp.ts → dist/utils/regex.js} +8 -31
- package/dist/utils/response.d.ts +20 -0
- package/{utils/response.ts → dist/utils/response.js} +28 -49
- package/dist/utils/scanAddons.d.ts +17 -0
- package/{utils/scanAddons.ts → dist/utils/scanAddons.js} +6 -40
- package/dist/utils/scanConfig.d.ts +26 -0
- package/{utils/scanConfig.ts → dist/utils/scanConfig.js} +22 -59
- package/dist/utils/scanFiles.d.ts +30 -0
- package/{utils/scanFiles.ts → dist/utils/scanFiles.js} +26 -66
- package/dist/utils/scanSources.d.ts +10 -0
- package/dist/utils/scanSources.js +41 -0
- package/dist/utils/sortModules.d.ts +28 -0
- package/{utils/sortModules.ts → dist/utils/sortModules.js} +25 -65
- package/dist/utils/sqlLog.d.ts +14 -0
- package/{utils/sqlLog.ts → dist/utils/sqlLog.js} +2 -14
- package/package.json +14 -28
- package/.gitignore +0 -0
- package/bunfig.toml +0 -3
- package/docs/README.md +0 -98
- package/docs/api/api.md +0 -1921
- package/docs/guide/examples.md +0 -926
- package/docs/guide/quickstart.md +0 -354
- package/docs/hooks/auth.md +0 -38
- package/docs/hooks/cors.md +0 -28
- package/docs/hooks/hook.md +0 -838
- package/docs/hooks/parser.md +0 -19
- package/docs/hooks/rateLimit.md +0 -47
- package/docs/infra/redis.md +0 -628
- package/docs/plugins/cipher.md +0 -61
- package/docs/plugins/database.md +0 -189
- package/docs/plugins/plugin.md +0 -986
- package/docs/reference/addon.md +0 -510
- package/docs/reference/config.md +0 -573
- package/docs/reference/logger.md +0 -495
- package/docs/reference/sync.md +0 -478
- package/docs/reference/table.md +0 -763
- package/docs/reference/validator.md +0 -620
- package/lib/asyncContext.ts +0 -43
- package/plugins/config.ts +0 -13
- package/plugins/jwt.ts +0 -15
- package/router/api.ts +0 -130
- package/tsconfig.json +0 -8
- package/types/database.d.ts +0 -541
- package/types/hook.d.ts +0 -25
- package/types/jwt.d.ts +0 -118
- package/types/logger.d.ts +0 -65
- package/types/plugin.d.ts +0 -19
- package/types/redis.d.ts +0 -83
- package/types/sync.d.ts +0 -398
- package/types/table.d.ts +0 -216
- package/types/validate.d.ts +0 -69
- package/utils/configTypes.ts +0 -3
- package/utils/importDefault.ts +0 -21
- package/utils/scanSources.ts +0 -64
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redis 助手 - TypeScript 版本
|
|
3
|
+
* 提供 Redis 操作的便捷方法
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Redis 助手类
|
|
7
|
+
* 约定:除构造函数外,方法默认不抛异常;失败时返回 null/false/0/[] 并记录日志。
|
|
8
|
+
*/
|
|
9
|
+
export declare class RedisHelper {
|
|
10
|
+
private client;
|
|
11
|
+
private prefix;
|
|
12
|
+
private readonly slowThresholdMs;
|
|
13
|
+
/**
|
|
14
|
+
* 构造函数
|
|
15
|
+
* @param prefix - Key 前缀
|
|
16
|
+
*/
|
|
17
|
+
constructor(prefix?: string);
|
|
18
|
+
private logSlow;
|
|
19
|
+
/**
|
|
20
|
+
* 设置对象到 Redis
|
|
21
|
+
* @param key - 键名
|
|
22
|
+
* @param obj - 对象
|
|
23
|
+
* @param ttl - 过期时间(秒)
|
|
24
|
+
* @returns 操作结果
|
|
25
|
+
*/
|
|
26
|
+
setObject<T = any>(key: string, obj: T, ttl?: number | null): Promise<string | null>;
|
|
27
|
+
/**
|
|
28
|
+
* 从 Redis 获取对象
|
|
29
|
+
* @param key - 键名
|
|
30
|
+
* @returns 对象或 null
|
|
31
|
+
*/
|
|
32
|
+
getObject<T = any>(key: string): Promise<T | null>;
|
|
33
|
+
/**
|
|
34
|
+
* 从 Redis 删除对象
|
|
35
|
+
* @param key - 键名
|
|
36
|
+
*/
|
|
37
|
+
delObject(key: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* 生成基于时间的唯一 ID
|
|
40
|
+
* 格式: 毫秒时间戳(13位) + 3位后缀(100-999) = 16位纯数字
|
|
41
|
+
* 每毫秒起点基于时间戳偏移,后缀分布更均匀
|
|
42
|
+
* @returns 唯一 ID (16位纯数字)
|
|
43
|
+
*/
|
|
44
|
+
genTimeID(): Promise<number>;
|
|
45
|
+
/**
|
|
46
|
+
* 设置字符串值
|
|
47
|
+
* @param key - 键名
|
|
48
|
+
* @param value - 值
|
|
49
|
+
* @param ttl - 过期时间(秒)
|
|
50
|
+
*/
|
|
51
|
+
setString(key: string, value: string, ttl?: number | null): Promise<string | null>;
|
|
52
|
+
/**
|
|
53
|
+
* 获取字符串值
|
|
54
|
+
* @param key - 键名
|
|
55
|
+
*/
|
|
56
|
+
getString(key: string): Promise<string | null>;
|
|
57
|
+
/**
|
|
58
|
+
* 检查键是否存在
|
|
59
|
+
* @param key - 键名
|
|
60
|
+
* @returns 是否存在(true/false)
|
|
61
|
+
*/
|
|
62
|
+
exists(key: string): Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* 原子自增
|
|
65
|
+
* @param key - 键名
|
|
66
|
+
* @returns 自增后的值
|
|
67
|
+
*/
|
|
68
|
+
incr(key: string): Promise<number>;
|
|
69
|
+
/**
|
|
70
|
+
* 原子自增并在首次自增时设置过期时间(常用于限流/计数)
|
|
71
|
+
* @param key - 键名
|
|
72
|
+
* @param seconds - 过期秒数
|
|
73
|
+
* @returns 自增后的值
|
|
74
|
+
*/
|
|
75
|
+
incrWithExpire(key: string, seconds: number): Promise<number>;
|
|
76
|
+
/**
|
|
77
|
+
* 设置过期时间
|
|
78
|
+
* @param key - 键名
|
|
79
|
+
* @param seconds - 秒数
|
|
80
|
+
*/
|
|
81
|
+
expire(key: string, seconds: number): Promise<number>;
|
|
82
|
+
/**
|
|
83
|
+
* 获取剩余过期时间
|
|
84
|
+
* @param key - 键名
|
|
85
|
+
*/
|
|
86
|
+
ttl(key: string): Promise<number>;
|
|
87
|
+
/**
|
|
88
|
+
* 批量获取剩余过期时间(利用 Bun Redis 自动管道优化)
|
|
89
|
+
* @param keys - 键名数组
|
|
90
|
+
* @returns TTL 数组(-2 表示键不存在,-1 表示无过期时间)
|
|
91
|
+
*/
|
|
92
|
+
ttlBatch(keys: string[]): Promise<number[]>;
|
|
93
|
+
/**
|
|
94
|
+
* 向 Set 中添加一个或多个成员
|
|
95
|
+
* @param key - 键名
|
|
96
|
+
* @param members - 成员数组
|
|
97
|
+
* @returns 成功添加的成员数量
|
|
98
|
+
*/
|
|
99
|
+
sadd(key: string, members: string[]): Promise<number>;
|
|
100
|
+
/**
|
|
101
|
+
* 判断成员是否在 Set 中
|
|
102
|
+
* @param key - 键名
|
|
103
|
+
* @param member - 成员
|
|
104
|
+
* @returns 是否存在(true/false)
|
|
105
|
+
*/
|
|
106
|
+
sismember(key: string, member: string): Promise<boolean>;
|
|
107
|
+
/**
|
|
108
|
+
* 获取 Set 的成员数量
|
|
109
|
+
* @param key - 键名
|
|
110
|
+
* @returns 成员数量
|
|
111
|
+
*/
|
|
112
|
+
scard(key: string): Promise<number>;
|
|
113
|
+
/**
|
|
114
|
+
* 获取 Set 的所有成员
|
|
115
|
+
* @param key - 键名
|
|
116
|
+
* @returns 成员数组
|
|
117
|
+
*/
|
|
118
|
+
smembers(key: string): Promise<string[]>;
|
|
119
|
+
/**
|
|
120
|
+
* 批量向多个 Set 添加成员(利用 Bun Redis 自动管道优化)
|
|
121
|
+
* @param items - [{ key, members }] 数组
|
|
122
|
+
* @returns 成功添加的总成员数量
|
|
123
|
+
*/
|
|
124
|
+
saddBatch(items: Array<{
|
|
125
|
+
key: string;
|
|
126
|
+
members: string[];
|
|
127
|
+
}>): Promise<number>;
|
|
128
|
+
/**
|
|
129
|
+
* 批量检查成员是否在 Set 中(利用 Bun Redis 自动管道优化)
|
|
130
|
+
* @param items - [{ key, member }] 数组
|
|
131
|
+
* @returns 布尔数组(true 表示存在,false 表示不存在)
|
|
132
|
+
*/
|
|
133
|
+
sismemberBatch(items: Array<{
|
|
134
|
+
key: string;
|
|
135
|
+
member: string;
|
|
136
|
+
}>): Promise<boolean[]>;
|
|
137
|
+
/**
|
|
138
|
+
* 删除键
|
|
139
|
+
* @param key - 键名
|
|
140
|
+
* @returns 删除的键数量
|
|
141
|
+
*/
|
|
142
|
+
del(key: string): Promise<number>;
|
|
143
|
+
/**
|
|
144
|
+
* 批量删除键(利用 Bun Redis 自动管道优化)
|
|
145
|
+
* @param keys - 键名数组
|
|
146
|
+
* @returns 成功删除的键数量
|
|
147
|
+
*/
|
|
148
|
+
delBatch(keys: string[]): Promise<number>;
|
|
149
|
+
/**
|
|
150
|
+
* 批量设置对象(利用 Bun Redis 自动管道优化)
|
|
151
|
+
* @param items - 键值对数组 [{ key, value, ttl? }]
|
|
152
|
+
* @returns 成功设置的数量
|
|
153
|
+
*/
|
|
154
|
+
setBatch<T = any>(items: Array<{
|
|
155
|
+
key: string;
|
|
156
|
+
value: T;
|
|
157
|
+
ttl?: number | null;
|
|
158
|
+
}>): Promise<number>;
|
|
159
|
+
/**
|
|
160
|
+
* 批量获取对象(利用 Bun Redis 自动管道优化)
|
|
161
|
+
* @param keys - 键名数组
|
|
162
|
+
* @returns 对象数组(不存在的键返回 null)
|
|
163
|
+
*/
|
|
164
|
+
getBatch<T = any>(keys: string[]): Promise<Array<T | null>>;
|
|
165
|
+
/**
|
|
166
|
+
* 批量检查键是否存在(利用 Bun Redis 自动管道优化)
|
|
167
|
+
* @param keys - 键名数组
|
|
168
|
+
* @returns 布尔数组(true 表示存在,false 表示不存在)
|
|
169
|
+
*/
|
|
170
|
+
existsBatch(keys: string[]): Promise<boolean[]>;
|
|
171
|
+
/**
|
|
172
|
+
* 批量设置过期时间(利用 Bun Redis 自动管道优化)
|
|
173
|
+
* @param items - 键名和过期时间数组 [{ key, seconds }]
|
|
174
|
+
* @returns 成功设置的数量
|
|
175
|
+
*/
|
|
176
|
+
expireBatch(items: Array<{
|
|
177
|
+
key: string;
|
|
178
|
+
seconds: number;
|
|
179
|
+
}>): Promise<number>;
|
|
180
|
+
/**
|
|
181
|
+
* 测试 Redis 连接
|
|
182
|
+
* @returns ping 响应结果
|
|
183
|
+
*/
|
|
184
|
+
ping(): Promise<string>;
|
|
185
|
+
}
|