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.
Files changed (220) hide show
  1. package/README.md +83 -307
  2. package/dist/befly.config.d.ts +7 -0
  3. package/{befly.config.ts → dist/befly.config.js} +10 -33
  4. package/dist/checks/checkApi.d.ts +1 -0
  5. package/{checks/checkApi.ts → dist/checks/checkApi.js} +11 -28
  6. package/dist/checks/checkHook.d.ts +1 -0
  7. package/{checks/checkHook.ts → dist/checks/checkHook.js} +11 -20
  8. package/dist/checks/checkMenu.d.ts +7 -0
  9. package/{checks/checkMenu.ts → dist/checks/checkMenu.js} +18 -53
  10. package/dist/checks/checkPlugin.d.ts +1 -0
  11. package/{checks/checkPlugin.ts → dist/checks/checkPlugin.js} +11 -20
  12. package/dist/checks/checkTable.d.ts +6 -0
  13. package/{checks/checkTable.ts → dist/checks/checkTable.js} +17 -41
  14. package/dist/configs/presetFields.d.ts +4 -0
  15. package/{configs/presetFields.ts → dist/configs/presetFields.js} +1 -1
  16. package/dist/configs/presetRegexp.d.ts +145 -0
  17. package/{utils/regex.ts → dist/configs/presetRegexp.js} +8 -31
  18. package/dist/hooks/auth.d.ts +5 -0
  19. package/{hooks/auth.ts → dist/hooks/auth.js} +6 -10
  20. package/dist/hooks/cors.d.ts +9 -0
  21. package/{hooks/cors.ts → dist/hooks/cors.js} +3 -13
  22. package/dist/hooks/parser.d.ts +12 -0
  23. package/{hooks/parser.ts → dist/hooks/parser.js} +29 -44
  24. package/dist/hooks/permission.d.ts +12 -0
  25. package/{hooks/permission.ts → dist/hooks/permission.js} +14 -25
  26. package/dist/hooks/validator.d.ts +9 -0
  27. package/{hooks/validator.ts → dist/hooks/validator.js} +7 -14
  28. package/dist/lib/asyncContext.d.ts +21 -0
  29. package/dist/lib/asyncContext.js +27 -0
  30. package/dist/lib/cacheHelper.d.ts +95 -0
  31. package/{lib/cacheHelper.ts → dist/lib/cacheHelper.js} +45 -105
  32. package/dist/lib/cacheKeys.d.ts +23 -0
  33. package/{lib/cacheKeys.ts → dist/lib/cacheKeys.js} +5 -10
  34. package/dist/lib/cipher.d.ts +153 -0
  35. package/{lib/cipher.ts → dist/lib/cipher.js} +23 -44
  36. package/dist/lib/connect.d.ts +91 -0
  37. package/{lib/connect.ts → dist/lib/connect.js} +47 -88
  38. package/dist/lib/dbDialect.d.ts +87 -0
  39. package/{lib/dbDialect.ts → dist/lib/dbDialect.js} +32 -112
  40. package/dist/lib/dbHelper.d.ts +204 -0
  41. package/{lib/dbHelper.ts → dist/lib/dbHelper.js} +83 -240
  42. package/dist/lib/dbUtils.d.ts +68 -0
  43. package/{lib/dbUtils.ts → dist/lib/dbUtils.js} +51 -125
  44. package/dist/lib/jwt.d.ts +13 -0
  45. package/{lib/jwt.ts → dist/lib/jwt.js} +11 -32
  46. package/dist/lib/logger.d.ts +32 -0
  47. package/{lib/logger.ts → dist/lib/logger.js} +202 -279
  48. package/dist/lib/redisHelper.d.ts +185 -0
  49. package/{lib/redisHelper.ts → dist/lib/redisHelper.js} +97 -141
  50. package/dist/lib/sqlBuilder.d.ts +160 -0
  51. package/{lib/sqlBuilder.ts → dist/lib/sqlBuilder.js} +132 -278
  52. package/dist/lib/sqlCheck.d.ts +23 -0
  53. package/{lib/sqlCheck.ts → dist/lib/sqlCheck.js} +24 -41
  54. package/dist/lib/validator.d.ts +45 -0
  55. package/{lib/validator.ts → dist/lib/validator.js} +44 -61
  56. package/dist/loader/loadApis.d.ts +12 -0
  57. package/{loader/loadApis.ts → dist/loader/loadApis.js} +9 -19
  58. package/dist/loader/loadHooks.d.ts +8 -0
  59. package/{loader/loadHooks.ts → dist/loader/loadHooks.js} +7 -21
  60. package/dist/loader/loadPlugins.d.ts +8 -0
  61. package/{loader/loadPlugins.ts → dist/loader/loadPlugins.js} +10 -22
  62. package/dist/main.d.ts +26 -0
  63. package/{main.ts → dist/main.js} +60 -99
  64. package/dist/paths.d.ts +93 -0
  65. package/{paths.ts → dist/paths.js} +6 -19
  66. package/dist/plugins/cache.d.ts +14 -0
  67. package/{plugins/cache.ts → dist/plugins/cache.js} +5 -12
  68. package/dist/plugins/cipher.d.ts +10 -0
  69. package/{plugins/cipher.ts → dist/plugins/cipher.js} +2 -6
  70. package/dist/plugins/config.d.ts +10 -0
  71. package/dist/plugins/config.js +6 -0
  72. package/dist/plugins/db.d.ts +14 -0
  73. package/{plugins/db.ts → dist/plugins/db.js} +9 -17
  74. package/dist/plugins/jwt.d.ts +10 -0
  75. package/dist/plugins/jwt.js +10 -0
  76. package/dist/plugins/logger.d.ts +28 -0
  77. package/{plugins/logger.ts → dist/plugins/logger.js} +3 -8
  78. package/dist/plugins/redis.d.ts +14 -0
  79. package/{plugins/redis.ts → dist/plugins/redis.js} +7 -12
  80. package/dist/plugins/tool.d.ts +79 -0
  81. package/{plugins/tool.ts → dist/plugins/tool.js} +7 -30
  82. package/dist/router/api.d.ts +14 -0
  83. package/dist/router/api.js +107 -0
  84. package/dist/router/static.d.ts +9 -0
  85. package/{router/static.ts → dist/router/static.js} +20 -34
  86. package/dist/scripts/ensureDist.d.ts +1 -0
  87. package/dist/scripts/ensureDist.js +80 -0
  88. package/dist/sync/syncApi.d.ts +3 -0
  89. package/{sync/syncApi.ts → dist/sync/syncApi.js} +34 -54
  90. package/dist/sync/syncCache.d.ts +2 -0
  91. package/{sync/syncCache.ts → dist/sync/syncCache.js} +1 -6
  92. package/dist/sync/syncDev.d.ts +6 -0
  93. package/{sync/syncDev.ts → dist/sync/syncDev.js} +29 -62
  94. package/dist/sync/syncMenu.d.ts +14 -0
  95. package/{sync/syncMenu.ts → dist/sync/syncMenu.js} +65 -125
  96. package/dist/sync/syncTable.d.ts +151 -0
  97. package/{sync/syncTable.ts → dist/sync/syncTable.js} +171 -378
  98. package/{types → dist/types}/api.d.ts +8 -47
  99. package/dist/types/api.js +4 -0
  100. package/{types → dist/types}/befly.d.ts +31 -222
  101. package/dist/types/befly.js +4 -0
  102. package/{types → dist/types}/cache.d.ts +7 -15
  103. package/dist/types/cache.js +4 -0
  104. package/dist/types/cipher.d.ts +27 -0
  105. package/dist/types/cipher.js +7 -0
  106. package/{types → dist/types}/common.d.ts +8 -33
  107. package/dist/types/common.js +5 -0
  108. package/{types → dist/types}/context.d.ts +2 -4
  109. package/dist/types/context.js +4 -0
  110. package/{types → dist/types}/crypto.d.ts +0 -3
  111. package/dist/types/crypto.js +4 -0
  112. package/dist/types/database.d.ts +138 -0
  113. package/dist/types/database.js +4 -0
  114. package/dist/types/hook.d.ts +15 -0
  115. package/dist/types/hook.js +6 -0
  116. package/dist/types/jwt.d.ts +75 -0
  117. package/dist/types/jwt.js +4 -0
  118. package/dist/types/logger.d.ts +47 -0
  119. package/dist/types/logger.js +6 -0
  120. package/dist/types/plugin.d.ts +14 -0
  121. package/dist/types/plugin.js +6 -0
  122. package/dist/types/redis.d.ts +71 -0
  123. package/dist/types/redis.js +4 -0
  124. package/{types/roleApisCache.ts → dist/types/roleApisCache.d.ts} +0 -2
  125. package/dist/types/roleApisCache.js +8 -0
  126. package/dist/types/sync.d.ts +92 -0
  127. package/dist/types/sync.js +4 -0
  128. package/dist/types/table.d.ts +34 -0
  129. package/dist/types/table.js +4 -0
  130. package/dist/types/validate.d.ts +67 -0
  131. package/dist/types/validate.js +4 -0
  132. package/dist/utils/arrayKeysToCamel.d.ts +13 -0
  133. package/{utils/arrayKeysToCamel.ts → dist/utils/arrayKeysToCamel.js} +5 -5
  134. package/dist/utils/calcPerfTime.d.ts +4 -0
  135. package/{utils/calcPerfTime.ts → dist/utils/calcPerfTime.js} +3 -3
  136. package/dist/utils/configTypes.d.ts +1 -0
  137. package/dist/utils/configTypes.js +1 -0
  138. package/dist/utils/convertBigIntFields.d.ts +11 -0
  139. package/{utils/convertBigIntFields.ts → dist/utils/convertBigIntFields.js} +5 -9
  140. package/dist/utils/cors.d.ts +8 -0
  141. package/{utils/cors.ts → dist/utils/cors.js} +1 -3
  142. package/dist/utils/disableMenusGlob.d.ts +13 -0
  143. package/{utils/disableMenusGlob.ts → dist/utils/disableMenusGlob.js} +9 -29
  144. package/dist/utils/fieldClear.d.ts +11 -0
  145. package/{utils/fieldClear.ts → dist/utils/fieldClear.js} +15 -33
  146. package/dist/utils/genShortId.d.ts +10 -0
  147. package/{utils/genShortId.ts → dist/utils/genShortId.js} +1 -1
  148. package/dist/utils/getClientIp.d.ts +6 -0
  149. package/{utils/getClientIp.ts → dist/utils/getClientIp.js} +1 -7
  150. package/dist/utils/importDefault.d.ts +1 -0
  151. package/dist/utils/importDefault.js +29 -0
  152. package/dist/utils/isDirentDirectory.d.ts +2 -0
  153. package/{utils/isDirentDirectory.ts → dist/utils/isDirentDirectory.js} +3 -8
  154. package/dist/utils/keysToCamel.d.ts +10 -0
  155. package/{utils/keysToCamel.ts → dist/utils/keysToCamel.js} +4 -5
  156. package/dist/utils/keysToSnake.d.ts +10 -0
  157. package/{utils/keysToSnake.ts → dist/utils/keysToSnake.js} +4 -5
  158. package/dist/utils/loadMenuConfigs.d.ts +5 -0
  159. package/{utils/loadMenuConfigs.ts → dist/utils/loadMenuConfigs.js} +24 -51
  160. package/dist/utils/pickFields.d.ts +4 -0
  161. package/{utils/pickFields.ts → dist/utils/pickFields.js} +2 -5
  162. package/dist/utils/process.d.ts +24 -0
  163. package/{utils/process.ts → dist/utils/process.js} +2 -18
  164. package/dist/utils/processFields.d.ts +4 -0
  165. package/{utils/processFields.ts → dist/utils/processFields.js} +5 -9
  166. package/dist/utils/regex.d.ts +145 -0
  167. package/{configs/presetRegexp.ts → dist/utils/regex.js} +8 -31
  168. package/dist/utils/response.d.ts +20 -0
  169. package/{utils/response.ts → dist/utils/response.js} +28 -49
  170. package/dist/utils/scanAddons.d.ts +17 -0
  171. package/{utils/scanAddons.ts → dist/utils/scanAddons.js} +6 -40
  172. package/dist/utils/scanConfig.d.ts +26 -0
  173. package/{utils/scanConfig.ts → dist/utils/scanConfig.js} +22 -59
  174. package/dist/utils/scanFiles.d.ts +30 -0
  175. package/{utils/scanFiles.ts → dist/utils/scanFiles.js} +26 -66
  176. package/dist/utils/scanSources.d.ts +10 -0
  177. package/dist/utils/scanSources.js +41 -0
  178. package/dist/utils/sortModules.d.ts +28 -0
  179. package/{utils/sortModules.ts → dist/utils/sortModules.js} +25 -65
  180. package/dist/utils/sqlLog.d.ts +14 -0
  181. package/{utils/sqlLog.ts → dist/utils/sqlLog.js} +2 -14
  182. package/package.json +14 -28
  183. package/.gitignore +0 -0
  184. package/bunfig.toml +0 -3
  185. package/docs/README.md +0 -98
  186. package/docs/api/api.md +0 -1921
  187. package/docs/guide/examples.md +0 -926
  188. package/docs/guide/quickstart.md +0 -354
  189. package/docs/hooks/auth.md +0 -38
  190. package/docs/hooks/cors.md +0 -28
  191. package/docs/hooks/hook.md +0 -838
  192. package/docs/hooks/parser.md +0 -19
  193. package/docs/hooks/rateLimit.md +0 -47
  194. package/docs/infra/redis.md +0 -628
  195. package/docs/plugins/cipher.md +0 -61
  196. package/docs/plugins/database.md +0 -189
  197. package/docs/plugins/plugin.md +0 -986
  198. package/docs/reference/addon.md +0 -510
  199. package/docs/reference/config.md +0 -573
  200. package/docs/reference/logger.md +0 -495
  201. package/docs/reference/sync.md +0 -478
  202. package/docs/reference/table.md +0 -763
  203. package/docs/reference/validator.md +0 -620
  204. package/lib/asyncContext.ts +0 -43
  205. package/plugins/config.ts +0 -13
  206. package/plugins/jwt.ts +0 -15
  207. package/router/api.ts +0 -130
  208. package/tsconfig.json +0 -8
  209. package/types/database.d.ts +0 -541
  210. package/types/hook.d.ts +0 -25
  211. package/types/jwt.d.ts +0 -118
  212. package/types/logger.d.ts +0 -65
  213. package/types/plugin.d.ts +0 -19
  214. package/types/redis.d.ts +0 -83
  215. package/types/sync.d.ts +0 -398
  216. package/types/table.d.ts +0 -216
  217. package/types/validate.d.ts +0 -69
  218. package/utils/configTypes.ts +0 -3
  219. package/utils/importDefault.ts +0 -21
  220. package/utils/scanSources.ts +0 -64
