wok-server 0.5.0 → 0.6.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.
Files changed (372) hide show
  1. package/README.en.md +61 -0
  2. package/README.md +44 -29
  3. package/dist/cache/cache.js +98 -98
  4. package/dist/cache/config.js +19 -19
  5. package/dist/cache/index.js +27 -27
  6. package/dist/cache/purge-task.js +46 -46
  7. package/dist/cache/stat.js +47 -47
  8. package/dist/config/convert.js +36 -36
  9. package/dist/config/exception.js +14 -14
  10. package/dist/config/index.js +81 -81
  11. package/dist/http-client/index.js +136 -136
  12. package/dist/i18n/ar.js +17 -17
  13. package/dist/i18n/de.js +17 -17
  14. package/dist/i18n/en-us.js +17 -17
  15. package/dist/i18n/es.js +17 -17
  16. package/dist/i18n/fr.js +17 -17
  17. package/dist/i18n/i18n.js +231 -231
  18. package/dist/i18n/index.js +52 -52
  19. package/dist/i18n/ja.js +17 -17
  20. package/dist/i18n/ko.js +17 -17
  21. package/dist/i18n/msg.js +2 -2
  22. package/dist/i18n/pt.js +17 -17
  23. package/dist/i18n/ru.js +17 -17
  24. package/dist/i18n/tag.js +18 -18
  25. package/dist/i18n/zh-HK.js +17 -17
  26. package/dist/i18n/zh-TW.js +17 -17
  27. package/dist/i18n/zh-cn.js +17 -17
  28. package/dist/index.js +14 -14
  29. package/dist/lock/index.js +114 -114
  30. package/dist/log/config.js +35 -35
  31. package/dist/log/date.js +21 -21
  32. package/dist/log/file.js +198 -198
  33. package/dist/log/index.js +135 -135
  34. package/dist/log/level.js +33 -33
  35. package/dist/log/log.js +56 -56
  36. package/dist/log/store.js +19 -19
  37. package/dist/mongodb/collection.js +2 -2
  38. package/dist/mongodb/config.js +34 -34
  39. package/dist/mongodb/doc.js +2 -2
  40. package/dist/mongodb/exception.js +14 -14
  41. package/dist/mongodb/index.js +58 -58
  42. package/dist/mongodb/manager/base.js +563 -563
  43. package/dist/mongodb/manager/index.js +63 -63
  44. package/dist/mongodb/manager/tx-strict.js +84 -84
  45. package/dist/mongodb/manager/tx.js +30 -30
  46. package/dist/mongodb/migration.js +52 -52
  47. package/dist/mvc/access-log.js +33 -33
  48. package/dist/mvc/config.js +27 -27
  49. package/dist/mvc/exchange.js +113 -113
  50. package/dist/mvc/handler/index.js +7 -6
  51. package/dist/mvc/handler/json.js +65 -65
  52. package/dist/mvc/handler/restful.js +35 -35
  53. package/dist/mvc/handler/sse.js +65 -0
  54. package/dist/mvc/handler/upload.js +31 -31
  55. package/dist/mvc/index.js +50 -50
  56. package/dist/mvc/interceptor.js +2 -2
  57. package/dist/mvc/query.js +43 -43
  58. package/dist/mvc/render/file.js +132 -132
  59. package/dist/mvc/render/html/html.js +90 -90
  60. package/dist/mvc/render/html/index.js +18 -18
  61. package/dist/mvc/render/html/style.js +2 -2
  62. package/dist/mvc/render/index.js +7 -7
  63. package/dist/mvc/render/json.js +26 -26
  64. package/dist/mvc/render/text.js +16 -16
  65. package/dist/mvc/router.js +2 -2
  66. package/dist/mvc/server.js +272 -272
  67. package/dist/mvc/static/header.js +67 -67
  68. package/dist/mvc/static/index.js +6 -6
  69. package/dist/mvc/static/mime-type.js +84 -84
  70. package/dist/mvc/static/server-cache-config.js +66 -66
  71. package/dist/mvc/static/server-cache.js +133 -133
  72. package/dist/mvc/static/static-handler.js +372 -372
  73. package/dist/mysql/config.js +51 -51
  74. package/dist/mysql/exception.js +14 -14
  75. package/dist/mysql/index.js +87 -87
  76. package/dist/mysql/manager/base.js +239 -239
  77. package/dist/mysql/manager/index.js +107 -107
  78. package/dist/mysql/manager/ops/count.js +20 -20
  79. package/dist/mysql/manager/ops/criteria.js +356 -356
  80. package/dist/mysql/manager/ops/delete.js +65 -65
  81. package/dist/mysql/manager/ops/exist.js +26 -26
  82. package/dist/mysql/manager/ops/find.js +169 -169
  83. package/dist/mysql/manager/ops/index.js +14 -14
  84. package/dist/mysql/manager/ops/insert.js +106 -106
  85. package/dist/mysql/manager/ops/modify.js +10 -10
  86. package/dist/mysql/manager/ops/paginate.js +23 -23
  87. package/dist/mysql/manager/ops/query.js +9 -9
  88. package/dist/mysql/manager/ops/update.js +216 -216
  89. package/dist/mysql/manager/ops/utils.js +24 -24
  90. package/dist/mysql/manager/tx-strict.js +103 -103
  91. package/dist/mysql/manager/tx.js +30 -30
  92. package/dist/mysql/manager/utils.js +56 -56
  93. package/dist/mysql/migration.js +136 -136
  94. package/dist/mysql/table-info.js +8 -8
  95. package/dist/task/daily.js +59 -59
  96. package/dist/task/fixed-delay.js +38 -38
  97. package/dist/task/fixed-rate.js +42 -42
  98. package/dist/task/index.js +9 -9
  99. package/dist/task/task.js +56 -56
  100. package/dist/validation/exception.js +36 -36
  101. package/dist/validation/index.js +40 -40
  102. package/dist/validation/validator/array.js +34 -34
  103. package/dist/validation/validator/enum.js +28 -28
  104. package/dist/validation/validator/index.js +14 -14
  105. package/dist/validation/validator/length.js +40 -40
  106. package/dist/validation/validator/max-length.js +35 -35
  107. package/dist/validation/validator/max.js +29 -29
  108. package/dist/validation/validator/min-length.js +33 -33
  109. package/dist/validation/validator/min.js +29 -29
  110. package/dist/validation/validator/not-blank.js +33 -33
  111. package/dist/validation/validator/not-null.js +21 -21
  112. package/dist/validation/validator/plain-obj.js +32 -32
  113. package/dist/validation/validator/regexp.js +34 -34
  114. package/documentation/en/cache.md +56 -0
  115. package/documentation/en/config.md +96 -0
  116. package/documentation/en/engineering.md +256 -0
  117. package/documentation/en/http-client.md +32 -0
  118. package/documentation/en/i18n.md +143 -0
  119. package/documentation/en/index.md +24 -0
  120. package/documentation/en/lock.md +51 -0
  121. package/documentation/en/log.md +109 -0
  122. package/documentation/en/mongodb.md +256 -0
  123. package/documentation/en/mvc.md +688 -0
  124. package/documentation/en/mysql.md +552 -0
  125. package/documentation/en/task.md +45 -0
  126. package/documentation/en/test.md +56 -0
  127. package/documentation/en/validate.md +130 -0
  128. package/documentation/zh-cn/mvc.md +66 -24
  129. package/package.json +3 -1
  130. package/skills/wok-server-api-rules/SKILL.md +350 -0
  131. package/skills/wok-server-cache/SKILL.md +216 -0
  132. package/skills/wok-server-config/SKILL.md +200 -0
  133. package/skills/wok-server-getting-started/SKILL.md +123 -0
  134. package/skills/wok-server-getting-started/references/engineering.md +169 -0
  135. package/skills/wok-server-http-client/SKILL.md +164 -0
  136. package/skills/wok-server-i18n/SKILL.md +214 -0
  137. package/skills/wok-server-lock/SKILL.md +144 -0
  138. package/skills/wok-server-log/SKILL.md +218 -0
  139. package/skills/wok-server-mongodb/SKILL.md +235 -0
  140. package/skills/wok-server-mvc/SKILL.md +251 -0
  141. package/skills/wok-server-mvc/references/respond-html.md +157 -0
  142. package/skills/wok-server-mvc/references/sse.md +121 -0
  143. package/skills/wok-server-mvc/references/static-files.md +47 -0
  144. package/skills/wok-server-mvc/references/upload.md +62 -0
  145. package/skills/wok-server-mvc/references/websocket.md +30 -0
  146. package/skills/wok-server-mysql/SKILL.md +315 -0
  147. package/skills/wok-server-mysql/references/multi-datasource.md +76 -0
  148. package/skills/wok-server-mysql/references/version-control.md +22 -0
  149. package/skills/wok-server-task/SKILL.md +158 -0
  150. package/skills/wok-server-validate/SKILL.md +167 -0
  151. package/src/cache/cache.ts +118 -0
  152. package/src/cache/config.ts +53 -0
  153. package/src/cache/index.ts +27 -0
  154. package/src/cache/purge-task.ts +53 -0
  155. package/src/cache/stat.ts +47 -0
  156. package/src/config/convert.ts +27 -0
  157. package/src/config/exception.ts +8 -0
  158. package/src/config/index.ts +92 -0
  159. package/src/http-client/index.ts +202 -0
  160. package/src/i18n/ar.ts +16 -0
  161. package/src/i18n/de.ts +16 -0
  162. package/src/i18n/en-us.ts +16 -0
  163. package/src/i18n/es.ts +16 -0
  164. package/src/i18n/fr.ts +16 -0
  165. package/src/i18n/i18n.ts +230 -0
  166. package/src/i18n/index.ts +50 -0
  167. package/src/i18n/ja.ts +16 -0
  168. package/src/i18n/ko.ts +16 -0
  169. package/src/i18n/msg.ts +50 -0
  170. package/src/i18n/pt.ts +16 -0
  171. package/src/i18n/ru.ts +16 -0
  172. package/src/i18n/tag.ts +18 -0
  173. package/src/i18n/zh-HK.ts +16 -0
  174. package/src/i18n/zh-TW.ts +16 -0
  175. package/src/i18n/zh-cn.ts +16 -0
  176. package/src/index.ts +11 -0
  177. package/src/lock/index.ts +164 -0
  178. package/src/log/config.ts +71 -0
  179. package/src/log/date.ts +19 -0
  180. package/src/log/file.ts +215 -0
  181. package/src/log/index.ts +136 -0
  182. package/src/log/level.ts +29 -0
  183. package/src/log/log.ts +77 -0
  184. package/src/log/store.ts +31 -0
  185. package/src/mongodb/collection.ts +25 -0
  186. package/src/mongodb/config.ts +69 -0
  187. package/src/mongodb/doc.ts +12 -0
  188. package/src/mongodb/exception.ts +8 -0
  189. package/src/mongodb/index.ts +71 -0
  190. package/src/mongodb/manager/base.ts +674 -0
  191. package/src/mongodb/manager/index.ts +80 -0
  192. package/src/mongodb/manager/tx-strict.ts +153 -0
  193. package/src/mongodb/manager/tx.ts +34 -0
  194. package/src/mongodb/migration.ts +66 -0
  195. package/src/mvc/access-log.ts +33 -0
  196. package/src/mvc/config.ts +70 -0
  197. package/src/mvc/exchange.ts +126 -0
  198. package/src/mvc/handler/index.ts +4 -0
  199. package/src/mvc/handler/json.ts +96 -0
  200. package/src/mvc/handler/restful.ts +39 -0
  201. package/src/mvc/handler/sse.ts +90 -0
  202. package/src/mvc/handler/upload.ts +54 -0
  203. package/src/mvc/index.ts +48 -0
  204. package/src/mvc/interceptor.ts +12 -0
  205. package/src/mvc/query.ts +36 -0
  206. package/src/mvc/render/file.ts +148 -0
  207. package/src/mvc/render/html/html.ts +187 -0
  208. package/src/mvc/render/html/index.ts +16 -0
  209. package/src/mvc/render/html/style.ts +1201 -0
  210. package/src/mvc/render/index.ts +4 -0
  211. package/src/mvc/render/json.ts +24 -0
  212. package/src/mvc/render/text.ts +14 -0
  213. package/src/mvc/router.ts +13 -0
  214. package/src/mvc/server.ts +315 -0
  215. package/src/mvc/static/header.ts +86 -0
  216. package/src/mvc/static/index.ts +3 -0
  217. package/src/mvc/static/mime-type.ts +81 -0
  218. package/src/mvc/static/server-cache-config.ts +92 -0
  219. package/src/mvc/static/server-cache.ts +171 -0
  220. package/src/mvc/static/static-handler.ts +445 -0
  221. package/src/mysql/config.ts +130 -0
  222. package/src/mysql/exception.ts +8 -0
  223. package/src/mysql/index.ts +88 -0
  224. package/src/mysql/manager/base.ts +285 -0
  225. package/src/mysql/manager/index.ts +112 -0
  226. package/src/mysql/manager/ops/count.ts +30 -0
  227. package/src/mysql/manager/ops/criteria.ts +412 -0
  228. package/src/mysql/manager/ops/delete.ts +96 -0
  229. package/src/mysql/manager/ops/exist.ts +41 -0
  230. package/src/mysql/manager/ops/find.ts +226 -0
  231. package/src/mysql/manager/ops/index.ts +11 -0
  232. package/src/mysql/manager/ops/insert.ts +120 -0
  233. package/src/mysql/manager/ops/modify.ts +14 -0
  234. package/src/mysql/manager/ops/paginate.ts +60 -0
  235. package/src/mysql/manager/ops/query.ts +13 -0
  236. package/src/mysql/manager/ops/update.ts +294 -0
  237. package/src/mysql/manager/ops/utils.ts +20 -0
  238. package/src/mysql/manager/tx-strict.ts +138 -0
  239. package/src/mysql/manager/tx.ts +31 -0
  240. package/src/mysql/manager/utils.ts +75 -0
  241. package/src/mysql/migration.ts +149 -0
  242. package/src/mysql/table-info.ts +41 -0
  243. package/src/task/daily.ts +70 -0
  244. package/src/task/fixed-delay.ts +45 -0
  245. package/src/task/fixed-rate.ts +49 -0
  246. package/src/task/index.ts +4 -0
  247. package/src/task/task.ts +70 -0
  248. package/src/validation/exception.ts +27 -0
  249. package/src/validation/index.ts +61 -0
  250. package/src/validation/validator/array.ts +32 -0
  251. package/src/validation/validator/enum.ts +25 -0
  252. package/src/validation/validator/index.ts +11 -0
  253. package/src/validation/validator/length.ts +42 -0
  254. package/src/validation/validator/max-length.ts +33 -0
  255. package/src/validation/validator/max.ts +26 -0
  256. package/src/validation/validator/min-length.ts +31 -0
  257. package/src/validation/validator/min.ts +26 -0
  258. package/src/validation/validator/not-blank.ts +31 -0
  259. package/src/validation/validator/not-null.ts +19 -0
  260. package/src/validation/validator/plain-obj.ts +30 -0
  261. package/src/validation/validator/regexp.ts +32 -0
  262. package/types/cache/cache.d.ts +52 -52
  263. package/types/cache/config.d.ts +32 -32
  264. package/types/cache/index.d.ts +2 -2
  265. package/types/cache/purge-task.d.ts +11 -11
  266. package/types/cache/stat.d.ts +26 -26
  267. package/types/config/convert.d.ts +6 -6
  268. package/types/config/exception.d.ts +7 -7
  269. package/types/config/index.d.ts +25 -25
  270. package/types/http-client/index.d.ts +71 -71
  271. package/types/i18n/ar.d.ts +2 -2
  272. package/types/i18n/de.d.ts +2 -2
  273. package/types/i18n/en-us.d.ts +2 -2
  274. package/types/i18n/es.d.ts +2 -2
  275. package/types/i18n/fr.d.ts +2 -2
  276. package/types/i18n/i18n.d.ts +102 -102
  277. package/types/i18n/index.d.ts +9 -9
  278. package/types/i18n/ja.d.ts +2 -2
  279. package/types/i18n/ko.d.ts +2 -2
  280. package/types/i18n/msg.d.ts +50 -50
  281. package/types/i18n/pt.d.ts +2 -2
  282. package/types/i18n/ru.d.ts +2 -2
  283. package/types/i18n/tag.d.ts +11 -11
  284. package/types/i18n/zh-HK.d.ts +2 -2
  285. package/types/i18n/zh-TW.d.ts +2 -2
  286. package/types/i18n/zh-cn.d.ts +2 -2
  287. package/types/index.d.ts +11 -11
  288. package/types/lock/index.d.ts +64 -64
  289. package/types/log/config.d.ts +35 -35
  290. package/types/log/date.d.ts +2 -2
  291. package/types/log/file.d.ts +13 -13
  292. package/types/log/index.d.ts +53 -53
  293. package/types/log/level.d.ts +14 -14
  294. package/types/log/log.d.ts +40 -40
  295. package/types/log/store.d.ts +19 -19
  296. package/types/mongodb/collection.d.ts +25 -25
  297. package/types/mongodb/config.d.ts +45 -45
  298. package/types/mongodb/doc.d.ts +11 -11
  299. package/types/mongodb/exception.d.ts +7 -7
  300. package/types/mongodb/index.d.ts +29 -29
  301. package/types/mongodb/manager/base.d.ts +188 -188
  302. package/types/mongodb/manager/index.d.ts +38 -38
  303. package/types/mongodb/manager/tx-strict.d.ts +41 -41
  304. package/types/mongodb/manager/tx.d.ts +21 -21
  305. package/types/mongodb/migration.d.ts +12 -12
  306. package/types/mvc/access-log.d.ts +7 -7
  307. package/types/mvc/config.d.ts +42 -42
  308. package/types/mvc/exchange.d.ts +72 -72
  309. package/types/mvc/handler/index.d.ts +4 -3
  310. package/types/mvc/handler/json.d.ts +44 -44
  311. package/types/mvc/handler/restful.d.ts +11 -11
  312. package/types/mvc/handler/sse.d.ts +34 -0
  313. package/types/mvc/handler/upload.d.ts +36 -36
  314. package/types/mvc/index.d.ts +22 -22
  315. package/types/mvc/interceptor.d.ts +11 -11
  316. package/types/mvc/query.d.ts +13 -13
  317. package/types/mvc/render/file.d.ts +10 -10
  318. package/types/mvc/render/html/html.d.ts +98 -98
  319. package/types/mvc/render/html/index.d.ts +11 -11
  320. package/types/mvc/render/html/style.d.ts +1201 -1201
  321. package/types/mvc/render/index.d.ts +4 -4
  322. package/types/mvc/render/json.d.ts +17 -17
  323. package/types/mvc/render/text.d.ts +10 -10
  324. package/types/mvc/router.d.ts +11 -11
  325. package/types/mvc/server.d.ts +90 -90
  326. package/types/mvc/static/header.d.ts +27 -27
  327. package/types/mvc/static/index.d.ts +3 -3
  328. package/types/mvc/static/mime-type.d.ts +2 -2
  329. package/types/mvc/static/server-cache-config.d.ts +30 -30
  330. package/types/mvc/static/server-cache.d.ts +76 -76
  331. package/types/mvc/static/static-handler.d.ts +77 -77
  332. package/types/mysql/config.d.ts +90 -90
  333. package/types/mysql/exception.d.ts +7 -7
  334. package/types/mysql/index.d.ts +16 -16
  335. package/types/mysql/manager/base.d.ts +165 -165
  336. package/types/mysql/manager/index.d.ts +36 -36
  337. package/types/mysql/manager/ops/count.d.ts +13 -13
  338. package/types/mysql/manager/ops/criteria.d.ts +134 -134
  339. package/types/mysql/manager/ops/delete.d.ts +46 -46
  340. package/types/mysql/manager/ops/exist.d.ts +6 -6
  341. package/types/mysql/manager/ops/find.d.ts +86 -86
  342. package/types/mysql/manager/ops/index.d.ts +10 -10
  343. package/types/mysql/manager/ops/insert.d.ts +18 -18
  344. package/types/mysql/manager/ops/modify.d.ts +3 -3
  345. package/types/mysql/manager/ops/paginate.d.ts +36 -36
  346. package/types/mysql/manager/ops/query.d.ts +3 -3
  347. package/types/mysql/manager/ops/update.d.ts +76 -76
  348. package/types/mysql/manager/ops/utils.d.ts +5 -5
  349. package/types/mysql/manager/tx-strict.d.ts +36 -36
  350. package/types/mysql/manager/tx.d.ts +15 -15
  351. package/types/mysql/manager/utils.d.ts +17 -17
  352. package/types/mysql/migration.d.ts +8 -8
  353. package/types/mysql/table-info.d.ts +36 -36
  354. package/types/task/daily.d.ts +16 -16
  355. package/types/task/fixed-delay.d.ts +9 -9
  356. package/types/task/fixed-rate.d.ts +9 -9
  357. package/types/task/index.d.ts +4 -4
  358. package/types/task/task.d.ts +34 -34
  359. package/types/validation/exception.d.ts +38 -38
  360. package/types/validation/index.d.ts +32 -32
  361. package/types/validation/validator/array.d.ts +5 -5
  362. package/types/validation/validator/enum.d.ts +8 -8
  363. package/types/validation/validator/index.d.ts +11 -11
  364. package/types/validation/validator/length.d.ts +10 -10
  365. package/types/validation/validator/max-length.d.ts +8 -8
  366. package/types/validation/validator/max.d.ts +7 -7
  367. package/types/validation/validator/min-length.d.ts +6 -6
  368. package/types/validation/validator/min.d.ts +7 -7
  369. package/types/validation/validator/not-blank.d.ts +7 -7
  370. package/types/validation/validator/not-null.d.ts +6 -6
  371. package/types/validation/validator/plain-obj.d.ts +7 -7
  372. package/types/validation/validator/regexp.d.ts +8 -8
