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,51 +1,51 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configValidation = exports.defaultConfig = void 0;
4
- const validation_1 = require("../validation");
5
- /**
6
- * 默认配置.
7
- */
8
- exports.defaultConfig = {
9
- host: 'localhost',
10
- port: 3306,
11
- user: 'root',
12
- password: '123456',
13
- charset: 'utf8mb4',
14
- database: 'example',
15
- versionControlEnabled: false,
16
- versionControlDir: 'db_migration',
17
- timezone: '+08:00',
18
- connectTimeout: 10000,
19
- debug: false,
20
- connectionLimit: 10,
21
- maxIdle: 10,
22
- idleTimeout: 60000,
23
- slowSqlWarn: true,
24
- slowSqlMs: 200,
25
- transactionTimeout: 5000,
26
- transactionStrict: true,
27
- maxOpsInStrictTx: 10
28
- };
29
- /**
30
- * 配置校验规则.
31
- */
32
- exports.configValidation = {
33
- host: [(0, validation_1.notBlank)()],
34
- port: [(0, validation_1.notNull)(), (0, validation_1.min)(80), (0, validation_1.max)(65535)],
35
- user: [(0, validation_1.notBlank)()],
36
- password: [(0, validation_1.notBlank)()],
37
- charset: [(0, validation_1.notBlank)()],
38
- database: [(0, validation_1.notBlank)()],
39
- versionControlEnabled: [(0, validation_1.notNull)()],
40
- versionControlDir: [(0, validation_1.notNull)()],
41
- timezone: [(0, validation_1.notBlank)()],
42
- connectTimeout: [(0, validation_1.notNull)(), (0, validation_1.min)(1000), (0, validation_1.max)(60000)],
43
- connectionLimit: [(0, validation_1.notNull)(), (0, validation_1.min)(1), (0, validation_1.max)(999)],
44
- maxIdle: [(0, validation_1.notNull)(), (0, validation_1.min)(1), (0, validation_1.max)(999)],
45
- idleTimeout: [(0, validation_1.notNull)(), (0, validation_1.min)(1000), (0, validation_1.max)(60000)],
46
- slowSqlWarn: [(0, validation_1.notNull)()],
47
- slowSqlMs: [(0, validation_1.notNull)(), (0, validation_1.min)(1), (0, validation_1.max)(3600000)],
48
- transactionTimeout: [(0, validation_1.notNull)(), (0, validation_1.min)(0), (0, validation_1.max)(60000)],
49
- transactionStrict: [(0, validation_1.notNull)()],
50
- maxOpsInStrictTx: [(0, validation_1.notNull)(), (0, validation_1.min)(1)]
51
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configValidation = exports.defaultConfig = void 0;
4
+ const validation_1 = require("../validation");
5
+ /**
6
+ * 默认配置.
7
+ */
8
+ exports.defaultConfig = {
9
+ host: 'localhost',
10
+ port: 3306,
11
+ user: 'root',
12
+ password: '123456',
13
+ charset: 'utf8mb4',
14
+ database: 'example',
15
+ versionControlEnabled: false,
16
+ versionControlDir: 'db_migration',
17
+ timezone: '+08:00',
18
+ connectTimeout: 10000,
19
+ debug: false,
20
+ connectionLimit: 10,
21
+ maxIdle: 10,
22
+ idleTimeout: 60000,
23
+ slowSqlWarn: true,
24
+ slowSqlMs: 200,
25
+ transactionTimeout: 5000,
26
+ transactionStrict: true,
27
+ maxOpsInStrictTx: 10
28
+ };
29
+ /**
30
+ * 配置校验规则.
31
+ */
32
+ exports.configValidation = {
33
+ host: [(0, validation_1.notBlank)()],
34
+ port: [(0, validation_1.notNull)(), (0, validation_1.min)(80), (0, validation_1.max)(65535)],
35
+ user: [(0, validation_1.notBlank)()],
36
+ password: [(0, validation_1.notBlank)()],
37
+ charset: [(0, validation_1.notBlank)()],
38
+ database: [(0, validation_1.notBlank)()],
39
+ versionControlEnabled: [(0, validation_1.notNull)()],
40
+ versionControlDir: [(0, validation_1.notNull)()],
41
+ timezone: [(0, validation_1.notBlank)()],
42
+ connectTimeout: [(0, validation_1.notNull)(), (0, validation_1.min)(1000), (0, validation_1.max)(60000)],
43
+ connectionLimit: [(0, validation_1.notNull)(), (0, validation_1.min)(1), (0, validation_1.max)(999)],
44
+ maxIdle: [(0, validation_1.notNull)(), (0, validation_1.min)(1), (0, validation_1.max)(999)],
45
+ idleTimeout: [(0, validation_1.notNull)(), (0, validation_1.min)(1000), (0, validation_1.max)(60000)],
46
+ slowSqlWarn: [(0, validation_1.notNull)()],
47
+ slowSqlMs: [(0, validation_1.notNull)(), (0, validation_1.min)(1), (0, validation_1.max)(3600000)],
48
+ transactionTimeout: [(0, validation_1.notNull)(), (0, validation_1.min)(0), (0, validation_1.max)(60000)],
49
+ transactionStrict: [(0, validation_1.notNull)()],
50
+ maxOpsInStrictTx: [(0, validation_1.notNull)(), (0, validation_1.min)(1)]
51
+ };
@@ -1,14 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MysqlException = void 0;
4
- /**
5
- * mysql 异常.
6
- */
7
- class MysqlException extends Error {
8
- message;
9
- constructor(message) {
10
- super(message);
11
- this.message = message;
12
- }
13
- }
14
- exports.MysqlException = MysqlException;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MysqlException = void 0;
4
+ /**
5
+ * mysql 异常.
6
+ */
7
+ class MysqlException extends Error {
8
+ message;
9
+ constructor(message) {
10
+ super(message);
11
+ this.message = message;
12
+ }
13
+ }
14
+ exports.MysqlException = MysqlException;
@@ -1,87 +1,87 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MysqlException = exports.MysqlCriteria = exports.getMysqlManager = exports.enableMysql = void 0;
4
- const tslib_1 = require("tslib");
5
- const mysql2_1 = require("mysql2");
6
- const config_1 = require("../config");
7
- const config_2 = require("./config");
8
- const exception_1 = require("./exception");
9
- Object.defineProperty(exports, "MysqlException", { enumerable: true, get: function () { return exception_1.MysqlException; } });
10
- const manager_1 = require("./manager");
11
- const criteria_1 = require("./manager/ops/criteria");
12
- Object.defineProperty(exports, "MysqlCriteria", { enumerable: true, get: function () { return criteria_1.MysqlCriteria; } });
13
- const migration_1 = require("./migration");
14
- const managerMap = new Map();
15
- const defaultName = 'mysql';
16
- /**
17
- * 启用mysql
18
- * @param name 配置名称,同时也是环境变量配置的前缀,英文开头,由英文数字和下划线成.
19
- */
20
- async function enableMysql(name) {
21
- // 校验名称
22
- if (name) {
23
- if (!/^[a-zA-Z][a-zA-Z0-9_]{0,31}$/.test(name)) {
24
- throw new Error(`mysql 配置名称必须是英文开头,由英文数字和下划线成,并且不得超过 32 位:${name}`);
25
- }
26
- }
27
- const finalName = name || defaultName;
28
- // 连接池配置
29
- const mysqlConfig = (0, config_1.registerConfig)(config_2.defaultConfig, finalName, config_2.configValidation);
30
- // 数据库版本管理
31
- if (mysqlConfig.versionControlEnabled) {
32
- // 创建一个支持多语句的连接,专门处理迁移
33
- const conn = await new Promise((resolve, reject) => {
34
- const conn = (0, mysql2_1.createConnection)({
35
- host: mysqlConfig.host,
36
- port: mysqlConfig.port,
37
- user: mysqlConfig.user,
38
- password: mysqlConfig.password,
39
- charset: mysqlConfig.charset,
40
- database: mysqlConfig.database,
41
- connectTimeout: mysqlConfig.connectTimeout,
42
- multipleStatements: true,
43
- timezone: mysqlConfig.timezone
44
- });
45
- conn.connect(err => (err ? reject(err) : resolve(conn)));
46
- });
47
- try {
48
- await (0, migration_1.migrate)(mysqlConfig, conn);
49
- }
50
- finally {
51
- await new Promise((resolve, reject) => {
52
- conn.end(err => (err ? reject(err) : resolve()));
53
- });
54
- }
55
- }
56
- const pool = (0, mysql2_1.createPool)({
57
- host: mysqlConfig.host,
58
- port: mysqlConfig.port,
59
- user: mysqlConfig.user,
60
- password: mysqlConfig.password,
61
- charset: mysqlConfig.charset,
62
- database: mysqlConfig.database,
63
- connectTimeout: mysqlConfig.connectTimeout,
64
- debug: mysqlConfig.debug,
65
- connectionLimit: mysqlConfig.connectionLimit,
66
- maxIdle: mysqlConfig.maxIdle,
67
- idleTimeout: mysqlConfig.idleTimeout,
68
- timezone: mysqlConfig.timezone
69
- });
70
- process.addListener('beforeExit', () => pool.end());
71
- managerMap.set(finalName, new manager_1.MysqlManager(mysqlConfig, pool));
72
- }
73
- exports.enableMysql = enableMysql;
74
- /**
75
- * 获取管理器.
76
- * @param name 配置名称,如果调用 enableMysql 时填写了,那么这里也要填写并保持一致
77
- */
78
- function getMysqlManager(name) {
79
- const manager = managerMap.get(name || defaultName);
80
- if (!manager) {
81
- throw new Error(`找不到想要的 mysql 配置 ${name ? ': ' + name : ''},请先调用 enableMysql 启用`);
82
- }
83
- return manager;
84
- }
85
- exports.getMysqlManager = getMysqlManager;
86
- // 部分需要导出的对象
87
- tslib_1.__exportStar(require("./manager"), exports);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MysqlException = exports.MysqlCriteria = exports.getMysqlManager = exports.enableMysql = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const mysql2_1 = require("mysql2");
6
+ const config_1 = require("../config");
7
+ const config_2 = require("./config");
8
+ const exception_1 = require("./exception");
9
+ Object.defineProperty(exports, "MysqlException", { enumerable: true, get: function () { return exception_1.MysqlException; } });
10
+ const manager_1 = require("./manager");
11
+ const criteria_1 = require("./manager/ops/criteria");
12
+ Object.defineProperty(exports, "MysqlCriteria", { enumerable: true, get: function () { return criteria_1.MysqlCriteria; } });
13
+ const migration_1 = require("./migration");
14
+ const managerMap = new Map();
15
+ const defaultName = 'mysql';
16
+ /**
17
+ * 启用mysql
18
+ * @param name 配置名称,同时也是环境变量配置的前缀,英文开头,由英文数字和下划线成.
19
+ */
20
+ async function enableMysql(name) {
21
+ // 校验名称
22
+ if (name) {
23
+ if (!/^[a-zA-Z][a-zA-Z0-9_]{0,31}$/.test(name)) {
24
+ throw new Error(`mysql 配置名称必须是英文开头,由英文数字和下划线成,并且不得超过 32 位:${name}`);
25
+ }
26
+ }
27
+ const finalName = name || defaultName;
28
+ // 连接池配置
29
+ const mysqlConfig = (0, config_1.registerConfig)(config_2.defaultConfig, finalName, config_2.configValidation);
30
+ // 数据库版本管理
31
+ if (mysqlConfig.versionControlEnabled) {
32
+ // 创建一个支持多语句的连接,专门处理迁移
33
+ const conn = await new Promise((resolve, reject) => {
34
+ const conn = (0, mysql2_1.createConnection)({
35
+ host: mysqlConfig.host,
36
+ port: mysqlConfig.port,
37
+ user: mysqlConfig.user,
38
+ password: mysqlConfig.password,
39
+ charset: mysqlConfig.charset,
40
+ database: mysqlConfig.database,
41
+ connectTimeout: mysqlConfig.connectTimeout,
42
+ multipleStatements: true,
43
+ timezone: mysqlConfig.timezone
44
+ });
45
+ conn.connect(err => (err ? reject(err) : resolve(conn)));
46
+ });
47
+ try {
48
+ await (0, migration_1.migrate)(mysqlConfig, conn);
49
+ }
50
+ finally {
51
+ await new Promise((resolve, reject) => {
52
+ conn.end(err => (err ? reject(err) : resolve()));
53
+ });
54
+ }
55
+ }
56
+ const pool = (0, mysql2_1.createPool)({
57
+ host: mysqlConfig.host,
58
+ port: mysqlConfig.port,
59
+ user: mysqlConfig.user,
60
+ password: mysqlConfig.password,
61
+ charset: mysqlConfig.charset,
62
+ database: mysqlConfig.database,
63
+ connectTimeout: mysqlConfig.connectTimeout,
64
+ debug: mysqlConfig.debug,
65
+ connectionLimit: mysqlConfig.connectionLimit,
66
+ maxIdle: mysqlConfig.maxIdle,
67
+ idleTimeout: mysqlConfig.idleTimeout,
68
+ timezone: mysqlConfig.timezone
69
+ });
70
+ process.addListener('beforeExit', () => pool.end());
71
+ managerMap.set(finalName, new manager_1.MysqlManager(mysqlConfig, pool));
72
+ }
73
+ exports.enableMysql = enableMysql;
74
+ /**
75
+ * 获取管理器.
76
+ * @param name 配置名称,如果调用 enableMysql 时填写了,那么这里也要填写并保持一致
77
+ */
78
+ function getMysqlManager(name) {
79
+ const manager = managerMap.get(name || defaultName);
80
+ if (!manager) {
81
+ throw new Error(`找不到想要的 mysql 配置 ${name ? ': ' + name : ''},请先调用 enableMysql 启用`);
82
+ }
83
+ return manager;
84
+ }
85
+ exports.getMysqlManager = getMysqlManager;
86
+ // 部分需要导出的对象
87
+ tslib_1.__exportStar(require("./manager"), exports);