@@ -0,0 +1,160 @@
1
+ /**
2
+ * SQL 构造器 - TypeScript 版本
3
+ * 提供链式 API 构建 SQL 查询
4
+ */
5
+ import type { WhereConditions, SqlQuery, InsertData, UpdateData, SqlValue } from "../types/common.ts";
6
+ /**
7
+ * SQL 构建器类
8
+ */
9
+ export declare class SqlBuilder {
10
+ private _select;
11
+ private _from;
12
+ private _where;
13
+ private _joins;
14
+ private _orderBy;
15
+ private _groupBy;
16
+ private _having;
17
+ private _limit;
18
+ private _offset;
19
+ private _params;
20
+ private _quoteIdent;
21
+ constructor(options?: {
22
+ quoteIdent?: (identifier: string) => string;
23
+ });
24
+ private _isQuotedIdent;
25
+ private _startsWithQuote;
26
+ /**
27
+ * 重置构建器状态
28
+ */
29
+ reset(): this;
30
+ /**
31
+ * 转义字段名
32
+ */
33
+ private _escapeField;
34
+ private _validateIdentifierPart;
35
+ /**
36
+ * 转义表名
37
+ */
38
+ private _escapeTable;
39
+ /**
40
+ * 验证参数
41
+ */
42
+ private _validateParam;
43
+ /**
44
+ * 处理单个操作符条件
45
+ */
46
+ private _applyOperator;
47
+ /**
48
+ * 处理复杂的 WHERE 条件对象
49
+ */
50
+ private _processWhereConditions;
51
+ /**
52
+ * 获取 WHERE 条件(供 DbHelper 使用)
53
+ */
54
+ getWhereConditions(): {
55
+ sql: string;
56
+ params: SqlValue[];
57
+ };
58
+ /**
59
+ * SELECT 字段
60
+ */
61
+ select(fields?: string | string[]): this;
62
+ /**
63
+ * SELECT 原始表达式(不做转义)
64
+ */
65
+ selectRaw(expr: string): this;
66
+ /**
67
+ * FROM 表名
68
+ */
69
+ from(table: string): this;
70
+ /**
71
+ * FROM 原始表达式(不做转义)
72
+ */
73
+ fromRaw(tableExpr: string): this;
74
+ /**
75
+ * WHERE 条件
76
+ */
77
+ where(condition: WhereConditions): this;
78
+ where(field: string, value: SqlValue): this;
79
+ /**
80
+ * WHERE 原始片段(不做转义),可附带参数。
81
+ */
82
+ whereRaw(sql: string, params?: SqlValue[]): this;
83
+ /**
84
+ * LEFT JOIN
85
+ */
86
+ leftJoin(table: string, on: string): this;
87
+ /**
88
+ * RIGHT JOIN
89
+ */
90
+ rightJoin(table: string, on: string): this;
91
+ /**
92
+ * INNER JOIN
93
+ */
94
+ innerJoin(table: string, on: string): this;
95
+ /**
96
+ * ORDER BY
97
+ * @param fields - 格式为 ["field#ASC", "field2#DESC"]
98
+ */
99
+ orderBy(fields: string[]): this;
100
+ /**
101
+ * GROUP BY
102
+ */
103
+ groupBy(field: string | string[]): this;
104
+ /**
105
+ * HAVING
106
+ */
107
+ having(condition: string): this;
108
+ /**
109
+ * LIMIT
110
+ */
111
+ limit(count: number, offset?: number): this;
112
+ /**
113
+ * OFFSET
114
+ */
115
+ offset(count: number): this;
116
+ /**
117
+ * 构建 SELECT 查询
118
+ */
119
+ toSelectSql(): SqlQuery;
120
+ /**
121
+ * 构建 INSERT 查询
122
+ */
123
+ toInsertSql(table: string, data: InsertData): SqlQuery;
124
+ /**
125
+ * 构建 UPDATE 查询
126
+ */
127
+ toUpdateSql(table: string, data: UpdateData): SqlQuery;
128
+ /**
129
+ * 构建 DELETE 查询
130
+ */
131
+ toDeleteSql(table: string): SqlQuery;
132
+ /**
133
+ * 构建 COUNT 查询
134
+ */
135
+ toCountSql(): SqlQuery;
136
+ static toDeleteInSql(options: {
137
+ table: string;
138
+ idField: string;
139
+ ids: SqlValue[];
140
+ quoteIdent: (identifier: string) => string;
141
+ }): SqlQuery;
142
+ static toUpdateCaseByIdSql(options: {
143
+ table: string;
144
+ idField: string;
145
+ rows: Array<{
146
+ id: SqlValue;
147
+ data: Record<string, SqlValue>;
148
+ }>;
149
+ fields: string[];
150
+ quoteIdent: (identifier: string) => string;
151
+ updatedAtField: string;
152
+ updatedAtValue: SqlValue;
153
+ stateField?: string;
154
+ stateGtZero?: boolean;
155
+ }): SqlQuery;
156
+ }
157
+ /**
158
+ * 创建新的 SQL 构建器实例
159
+ */
160
+ export declare function createQueryBuilder(): SqlBuilder;