@@ -1,134 +1,134 @@
1
- export interface MysqlQuery {
2
- sql: string;
3
- values: any[];
4
- }
5
- /**
6
- * mysql 查询条件中的键,左侧表达式,可以是提取信息的表达式,也可以直接是列名
7
- *
8
- * keyof T 列名,直接用列的值来比较
9
- * ['json_extract', keyof T, string] 使用 json_extract 函数提取 json 信息,第二个参数是列名,最后一个参数是表达式(如:'$.name')
10
- * ['json_length',keyof T] 使用 json_length 函数提取 json 数组的元素数量
11
- */
12
- export type MysqlCriteriaKey<T> = keyof T | ['json_extract', keyof T, string] | ['json_length', keyof T];
13
- /**
14
- * mysql 查询条件( query criterion ),默认查询条件都是并且关系(and), 部分方法会有例外,在使用的时候请注意方法说明。
15
- *
16
- * @param <T> 表类型
17
- */
18
- export declare class MysqlCriteria<T> {
19
- /**
20
- * 条件列表.
21
- */
22
- private criteria;
23
- /**
24
- * 相等.
25
- * @param column
26
- * @param value
27
- */
28
- eq(column: MysqlCriteriaKey<T>, value: any): this;
29
- /**
30
- * 不等于,注意不相等不能走索引,谨慎使用
31
- * @param column
32
- * @param value
33
- */
34
- neq(column: MysqlCriteriaKey<T>, value: any): this;
35
- /**
36
- * like
37
- * @param column
38
- * @param value
39
- * @returns
40
- */
41
- like(column: MysqlCriteriaKey<T>, value: string): this;
42
- /**
43
- * not like
44
- * @param column
45
- * @param value
46
- * @returns
47
- */
48
- notLike(column: MysqlCriteriaKey<T>, value: string): this;
49
- /**
50
- * BETWEEN x and y
51
- */
52
- between(column: MysqlCriteriaKey<T>, min: number, max: number): this;
53
- /**
54
- * 大于
55
- * @param column
56
- * @param value
57
- */
58
- gt(column: MysqlCriteriaKey<T>, value: number | Date | string): this;
59
- /**
60
- * 大于等于
61
- * @param column
62
- * @param value
63
- */
64
- gte(column: MysqlCriteriaKey<T>, value: number | Date | string): this;
65
- /**
66
- * 小于
67
- * @param column
68
- * @param value
69
- */
70
- lt(column: MysqlCriteriaKey<T>, value: number | Date | string): this;
71
- /**
72
- * 小于等于
73
- * @param column
74
- * @param value
75
- */
76
- lte(column: MysqlCriteriaKey<T>, value: number | Date | string): this;
77
- /**
78
- * in 条件
79
- * @param column
80
- * @param values
81
- */
82
- in(column: MysqlCriteriaKey<T>, values: Array<string | number>): this;
83
- /**
84
- * not in 条件
85
- * @param column
86
- * @param values
87
- */
88
- notIn(column: MysqlCriteriaKey<T>, values: Array<string | number>): this;
89
- /**
90
- * 嵌入其它的查询条件,与现有的查询条件是或者关系.
91
- * @param criteria
92
- */
93
- or(orCriteria: (criteria: MysqlCriteria<T>) => void): this;
94
- /**
95
- * 嵌入其它的查询条件,与现有的查询条件是并且关系.
96
- * @param criteria
97
- */
98
- and(andCriteria: (criteria: MysqlCriteria<T>) => void): this;
99
- /**
100
- * 字段为空
101
- * @param field
102
- * @returns
103
- */
104
- isNull(field: MysqlCriteriaKey<T>): this;
105
- /**
106
- * 字段非空
107
- * @param field
108
- * @returns
109
- */
110
- isNotNull(field: MysqlCriteriaKey<T>): this;
111
- /**
112
- * 判定是否空,未设置条件.
113
- * @returns
114
- */
115
- isEmpty(): boolean;
116
- /**
117
- * 检查条件信息是否有效,在出错时能给予较详细的提示,以方便排查.
118
- */
119
- check(): void;
120
- /**
121
- * 生成查询数据
122
- */
123
- generateQuery(): MysqlQuery;
124
- }
125
- /**
126
- * 混合的查询对象.
127
- */
128
- export type MixCriteria<T> = Partial<T> | ((criteria: MysqlCriteria<T>) => void) | MysqlCriteria<T>;
129
- /**
130
- * 将混合的查询条件转换成查询语句,如果最终构建的条件是空的,返回 undefined
131
- * @param criteria
132
- * @returns
133
- */
134
- export declare function buildQuery<T>(criteria: MixCriteria<T>): MysqlQuery | undefined;
1
+ export interface MysqlQuery {
2
+ sql: string;
3
+ values: any[];
4
+ }
5
+ /**
6
+ * mysql 查询条件中的键,左侧表达式,可以是提取信息的表达式,也可以直接是列名
7
+ *
8
+ * keyof T 列名,直接用列的值来比较
9
+ * ['json_extract', keyof T, string] 使用 json_extract 函数提取 json 信息,第二个参数是列名,最后一个参数是表达式(如:'$.name')
10
+ * ['json_length',keyof T] 使用 json_length 函数提取 json 数组的元素数量
11
+ */
12
+ export type MysqlCriteriaKey<T> = keyof T | ['json_extract', keyof T, string] | ['json_length', keyof T];
13
+ /**
14
+ * mysql 查询条件( query criterion ),默认查询条件都是并且关系(and), 部分方法会有例外,在使用的时候请注意方法说明。
15
+ *
16
+ * @param <T> 表类型
17
+ */
18
+ export declare class MysqlCriteria<T> {
19
+ /**
20
+ * 条件列表.
21
+ */
22
+ private criteria;
23
+ /**
24
+ * 相等.
25
+ * @param column
26
+ * @param value
27
+ */
28
+ eq(column: MysqlCriteriaKey<T>, value: any): this;
29
+ /**
30
+ * 不等于,注意不相等不能走索引,谨慎使用
31
+ * @param column
32
+ * @param value
33
+ */
34
+ neq(column: MysqlCriteriaKey<T>, value: any): this;
35
+ /**
36
+ * like
37
+ * @param column
38
+ * @param value
39
+ * @returns
40
+ */
41
+ like(column: MysqlCriteriaKey<T>, value: string): this;
42
+ /**
43
+ * not like
44
+ * @param column
45
+ * @param value
46
+ * @returns
47
+ */
48
+ notLike(column: MysqlCriteriaKey<T>, value: string): this;
49
+ /**
50
+ * BETWEEN x and y
51
+ */
52
+ between(column: MysqlCriteriaKey<T>, min: number, max: number): this;
53
+ /**
54
+ * 大于
55
+ * @param column
56
+ * @param value
57
+ */
58
+ gt(column: MysqlCriteriaKey<T>, value: number | Date | string): this;
59
+ /**
60
+ * 大于等于
61
+ * @param column
62
+ * @param value
63
+ */
64
+ gte(column: MysqlCriteriaKey<T>, value: number | Date | string): this;
65
+ /**
66
+ * 小于
67
+ * @param column
68
+ * @param value
69
+ */
70
+ lt(column: MysqlCriteriaKey<T>, value: number | Date | string): this;
71
+ /**
72
+ * 小于等于
73
+ * @param column
74
+ * @param value
75
+ */
76
+ lte(column: MysqlCriteriaKey<T>, value: number | Date | string): this;
77
+ /**
78
+ * in 条件
79
+ * @param column
80
+ * @param values
81
+ */
82
+ in(column: MysqlCriteriaKey<T>, values: Array<string | number>): this;
83
+ /**
84
+ * not in 条件
85
+ * @param column
86
+ * @param values
87
+ */
88
+ notIn(column: MysqlCriteriaKey<T>, values: Array<string | number>): this;
89
+ /**
90
+ * 嵌入其它的查询条件,与现有的查询条件是或者关系.
91
+ * @param criteria
92
+ */
93
+ or(orCriteria: (criteria: MysqlCriteria<T>) => void): this;
94
+ /**
95
+ * 嵌入其它的查询条件,与现有的查询条件是并且关系.
96
+ * @param criteria
97
+ */
98
+ and(andCriteria: (criteria: MysqlCriteria<T>) => void): this;
99
+ /**
100
+ * 字段为空
101
+ * @param field
102
+ * @returns
103
+ */
104
+ isNull(field: MysqlCriteriaKey<T>): this;
105
+ /**
106
+ * 字段非空
107
+ * @param field
108
+ * @returns
109
+ */
110
+ isNotNull(field: MysqlCriteriaKey<T>): this;
111
+ /**
112
+ * 判定是否空,未设置条件.
113
+ * @returns
114
+ */
115
+ isEmpty(): boolean;
116
+ /**
117
+ * 检查条件信息是否有效,在出错时能给予较详细的提示,以方便排查.
118
+ */
119
+ check(): void;
120
+ /**
121
+ * 生成查询数据
122
+ */
123
+ generateQuery(): MysqlQuery;
124
+ }
125
+ /**
126
+ * 混合的查询对象.
127
+ */
128
+ export type MixCriteria<T> = Partial<T> | ((criteria: MysqlCriteria<T>) => void) | MysqlCriteria<T>;
129
+ /**
130
+ * 将混合的查询条件转换成查询语句,如果最终构建的条件是空的,返回 undefined
131
+ * @param criteria
132
+ * @returns
133
+ */
134
+ export declare function buildQuery<T>(criteria: MixCriteria<T>): MysqlQuery | undefined;
@@ -1,46 +1,46 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { Table } from '../../table-info';
3
- import { MixCriteria } from './criteria';
4
- import { MysqlConfig } from '../../config';
5
- /**
6
- * 按 id 删除.
7
- *
8
- * @param config
9
- * @param connection
10
- * @param mapping
11
- * @param type
12
- * @param id
13
- */
14
- export declare function deleteById<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, id: string | number): Promise<boolean>;
15
- /**
16
- * 批量删除的选项
17
- */
18
- export interface DeleteManyOpts<T> {
19
- /**
20
- * 表.
21
- */
22
- table: Table<T>;
23
- /**
24
- * 查询条件
25
- * @param criteria
26
- * @returns
27
- */
28
- criteria: MixCriteria<T>;
29
- /**
30
- * 限制数量
31
- */
32
- limit?: number;
33
- /**
34
- * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
35
- */
36
- orderBy?: Array<[keyof T, 'asc' | 'desc']>;
37
- }
38
- /**
39
- * 按条件删除,返回被删除的记录数.
40
- * 务必谨慎使用,大批量删除容易带来性能问题,造成线上事故.
41
- * @param config
42
- * @param connection
43
- * @param table
44
- * @param criteria
45
- */
46
- export declare function deleteMany<T>(config: MysqlConfig, connection: PoolConnection, opts: DeleteManyOpts<T>): Promise<number>;
1
+ import { PoolConnection } from 'mysql2';
2
+ import { Table } from '../../table-info';
3
+ import { MixCriteria } from './criteria';
4
+ import { MysqlConfig } from '../../config';
5
+ /**
6
+ * 按 id 删除.
7
+ *
8
+ * @param config
9
+ * @param connection
10
+ * @param mapping
11
+ * @param type
12
+ * @param id
13
+ */
14
+ export declare function deleteById<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, id: string | number): Promise<boolean>;
15
+ /**
16
+ * 批量删除的选项
17
+ */
18
+ export interface DeleteManyOpts<T> {
19
+ /**
20
+ * 表.
21
+ */
22
+ table: Table<T>;
23
+ /**
24
+ * 查询条件
25
+ * @param criteria
26
+ * @returns
27
+ */
28
+ criteria: MixCriteria<T>;
29
+ /**
30
+ * 限制数量
31
+ */
32
+ limit?: number;
33
+ /**
34
+ * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
35
+ */
36
+ orderBy?: Array<[keyof T, 'asc' | 'desc']>;
37
+ }
38
+ /**
39
+ * 按条件删除,返回被删除的记录数.
40
+ * 务必谨慎使用,大批量删除容易带来性能问题,造成线上事故.
41
+ * @param config
42
+ * @param connection
43
+ * @param table
44
+ * @param criteria
45
+ */
46
+ export declare function deleteMany<T>(config: MysqlConfig, connection: PoolConnection, opts: DeleteManyOpts<T>): Promise<number>;
@@ -1,6 +1,6 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { Table } from '../../table-info';
3
- import { MixCriteria } from './criteria';
4
- import { MysqlConfig } from '../../config';
5
- export declare function existsById<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, id: string | number): Promise<boolean>;
6
- export declare function existsBy<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, criteria?: MixCriteria<T>): Promise<boolean>;
1
+ import { PoolConnection } from 'mysql2';
2
+ import { Table } from '../../table-info';
3
+ import { MixCriteria } from './criteria';
4
+ import { MysqlConfig } from '../../config';
5
+ export declare function existsById<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, id: string | number): Promise<boolean>;
6
+ export declare function existsBy<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, criteria?: MixCriteria<T>): Promise<boolean>;
@@ -1,86 +1,86 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { Table } from '../../table-info';
3
- import { MixCriteria } from './criteria';
4
- import { MysqlConfig } from '../../config';
5
- /**
6
- * 按 id 查询
7
- * @param connection
8
- * @param mapping
9
- * @param type
10
- * @param id
11
- */
12
- export declare function findById<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, id: string | number): Promise<T | null>;
13
- /**
14
- * 查询表中所有数据。需谨慎操作,全表查询有可能会产生大列表问题。
15
- * @param connection
16
- * @param mapping
17
- * @param type
18
- * @returns
19
- */
20
- export declare function findAll<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>): Promise<T[]>;
21
- export interface FindOpts<T> {
22
- /**
23
- * 表
24
- */
25
- table: Table<T>;
26
- /**
27
- * 查询条件
28
- * @param criteria
29
- * @returns
30
- */
31
- criteria?: MixCriteria<T>;
32
- /**
33
- * 偏移,需要 limit 有值才可以
34
- */
35
- offset?: number;
36
- /**
37
- * 限制返回的数量
38
- */
39
- limit?: number;
40
- /**
41
- * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
42
- */
43
- orderBy?: Array<[keyof T, 'asc' | 'desc']>;
44
- }
45
- /**
46
- * 条件查询
47
- * @param opts
48
- * @returns
49
- */
50
- export declare function find<T>(config: MysqlConfig, conn: PoolConnection, opts: FindOpts<T>): Promise<T[]>;
51
- /**
52
- * 指定字段条件查询选项
53
- */
54
- export interface FindSelectOpts<T, K extends keyof T> extends FindOpts<T> {
55
- /**
56
- * 要查询的字段
57
- */
58
- select: K[];
59
- }
60
- /**
61
- * 查询指定的字段,返回值类型与选择的字段有关
62
- * @param onfig
63
- * @param conn
64
- * @param opts
65
- */
66
- export declare function findSelect<T, K extends keyof T>(config: MysqlConfig, conn: PoolConnection, opts: FindSelectOpts<T, K>): Promise<Array<Pick<T, K>>>;
67
- /**
68
- * 根据 id 列表查询记录
69
- * @param connection
70
- * @param table
71
- * @param ids
72
- * @returns
73
- */
74
- export declare function findByIdIn<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, ids: Array<string | number>): Promise<T[]>;
75
- /**
76
- * 查找符合条件的第一条记录
77
- * @param conn
78
- * @param table
79
- * @param criteria
80
- * @returns
81
- */
82
- export declare function findFirst<T>(config: MysqlConfig, conn: PoolConnection, table: Table<T>, criteria?: MixCriteria<T>,
83
- /**
84
- * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
85
- */
86
- orderBy?: Array<[keyof T, 'asc' | 'desc']>): Promise<T | null>;
1
+ import { PoolConnection } from 'mysql2';
2
+ import { Table } from '../../table-info';
3
+ import { MixCriteria } from './criteria';
4
+ import { MysqlConfig } from '../../config';
5
+ /**
6
+ * 按 id 查询
7
+ * @param connection
8
+ * @param mapping
9
+ * @param type
10
+ * @param id
11
+ */
12
+ export declare function findById<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, id: string | number): Promise<T | null>;
13
+ /**
14
+ * 查询表中所有数据。需谨慎操作,全表查询有可能会产生大列表问题。
15
+ * @param connection
16
+ * @param mapping
17
+ * @param type
18
+ * @returns
19
+ */
20
+ export declare function findAll<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>): Promise<T[]>;
21
+ export interface FindOpts<T> {
22
+ /**
23
+ * 表
24
+ */
25
+ table: Table<T>;
26
+ /**
27
+ * 查询条件
28
+ * @param criteria
29
+ * @returns
30
+ */
31
+ criteria?: MixCriteria<T>;
32
+ /**
33
+ * 偏移,需要 limit 有值才可以
34
+ */
35
+ offset?: number;
36
+ /**
37
+ * 限制返回的数量
38
+ */
39
+ limit?: number;
40
+ /**
41
+ * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
42
+ */
43
+ orderBy?: Array<[keyof T, 'asc' | 'desc']>;
44
+ }
45
+ /**
46
+ * 条件查询
47
+ * @param opts
48
+ * @returns
49
+ */
50
+ export declare function find<T>(config: MysqlConfig, conn: PoolConnection, opts: FindOpts<T>): Promise<T[]>;
51
+ /**
52
+ * 指定字段条件查询选项
53
+ */
54
+ export interface FindSelectOpts<T, K extends keyof T> extends FindOpts<T> {
55
+ /**
56
+ * 要查询的字段
57
+ */
58
+ select: K[];
59
+ }
60
+ /**
61
+ * 查询指定的字段,返回值类型与选择的字段有关
62
+ * @param onfig
63
+ * @param conn
64
+ * @param opts
65
+ */
66
+ export declare function findSelect<T, K extends keyof T>(config: MysqlConfig, conn: PoolConnection, opts: FindSelectOpts<T, K>): Promise<Array<Pick<T, K>>>;
67
+ /**
68
+ * 根据 id 列表查询记录
69
+ * @param connection
70
+ * @param table
71
+ * @param ids
72
+ * @returns
73
+ */
74
+ export declare function findByIdIn<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, ids: Array<string | number>): Promise<T[]>;
75
+ /**
76
+ * 查找符合条件的第一条记录
77
+ * @param conn
78
+ * @param table
79
+ * @param criteria
80
+ * @returns
81
+ */
82
+ export declare function findFirst<T>(config: MysqlConfig, conn: PoolConnection, table: Table<T>, criteria?: MixCriteria<T>,
83
+ /**
84
+ * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
85
+ */
86
+ orderBy?: Array<[keyof T, 'asc' | 'desc']>): Promise<T | null>;
@@ -1,10 +1,10 @@
1
- export * from './count';
2
- export * from './criteria';
3
- export * from './delete';
4
- export * from './exist';
5
- export * from './find';
6
- export * from './insert';
7
- export * from './modify';
8
- export * from './paginate';
9
- export * from './query';
10
- export * from './update';
1
+ export * from './count';
2
+ export * from './criteria';
3
+ export * from './delete';
4
+ export * from './exist';
5
+ export * from './find';
6
+ export * from './insert';
7
+ export * from './modify';
8
+ export * from './paginate';
9
+ export * from './query';
10
+ export * from './update';
@@ -1,18 +1,18 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { Table } from '../../table-info';
3
- import { MysqlConfig } from '../../config';
4
- /**
5
- * 为表插入数据
6
- * @param connection
7
- * @param table
8
- * @param data
9
- * @returns
10
- */
11
- export declare function insert<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, data: T): Promise<T>;
12
- /**
13
- * 一次插入多条记录
14
- * @param connection 连接
15
- * @param table 表
16
- * @param list 要插入的记录列表
17
- */
18
- export declare function insertMany<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, list: T[]): Promise<void>;
1
+ import { PoolConnection } from 'mysql2';
2
+ import { Table } from '../../table-info';
3
+ import { MysqlConfig } from '../../config';
4
+ /**
5
+ * 为表插入数据
6
+ * @param connection
7
+ * @param table
8
+ * @param data
9
+ * @returns
10
+ */
11
+ export declare function insert<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, data: T): Promise<T>;
12
+ /**
13
+ * 一次插入多条记录
14
+ * @param connection 连接
15
+ * @param table 表
16
+ * @param list 要插入的记录列表
17
+ */
18
+ export declare function insertMany<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, list: T[]): Promise<void>;
@@ -1,3 +1,3 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { MysqlConfig } from '../../config';
3
- export declare function modify(config: MysqlConfig, connection: PoolConnection, sql: string, values?: any[]): Promise<number>;
1
+ import { PoolConnection } from 'mysql2';
2
+ import { MysqlConfig } from '../../config';
3
+ export declare function modify(config: MysqlConfig, connection: PoolConnection, sql: string, values?: any[]): Promise<number>;