wok-server 0.5.0 → 0.7.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 (380) 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 +278 -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 +381 -356
  80. package/dist/mysql/manager/ops/delete.js +59 -65
  81. package/dist/mysql/manager/ops/exist.js +26 -26
  82. package/dist/mysql/manager/ops/find.js +149 -169
  83. package/dist/mysql/manager/ops/index.js +16 -14
  84. package/dist/mysql/manager/ops/insert.js +132 -106
  85. package/dist/mysql/manager/ops/modify.js +10 -10
  86. package/dist/mysql/manager/ops/order-by.js +28 -0
  87. package/dist/mysql/manager/ops/paginate.js +48 -23
  88. package/dist/mysql/manager/ops/query.js +9 -9
  89. package/dist/mysql/manager/ops/update.js +222 -216
  90. package/dist/mysql/manager/ops/upsert.js +178 -0
  91. package/dist/mysql/manager/ops/utils.js +28 -24
  92. package/dist/mysql/manager/tx-strict.js +103 -103
  93. package/dist/mysql/manager/tx.js +30 -30
  94. package/dist/mysql/manager/utils.js +56 -56
  95. package/dist/mysql/migration.js +136 -136
  96. package/dist/mysql/table-info.js +8 -8
  97. package/dist/task/daily.js +59 -59
  98. package/dist/task/fixed-delay.js +38 -38
  99. package/dist/task/fixed-rate.js +42 -42
  100. package/dist/task/index.js +9 -9
  101. package/dist/task/task.js +56 -56
  102. package/dist/validation/exception.js +36 -36
  103. package/dist/validation/index.js +40 -40
  104. package/dist/validation/validator/array.js +34 -34
  105. package/dist/validation/validator/enum.js +28 -28
  106. package/dist/validation/validator/index.js +14 -14
  107. package/dist/validation/validator/length.js +40 -40
  108. package/dist/validation/validator/max-length.js +35 -35
  109. package/dist/validation/validator/max.js +29 -29
  110. package/dist/validation/validator/min-length.js +33 -33
  111. package/dist/validation/validator/min.js +29 -29
  112. package/dist/validation/validator/not-blank.js +33 -33
  113. package/dist/validation/validator/not-null.js +21 -21
  114. package/dist/validation/validator/plain-obj.js +32 -32
  115. package/dist/validation/validator/regexp.js +34 -34
  116. package/documentation/en/cache.md +56 -0
  117. package/documentation/en/config.md +96 -0
  118. package/documentation/en/engineering.md +256 -0
  119. package/documentation/en/http-client.md +32 -0
  120. package/documentation/en/i18n.md +143 -0
  121. package/documentation/en/index.md +24 -0
  122. package/documentation/en/lock.md +51 -0
  123. package/documentation/en/log.md +109 -0
  124. package/documentation/en/mongodb.md +256 -0
  125. package/documentation/en/mvc.md +688 -0
  126. package/documentation/en/mysql.md +682 -0
  127. package/documentation/en/task.md +45 -0
  128. package/documentation/en/test.md +56 -0
  129. package/documentation/en/validate.md +130 -0
  130. package/documentation/zh-cn/mvc.md +66 -24
  131. package/documentation/zh-cn/mysql.md +146 -17
  132. package/package.json +4 -1
  133. package/skills/wok-server-api-rules/SKILL.md +350 -0
  134. package/skills/wok-server-cache/SKILL.md +216 -0
  135. package/skills/wok-server-code-navigation/SKILL.md +153 -0
  136. package/skills/wok-server-config/SKILL.md +200 -0
  137. package/skills/wok-server-getting-started/SKILL.md +123 -0
  138. package/skills/wok-server-getting-started/references/engineering.md +169 -0
  139. package/skills/wok-server-http-client/SKILL.md +164 -0
  140. package/skills/wok-server-i18n/SKILL.md +214 -0
  141. package/skills/wok-server-lock/SKILL.md +144 -0
  142. package/skills/wok-server-log/SKILL.md +218 -0
  143. package/skills/wok-server-mongodb/SKILL.md +235 -0
  144. package/skills/wok-server-mvc/SKILL.md +251 -0
  145. package/skills/wok-server-mvc/references/respond-html.md +157 -0
  146. package/skills/wok-server-mvc/references/sse.md +121 -0
  147. package/skills/wok-server-mvc/references/static-files.md +47 -0
  148. package/skills/wok-server-mvc/references/upload.md +62 -0
  149. package/skills/wok-server-mvc/references/websocket.md +30 -0
  150. package/skills/wok-server-mysql/SKILL.md +388 -0
  151. package/skills/wok-server-mysql/references/multi-datasource.md +76 -0
  152. package/skills/wok-server-mysql/references/version-control.md +22 -0
  153. package/skills/wok-server-task/SKILL.md +158 -0
  154. package/skills/wok-server-validate/SKILL.md +167 -0
  155. package/src/cache/cache.ts +118 -0
  156. package/src/cache/config.ts +53 -0
  157. package/src/cache/index.ts +27 -0
  158. package/src/cache/purge-task.ts +53 -0
  159. package/src/cache/stat.ts +47 -0
  160. package/src/config/convert.ts +27 -0
  161. package/src/config/exception.ts +8 -0
  162. package/src/config/index.ts +92 -0
  163. package/src/http-client/index.ts +202 -0
  164. package/src/i18n/ar.ts +16 -0
  165. package/src/i18n/de.ts +16 -0
  166. package/src/i18n/en-us.ts +16 -0
  167. package/src/i18n/es.ts +16 -0
  168. package/src/i18n/fr.ts +16 -0
  169. package/src/i18n/i18n.ts +230 -0
  170. package/src/i18n/index.ts +50 -0
  171. package/src/i18n/ja.ts +16 -0
  172. package/src/i18n/ko.ts +16 -0
  173. package/src/i18n/msg.ts +50 -0
  174. package/src/i18n/pt.ts +16 -0
  175. package/src/i18n/ru.ts +16 -0
  176. package/src/i18n/tag.ts +18 -0
  177. package/src/i18n/zh-HK.ts +16 -0
  178. package/src/i18n/zh-TW.ts +16 -0
  179. package/src/i18n/zh-cn.ts +16 -0
  180. package/src/index.ts +11 -0
  181. package/src/lock/index.ts +164 -0
  182. package/src/log/config.ts +71 -0
  183. package/src/log/date.ts +19 -0
  184. package/src/log/file.ts +215 -0
  185. package/src/log/index.ts +136 -0
  186. package/src/log/level.ts +29 -0
  187. package/src/log/log.ts +77 -0
  188. package/src/log/store.ts +31 -0
  189. package/src/mongodb/collection.ts +25 -0
  190. package/src/mongodb/config.ts +69 -0
  191. package/src/mongodb/doc.ts +12 -0
  192. package/src/mongodb/exception.ts +8 -0
  193. package/src/mongodb/index.ts +71 -0
  194. package/src/mongodb/manager/base.ts +674 -0
  195. package/src/mongodb/manager/index.ts +80 -0
  196. package/src/mongodb/manager/tx-strict.ts +153 -0
  197. package/src/mongodb/manager/tx.ts +34 -0
  198. package/src/mongodb/migration.ts +66 -0
  199. package/src/mvc/access-log.ts +33 -0
  200. package/src/mvc/config.ts +70 -0
  201. package/src/mvc/exchange.ts +126 -0
  202. package/src/mvc/handler/index.ts +4 -0
  203. package/src/mvc/handler/json.ts +96 -0
  204. package/src/mvc/handler/restful.ts +39 -0
  205. package/src/mvc/handler/sse.ts +90 -0
  206. package/src/mvc/handler/upload.ts +54 -0
  207. package/src/mvc/index.ts +48 -0
  208. package/src/mvc/interceptor.ts +12 -0
  209. package/src/mvc/query.ts +36 -0
  210. package/src/mvc/render/file.ts +148 -0
  211. package/src/mvc/render/html/html.ts +187 -0
  212. package/src/mvc/render/html/index.ts +16 -0
  213. package/src/mvc/render/html/style.ts +1201 -0
  214. package/src/mvc/render/index.ts +4 -0
  215. package/src/mvc/render/json.ts +24 -0
  216. package/src/mvc/render/text.ts +14 -0
  217. package/src/mvc/router.ts +13 -0
  218. package/src/mvc/server.ts +315 -0
  219. package/src/mvc/static/header.ts +86 -0
  220. package/src/mvc/static/index.ts +3 -0
  221. package/src/mvc/static/mime-type.ts +81 -0
  222. package/src/mvc/static/server-cache-config.ts +92 -0
  223. package/src/mvc/static/server-cache.ts +171 -0
  224. package/src/mvc/static/static-handler.ts +445 -0
  225. package/src/mysql/config.ts +130 -0
  226. package/src/mysql/exception.ts +8 -0
  227. package/src/mysql/index.ts +88 -0
  228. package/src/mysql/manager/base.ts +332 -0
  229. package/src/mysql/manager/index.ts +112 -0
  230. package/src/mysql/manager/ops/count.ts +30 -0
  231. package/src/mysql/manager/ops/criteria.ts +446 -0
  232. package/src/mysql/manager/ops/delete.ts +91 -0
  233. package/src/mysql/manager/ops/exist.ts +41 -0
  234. package/src/mysql/manager/ops/find.ts +209 -0
  235. package/src/mysql/manager/ops/index.ts +13 -0
  236. package/src/mysql/manager/ops/insert.ts +158 -0
  237. package/src/mysql/manager/ops/modify.ts +14 -0
  238. package/src/mysql/manager/ops/order-by.ts +58 -0
  239. package/src/mysql/manager/ops/paginate.ts +100 -0
  240. package/src/mysql/manager/ops/query.ts +13 -0
  241. package/src/mysql/manager/ops/update.ts +318 -0
  242. package/src/mysql/manager/ops/upsert.ts +224 -0
  243. package/src/mysql/manager/ops/utils.ts +24 -0
  244. package/src/mysql/manager/tx-strict.ts +138 -0
  245. package/src/mysql/manager/tx.ts +31 -0
  246. package/src/mysql/manager/utils.ts +75 -0
  247. package/src/mysql/migration.ts +149 -0
  248. package/src/mysql/table-info.ts +41 -0
  249. package/src/task/daily.ts +70 -0
  250. package/src/task/fixed-delay.ts +45 -0
  251. package/src/task/fixed-rate.ts +49 -0
  252. package/src/task/index.ts +4 -0
  253. package/src/task/task.ts +70 -0
  254. package/src/validation/exception.ts +27 -0
  255. package/src/validation/index.ts +61 -0
  256. package/src/validation/validator/array.ts +32 -0
  257. package/src/validation/validator/enum.ts +25 -0
  258. package/src/validation/validator/index.ts +11 -0
  259. package/src/validation/validator/length.ts +42 -0
  260. package/src/validation/validator/max-length.ts +33 -0
  261. package/src/validation/validator/max.ts +26 -0
  262. package/src/validation/validator/min-length.ts +31 -0
  263. package/src/validation/validator/min.ts +26 -0
  264. package/src/validation/validator/not-blank.ts +31 -0
  265. package/src/validation/validator/not-null.ts +19 -0
  266. package/src/validation/validator/plain-obj.ts +30 -0
  267. package/src/validation/validator/regexp.ts +32 -0
  268. package/types/cache/cache.d.ts +52 -52
  269. package/types/cache/config.d.ts +32 -32
  270. package/types/cache/index.d.ts +2 -2
  271. package/types/cache/purge-task.d.ts +11 -11
  272. package/types/cache/stat.d.ts +26 -26
  273. package/types/config/convert.d.ts +6 -6
  274. package/types/config/exception.d.ts +7 -7
  275. package/types/config/index.d.ts +25 -25
  276. package/types/http-client/index.d.ts +71 -71
  277. package/types/i18n/ar.d.ts +2 -2
  278. package/types/i18n/de.d.ts +2 -2
  279. package/types/i18n/en-us.d.ts +2 -2
  280. package/types/i18n/es.d.ts +2 -2
  281. package/types/i18n/fr.d.ts +2 -2
  282. package/types/i18n/i18n.d.ts +102 -102
  283. package/types/i18n/index.d.ts +9 -9
  284. package/types/i18n/ja.d.ts +2 -2
  285. package/types/i18n/ko.d.ts +2 -2
  286. package/types/i18n/msg.d.ts +50 -50
  287. package/types/i18n/pt.d.ts +2 -2
  288. package/types/i18n/ru.d.ts +2 -2
  289. package/types/i18n/tag.d.ts +11 -11
  290. package/types/i18n/zh-HK.d.ts +2 -2
  291. package/types/i18n/zh-TW.d.ts +2 -2
  292. package/types/i18n/zh-cn.d.ts +2 -2
  293. package/types/index.d.ts +11 -11
  294. package/types/lock/index.d.ts +64 -64
  295. package/types/log/config.d.ts +35 -35
  296. package/types/log/date.d.ts +2 -2
  297. package/types/log/file.d.ts +13 -13
  298. package/types/log/index.d.ts +53 -53
  299. package/types/log/level.d.ts +14 -14
  300. package/types/log/log.d.ts +40 -40
  301. package/types/log/store.d.ts +19 -19
  302. package/types/mongodb/collection.d.ts +25 -25
  303. package/types/mongodb/config.d.ts +45 -45
  304. package/types/mongodb/doc.d.ts +11 -11
  305. package/types/mongodb/exception.d.ts +7 -7
  306. package/types/mongodb/index.d.ts +29 -29
  307. package/types/mongodb/manager/base.d.ts +188 -188
  308. package/types/mongodb/manager/index.d.ts +38 -38
  309. package/types/mongodb/manager/tx-strict.d.ts +41 -41
  310. package/types/mongodb/manager/tx.d.ts +21 -21
  311. package/types/mongodb/migration.d.ts +12 -12
  312. package/types/mvc/access-log.d.ts +7 -7
  313. package/types/mvc/config.d.ts +42 -42
  314. package/types/mvc/exchange.d.ts +72 -72
  315. package/types/mvc/handler/index.d.ts +4 -3
  316. package/types/mvc/handler/json.d.ts +44 -44
  317. package/types/mvc/handler/restful.d.ts +11 -11
  318. package/types/mvc/handler/sse.d.ts +34 -0
  319. package/types/mvc/handler/upload.d.ts +36 -36
  320. package/types/mvc/index.d.ts +22 -22
  321. package/types/mvc/interceptor.d.ts +11 -11
  322. package/types/mvc/query.d.ts +13 -13
  323. package/types/mvc/render/file.d.ts +10 -10
  324. package/types/mvc/render/html/html.d.ts +98 -98
  325. package/types/mvc/render/html/index.d.ts +11 -11
  326. package/types/mvc/render/html/style.d.ts +1201 -1201
  327. package/types/mvc/render/index.d.ts +4 -4
  328. package/types/mvc/render/json.d.ts +17 -17
  329. package/types/mvc/render/text.d.ts +10 -10
  330. package/types/mvc/router.d.ts +11 -11
  331. package/types/mvc/server.d.ts +90 -90
  332. package/types/mvc/static/header.d.ts +27 -27
  333. package/types/mvc/static/index.d.ts +3 -3
  334. package/types/mvc/static/mime-type.d.ts +2 -2
  335. package/types/mvc/static/server-cache-config.d.ts +30 -30
  336. package/types/mvc/static/server-cache.d.ts +76 -76
  337. package/types/mvc/static/static-handler.d.ts +77 -77
  338. package/types/mysql/config.d.ts +90 -90
  339. package/types/mysql/exception.d.ts +7 -7
  340. package/types/mysql/index.d.ts +16 -16
  341. package/types/mysql/manager/base.d.ts +196 -165
  342. package/types/mysql/manager/index.d.ts +36 -36
  343. package/types/mysql/manager/ops/count.d.ts +13 -13
  344. package/types/mysql/manager/ops/criteria.d.ts +144 -134
  345. package/types/mysql/manager/ops/delete.d.ts +47 -46
  346. package/types/mysql/manager/ops/exist.d.ts +6 -6
  347. package/types/mysql/manager/ops/find.d.ts +87 -86
  348. package/types/mysql/manager/ops/index.d.ts +12 -10
  349. package/types/mysql/manager/ops/insert.d.ts +32 -18
  350. package/types/mysql/manager/ops/modify.d.ts +3 -3
  351. package/types/mysql/manager/ops/order-by.d.ts +38 -0
  352. package/types/mysql/manager/ops/paginate.d.ts +53 -36
  353. package/types/mysql/manager/ops/query.d.ts +3 -3
  354. package/types/mysql/manager/ops/update.d.ts +99 -76
  355. package/types/mysql/manager/ops/upsert.d.ts +36 -0
  356. package/types/mysql/manager/ops/utils.d.ts +5 -5
  357. package/types/mysql/manager/tx-strict.d.ts +36 -36
  358. package/types/mysql/manager/tx.d.ts +15 -15
  359. package/types/mysql/manager/utils.d.ts +17 -17
  360. package/types/mysql/migration.d.ts +8 -8
  361. package/types/mysql/table-info.d.ts +36 -36
  362. package/types/task/daily.d.ts +16 -16
  363. package/types/task/fixed-delay.d.ts +9 -9
  364. package/types/task/fixed-rate.d.ts +9 -9
  365. package/types/task/index.d.ts +4 -4
  366. package/types/task/task.d.ts +34 -34
  367. package/types/validation/exception.d.ts +38 -38
  368. package/types/validation/index.d.ts +32 -32
  369. package/types/validation/validator/array.d.ts +5 -5
  370. package/types/validation/validator/enum.d.ts +8 -8
  371. package/types/validation/validator/index.d.ts +11 -11
  372. package/types/validation/validator/length.d.ts +10 -10
  373. package/types/validation/validator/max-length.d.ts +8 -8
  374. package/types/validation/validator/max.d.ts +7 -7
  375. package/types/validation/validator/min-length.d.ts +6 -6
  376. package/types/validation/validator/min.d.ts +7 -7
  377. package/types/validation/validator/not-blank.d.ts +7 -7
  378. package/types/validation/validator/not-null.d.ts +6 -6
  379. package/types/validation/validator/plain-obj.d.ts +7 -7
  380. package/types/validation/validator/regexp.d.ts +8 -8
@@ -0,0 +1,38 @@
1
+ /**
2
+ * 排序规则类型.
3
+ *
4
+ * T 为表类型.
5
+ *
6
+ * 普通列排序:
7
+ * [keyof T, 'asc' | 'desc']
8
+ * 例: ['balance', 'asc'] → ORDER BY `balance` asc
9
+ *
10
+ * 自定义表达式排序:
11
+ * ['expr', SQL片段, 参数值数组, 'asc' | 'desc']
12
+ * 例: ['expr', '?? * ?', ['balance', 2], 'desc']
13
+ * → ORDER BY `balance` * 2 desc
14
+ *
15
+ * 例: ['expr', 'CHAR_LENGTH(??)', ['name'], 'desc']
16
+ * → ORDER BY CHAR_LENGTH(`name`) desc
17
+ *
18
+ * 例: ['expr', 'VECTOR_DISTANCE(??, STRING_TO_VECTOR(?))', ['content_vec', embedding], 'asc']
19
+ * → ORDER BY VECTOR_DISTANCE(`content_vec`, STRING_TO_VECTOR(?)) asc
20
+ *
21
+ * 混合使用:
22
+ * [
23
+ * ['active', 'asc'],
24
+ * ['expr', '?? * ?', ['balance', 2], 'desc']
25
+ * ]
26
+ * → ORDER BY `active` asc , `balance` * 2 desc
27
+ */
28
+ export type OrderBy<T> = Array<[keyof T, 'asc' | 'desc'] | ['expr', string, any[], 'asc' | 'desc']>;
29
+ /**
30
+ * 构建 ORDER BY 子句.
31
+ *
32
+ * @param orderBy 排序规则
33
+ * @returns { sql: SQL 片段, values: 参数值数组 }
34
+ */
35
+ export declare function buildOrderBy<T>(orderBy: OrderBy<T>): {
36
+ sql: string;
37
+ values: any[];
38
+ };
@@ -1,36 +1,53 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { Table } from '../../table-info';
3
- import { MixCriteria } from './criteria';
4
- import { MysqlConfig } from '../../config';
5
- export interface MysqlPaginateOpts<T> {
6
- /**
7
- * 表
8
- */
9
- table: Table<T>;
10
- /**
11
- * 查询条件
12
- * @param criteria
13
- * @returns
14
- */
15
- criteria?: MixCriteria<T>;
16
- /**
17
- * 而码,默认1
18
- */
19
- pn?: number;
20
- /**
21
- * 每页的数据量大小,默认 20, 必须在 1-1000 之间
22
- */
23
- pz?: number;
24
- /**
25
- * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
26
- */
27
- orderBy?: Array<[keyof T, 'asc' | 'desc']>;
28
- }
29
- /**
30
- * mysql 分页查询结果
31
- */
32
- export interface MysqlPage<T> {
33
- total: number;
34
- list: T[];
35
- }
36
- export declare function paginate<T>(config: MysqlConfig, conn: PoolConnection, opts: MysqlPaginateOpts<T>): Promise<MysqlPage<T>>;
1
+ import { PoolConnection } from 'mysql2';
2
+ import { Table } from '../../table-info';
3
+ import { MixCriteria } from './criteria';
4
+ import { MysqlConfig } from '../../config';
5
+ import { OrderBy } from './order-by';
6
+ export interface MysqlPaginateOpts<T> {
7
+ /**
8
+ * 表
9
+ */
10
+ table: Table<T>;
11
+ /**
12
+ * 查询条件
13
+ * @param criteria
14
+ * @returns
15
+ */
16
+ criteria?: MixCriteria<T>;
17
+ /**
18
+ * 而码,默认1
19
+ */
20
+ pn?: number;
21
+ /**
22
+ * 每页的数据量大小,默认 20, 必须在 1-1000 之间
23
+ */
24
+ pz?: number;
25
+ /**
26
+ * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
27
+ */
28
+ orderBy?: OrderBy<T>;
29
+ }
30
+ /**
31
+ * mysql 分页查询结果
32
+ */
33
+ export interface MysqlPage<T> {
34
+ total: number;
35
+ list: T[];
36
+ }
37
+ export declare function paginate<T>(config: MysqlConfig, conn: PoolConnection, opts: MysqlPaginateOpts<T>): Promise<MysqlPage<T>>;
38
+ /**
39
+ * 指定字段分页查询选项
40
+ */
41
+ export interface MysqlPaginateSelectOpts<T, K extends keyof T> extends MysqlPaginateOpts<T> {
42
+ /**
43
+ * 要查询的字段
44
+ */
45
+ select: K[];
46
+ }
47
+ /**
48
+ * 指定字段分页查询
49
+ * @param config
50
+ * @param conn
51
+ * @param opts
52
+ */
53
+ export declare function paginateSelect<T, K extends keyof T>(config: MysqlConfig, conn: PoolConnection, opts: MysqlPaginateSelectOpts<T, K>): Promise<MysqlPage<Pick<T, K>>>;
@@ -1,3 +1,3 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { MysqlConfig } from '../../config';
3
- export declare function query<T>(config: MysqlConfig, connection: PoolConnection, sql: string, values?: any[]): Promise<T[]>;
1
+ import { PoolConnection } from 'mysql2';
2
+ import { MysqlConfig } from '../../config';
3
+ export declare function query<T>(config: MysqlConfig, connection: PoolConnection, sql: string, values?: any[]): Promise<T[]>;
@@ -1,76 +1,99 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { Table } from '../../table-info';
3
- import { MixCriteria } from './criteria';
4
- import { MysqlConfig } from '../../config';
5
- /**
6
- * 更新
7
- * @param config
8
- * @param connection
9
- * @param mapping
10
- * @param data
11
- * @returns
12
- */
13
- export declare function update<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, data: T): Promise<T>;
14
- /**
15
- * 更新器
16
- */
17
- export type Updater<T> = Partial<{
18
- [key in keyof T]: T[key] | undefined | ['setNull'] | ['inc', number]
19
- /**
20
- * 设置一个字段的值,和直接赋值是一样的,作用是解决一些特殊的情况的冲突
21
- * 比如将 json 字段的值设置为 ['setNull'] ,这就会被认为是要置空,
22
- * 使用 ['set',['setNull']] 就可以解决这个问题
23
- */
24
- | ['set', T[key]];
25
- }>;
26
- /**
27
- * 部分更新
28
- * @param connection
29
- * @param mapping
30
- * @param type
31
- * @param data
32
- */
33
- export declare function partialUpdate<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, data: Updater<T>): Promise<boolean>;
34
- /**
35
- * 更新指定的一条记录
36
- * @param config
37
- * @param connection
38
- * @param table
39
- * @param query
40
- * @param data
41
- */
42
- export declare function updateOne<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, query: MixCriteria<T>, updater: Updater<T>): Promise<boolean>;
43
- /**
44
- * 更新选项
45
- */
46
- export interface UpdateOpts<T> {
47
- /**
48
- * 表
49
- */
50
- table: Table<T>;
51
- /**
52
- * 查询条件
53
- */
54
- query: MixCriteria<T>;
55
- /**
56
- * 限制数量
57
- */
58
- limit?: number;
59
- /**
60
- * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
61
- */
62
- orderBy?: Array<[keyof T, 'asc' | 'desc']>;
63
- /**
64
- * 更新设置
65
- */
66
- updater: Updater<T>;
67
- }
68
- /**
69
- * 更新所有匹配条件的记录
70
- * @param config
71
- * @param connection 连接
72
- * @param table 表
73
- * @param query 查询条件
74
- * @param updater 更新操作,支持置空和递增(需要使用元组)
75
- */
76
- export declare function updateMany<T>(config: MysqlConfig, connection: PoolConnection, opts: UpdateOpts<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
+ import { OrderBy } from './order-by';
6
+ /**
7
+ * 更新
8
+ * @param config
9
+ * @param connection
10
+ * @param mapping
11
+ * @param data
12
+ * @returns
13
+ */
14
+ export declare function update<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, data: T): Promise<T>;
15
+ /**
16
+ * 更新器
17
+ */
18
+ export type Updater<T> = Partial<{
19
+ [key in keyof T]: T[key] | undefined | ['setNull'] | ['inc'] | ['inc', number] | ['now']
20
+ /**
21
+ * 设置一个字段的值,和直接赋值是一样的,作用是解决一些特殊的情况的冲突
22
+ * 比如将 json 字段的值设置为 ['setNull'] ,这就会被认为是要置空,
23
+ * 使用 ['set',['setNull']] 就可以解决这个问题
24
+ */
25
+ | ['set', T[key]]
26
+ /**
27
+ * 字符串追加,如 ['concat', '/suffix'] 生成 col = CONCAT(IFNULL(col, ''), '/suffix')
28
+ * NULL 安全:字段为 NULL 时视作空字符串
29
+ */
30
+ | ['concat', string]
31
+ /**
32
+ * 使用自定义表达式
33
+ * ['expr', '?? * ?', ['score', 2]] 生成 score = score * 2
34
+ * 无参数时可省略第三个参数,如 ['expr', 'NOW()'] 等同 ['expr', 'NOW()', []]
35
+ */
36
+ | ['expr', string, any[]] | ['expr', string];
37
+ }>;
38
+ /**
39
+ * 转换更新器
40
+ * @param table
41
+ * @param updater
42
+ * @param autoUpdateTime 是否自动添加更新时间
43
+ * @returns
44
+ */
45
+ export declare function updatorToSql<T>(table: Table<T>, updater: Updater<T>): {
46
+ sql: string;
47
+ values: any[];
48
+ };
49
+ /**
50
+ * 部分更新
51
+ * @param connection
52
+ * @param mapping
53
+ * @param type
54
+ * @param data
55
+ */
56
+ export declare function partialUpdate<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, data: Updater<T>): Promise<boolean>;
57
+ /**
58
+ * 更新指定的一条记录
59
+ * @param config
60
+ * @param connection
61
+ * @param table
62
+ * @param query
63
+ * @param data
64
+ */
65
+ export declare function updateOne<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, query: MixCriteria<T>, updater: Updater<T>): Promise<boolean>;
66
+ /**
67
+ * 更新选项
68
+ */
69
+ export interface UpdateOpts<T> {
70
+ /**
71
+ *
72
+ */
73
+ table: Table<T>;
74
+ /**
75
+ * 查询条件
76
+ */
77
+ query: MixCriteria<T>;
78
+ /**
79
+ * 限制数量
80
+ */
81
+ limit?: number;
82
+ /**
83
+ * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
84
+ */
85
+ orderBy?: OrderBy<T>;
86
+ /**
87
+ * 更新设置
88
+ */
89
+ updater: Updater<T>;
90
+ }
91
+ /**
92
+ * 更新所有匹配条件的记录
93
+ * @param config
94
+ * @param connection 连接
95
+ * @param table 表
96
+ * @param query 查询条件
97
+ * @param updater 更新操作,支持置空和递增(需要使用元组)
98
+ */
99
+ export declare function updateMany<T>(config: MysqlConfig, connection: PoolConnection, opts: UpdateOpts<T>): Promise<number>;
@@ -0,0 +1,36 @@
1
+ import { PoolConnection } from 'mysql2';
2
+ import { MysqlConfig } from '../../config';
3
+ import { Table } from '../../table-info';
4
+ import { InsertValue } from './insert';
5
+ import { Updater } from './update';
6
+ /**
7
+ * Upsert 单条数据
8
+ * 如果主键冲突则更新,否则插入
9
+ * @param config
10
+ * @param connection
11
+ * @param table
12
+ * @param data
13
+ * @returns
14
+ */
15
+ export declare function upsert<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, data: InsertValue<T>): Promise<T>;
16
+ /**
17
+ * Upsert 多条数据
18
+ * 如果主键冲突则更新,否则插入
19
+ * @param config
20
+ * @param connection
21
+ * @param table
22
+ * @param list
23
+ * @returns 影响的行数
24
+ */
25
+ export declare function upsertMany<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, list: InsertValue<T>[]): Promise<number>;
26
+ /**
27
+ * Upsert 单条数据(支持自定义更新器)
28
+ * 如果主键冲突则按自定义逻辑更新,否则插入
29
+ * @param config
30
+ * @param connection
31
+ * @param table
32
+ * @param data 插入的数据
33
+ * @param updater 冲突时的更新器
34
+ * @returns
35
+ */
36
+ export declare function upsertWithUpdater<T>(config: MysqlConfig, connection: PoolConnection, table: Table<T>, data: InsertValue<T>, updater: Updater<T>): Promise<T>;
@@ -1,5 +1,5 @@
1
- /**
2
- * 处理列的值,对特殊类型 json 进行加工处理后返回
3
- * @param value
4
- */
5
- export declare function processColumnValue(value: any): any;
1
+ /**
2
+ * 处理列的值,对特殊类型 json 进行加工处理后返回
3
+ * @param value
4
+ */
5
+ export declare function processColumnValue(value: any): any;
@@ -1,36 +1,36 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { MysqlConfig } from '../config';
3
- import { MysqlTxSession } from './tx';
4
- import { Table } from '../table-info';
5
- import { DeleteManyOpts, FindOpts, FindSelectOpts, MixCriteria, MysqlPage, MysqlPaginateOpts, UpdateOpts, Updater } from './ops';
6
- /**
7
- * 严格 mysql 事务会话,会禁用一些操作.
8
- */
9
- export declare class MysqlStrictTxSession extends MysqlTxSession {
10
- #private;
11
- private config;
12
- constructor(config: MysqlConfig, conn: PoolConnection);
13
- findById<T>(table: Table<T>, id: string | number): Promise<T | null>;
14
- findByIdIn<T>(table: Table<T>, ids: (string | number)[]): Promise<T[]>;
15
- existsBy<T>(table: Table<T>, criteria?: MixCriteria<T> | undefined): Promise<boolean>;
16
- existsById<T>(table: Table<T>, id: string | number): Promise<boolean>;
17
- deleteById<T>(table: Table<T>, id: string | number): Promise<boolean>;
18
- deleteOne<T>(table: Table<T>, criteria: Partial<T>): Promise<boolean>;
19
- deleteMany<T>(opts: DeleteManyOpts<T>): Promise<number>;
20
- findAll<T>(table: Table<T>): Promise<T[]>;
21
- findFirst<T>(table: Table<T>, criteria?: MixCriteria<T> | undefined): Promise<T | null>;
22
- insert<T>(table: Table<T>, data: T): Promise<T>;
23
- insertMany<T>(table: Table<T>, list: T[]): Promise<void>;
24
- update<T>(table: Table<T>, data: T): Promise<T>;
25
- updateMany<T>(opts: UpdateOpts<T>): Promise<number>;
26
- updateOne<T>(table: Table<T>, query: Partial<T>, updater: Partial<{
27
- [key in keyof T]: ['setNull'] | ['inc', number] | T[key] | undefined;
28
- }>): Promise<boolean>;
29
- partialUpdate<T>(table: Table<T>, data: Updater<T>): Promise<boolean>;
30
- find<T>(opts: FindOpts<T>): Promise<T[]>;
31
- findSelect<T, K extends keyof T>(opts: FindSelectOpts<T, K>): Promise<Pick<T, K>[]>;
32
- count<T>(table: Table<T>, criteria?: MixCriteria<T> | undefined): Promise<number>;
33
- paginate<T>(opts: MysqlPaginateOpts<T>): Promise<MysqlPage<T>>;
34
- query<T>(sql: string, values?: any[] | undefined): Promise<T[]>;
35
- modify(sql: string, values?: any[] | undefined): Promise<number>;
36
- }
1
+ import { PoolConnection } from 'mysql2';
2
+ import { MysqlConfig } from '../config';
3
+ import { MysqlTxSession } from './tx';
4
+ import { Table } from '../table-info';
5
+ import { DeleteManyOpts, FindOpts, FindSelectOpts, MixCriteria, MysqlPage, MysqlPaginateOpts, UpdateOpts, Updater } from './ops';
6
+ /**
7
+ * 严格 mysql 事务会话,会禁用一些操作.
8
+ */
9
+ export declare class MysqlStrictTxSession extends MysqlTxSession {
10
+ #private;
11
+ private config;
12
+ constructor(config: MysqlConfig, conn: PoolConnection);
13
+ findById<T>(table: Table<T>, id: string | number): Promise<T | null>;
14
+ findByIdIn<T>(table: Table<T>, ids: (string | number)[]): Promise<T[]>;
15
+ existsBy<T>(table: Table<T>, criteria?: MixCriteria<T> | undefined): Promise<boolean>;
16
+ existsById<T>(table: Table<T>, id: string | number): Promise<boolean>;
17
+ deleteById<T>(table: Table<T>, id: string | number): Promise<boolean>;
18
+ deleteOne<T>(table: Table<T>, criteria: Partial<T>): Promise<boolean>;
19
+ deleteMany<T>(opts: DeleteManyOpts<T>): Promise<number>;
20
+ findAll<T>(table: Table<T>): Promise<T[]>;
21
+ findFirst<T>(table: Table<T>, criteria?: MixCriteria<T> | undefined): Promise<T | null>;
22
+ insert<T>(table: Table<T>, data: T): Promise<T>;
23
+ insertMany<T>(table: Table<T>, list: T[]): Promise<void>;
24
+ update<T>(table: Table<T>, data: T): Promise<T>;
25
+ updateMany<T>(opts: UpdateOpts<T>): Promise<number>;
26
+ updateOne<T>(table: Table<T>, query: Partial<T>, updater: Partial<{
27
+ [key in keyof T]: ['setNull'] | ['inc', number] | T[key] | undefined;
28
+ }>): Promise<boolean>;
29
+ partialUpdate<T>(table: Table<T>, data: Updater<T>): Promise<boolean>;
30
+ find<T>(opts: FindOpts<T>): Promise<T[]>;
31
+ findSelect<T, K extends keyof T>(opts: FindSelectOpts<T, K>): Promise<Pick<T, K>[]>;
32
+ count<T>(table: Table<T>, criteria?: MixCriteria<T> | undefined): Promise<number>;
33
+ paginate<T>(opts: MysqlPaginateOpts<T>): Promise<MysqlPage<T>>;
34
+ query<T>(sql: string, values?: any[] | undefined): Promise<T[]>;
35
+ modify(sql: string, values?: any[] | undefined): Promise<number>;
36
+ }
@@ -1,15 +1,15 @@
1
- import { PoolConnection } from 'mysql2';
2
- import { BaseMysqlManager } from './base';
3
- import { MysqlConfig } from '../config';
4
- /**
5
- * mysql 事务会话.
6
- */
7
- export declare class MysqlTxSession extends BaseMysqlManager {
8
- #private;
9
- constructor(config: MysqlConfig, conn: PoolConnection);
10
- protected queryWithConnection<T>(queryFn: (conn: PoolConnection) => Promise<T>): Promise<T>;
11
- /**
12
- * 中止,被中止后的会话不能再进行任何操作
13
- */
14
- abort(): void;
15
- }
1
+ import { PoolConnection } from 'mysql2';
2
+ import { BaseMysqlManager } from './base';
3
+ import { MysqlConfig } from '../config';
4
+ /**
5
+ * mysql 事务会话.
6
+ */
7
+ export declare class MysqlTxSession extends BaseMysqlManager {
8
+ #private;
9
+ constructor(config: MysqlConfig, conn: PoolConnection);
10
+ protected queryWithConnection<T>(queryFn: (conn: PoolConnection) => Promise<T>): Promise<T>;
11
+ /**
12
+ * 中止,被中止后的会话不能再进行任何操作
13
+ */
14
+ abort(): void;
15
+ }
@@ -1,17 +1,17 @@
1
- import { Connection, OkPacket, Pool, PoolConnection, ResultSetHeader, RowDataPacket } from 'mysql2';
2
- import { MysqlConfig } from '../config';
3
- /**
4
- * 查询,适用于各种 sql 的执行
5
- * @param config
6
- * @param conn
7
- * @param sql
8
- * @param values
9
- * @returns
10
- */
11
- export declare function promiseQuery(config: MysqlConfig, conn: Connection, sql: string, values?: any[]): Promise<OkPacket | ResultSetHeader | RowDataPacket[] | [RowDataPacket[], ResultSetHeader] | ResultSetHeader[] | RowDataPacket[][] | OkPacket[]>;
12
- /**
13
- * 获取连接
14
- * @param pool
15
- * @returns
16
- */
17
- export declare function promiseGetConnection(pool: Pool): Promise<PoolConnection>;
1
+ import { Connection, OkPacket, Pool, PoolConnection, ResultSetHeader, RowDataPacket } from 'mysql2';
2
+ import { MysqlConfig } from '../config';
3
+ /**
4
+ * 查询,适用于各种 sql 的执行
5
+ * @param config
6
+ * @param conn
7
+ * @param sql
8
+ * @param values
9
+ * @returns
10
+ */
11
+ export declare function promiseQuery(config: MysqlConfig, conn: Connection, sql: string, values?: any[]): Promise<OkPacket | ResultSetHeader | RowDataPacket[] | [RowDataPacket[], ResultSetHeader] | ResultSetHeader[] | RowDataPacket[][] | OkPacket[]>;
12
+ /**
13
+ * 获取连接
14
+ * @param pool
15
+ * @returns
16
+ */
17
+ export declare function promiseGetConnection(pool: Pool): Promise<PoolConnection>;
@@ -1,8 +1,8 @@
1
- import { Connection } from 'mysql2';
2
- import { MysqlConfig } from './config';
3
- /**
4
- * 迁移.
5
- * @param config
6
- * @param conn
7
- */
8
- export declare function migrate(config: MysqlConfig, conn: Connection): Promise<void>;
1
+ import { Connection } from 'mysql2';
2
+ import { MysqlConfig } from './config';
3
+ /**
4
+ * 迁移.
5
+ * @param config
6
+ * @param conn
7
+ */
8
+ export declare function migrate(config: MysqlConfig, conn: Connection): Promise<void>;
@@ -1,36 +1,36 @@
1
- import { ValidationOpts } from '../validation';
2
- /**
3
- * 表信息. 表的字段分为三个部分:主键、普通列、时间列,分别对应的属性是:id、columns
4
- * 和 createDate 还有 updatedDate,这三部分配置的字段名称不允许有重叠,否则会产生错误.
5
- */
6
- export interface Table<T> {
7
- /**
8
- * 表名.
9
- */
10
- tableName: string;
11
- /**
12
- * id 字段名称.
13
- */
14
- id: keyof T;
15
- /**
16
- * 列字段名称.只有配置了名称的字段才会参与数据库的查询与更新,没有配置的其它字段可作其它用途。
17
- * 注意:columns 配置的字段不能和 id 或更新时间和创建时间重叠,否则在更新时产生错误,将数据改错。
18
- * 程序本身是不会做检查的,编写的时候必须要注意。
19
- */
20
- columns: Array<keyof T>;
21
- /**
22
- * 创建时间字段信息.
23
- */
24
- createdDate?: {
25
- column: keyof T;
26
- type: 'number' | 'date';
27
- };
28
- /**
29
- * 更新时间字段信息.
30
- */
31
- updatedDate?: {
32
- column: keyof T;
33
- type: 'number' | 'date';
34
- };
35
- }
36
- export declare const tableValidation: ValidationOpts<Table<any>>;
1
+ import { ValidationOpts } from '../validation';
2
+ /**
3
+ * 表信息. 表的字段分为三个部分:主键、普通列、时间列,分别对应的属性是:id、columns
4
+ * 和 createDate 还有 updatedDate,这三部分配置的字段名称不允许有重叠,否则会产生错误.
5
+ */
6
+ export interface Table<T> {
7
+ /**
8
+ * 表名.
9
+ */
10
+ tableName: string;
11
+ /**
12
+ * id 字段名称.
13
+ */
14
+ id: keyof T;
15
+ /**
16
+ * 列字段名称.只有配置了名称的字段才会参与数据库的查询与更新,没有配置的其它字段可作其它用途。
17
+ * 注意:columns 配置的字段不能和 id 或更新时间和创建时间重叠,否则在更新时产生错误,将数据改错。
18
+ * 程序本身是不会做检查的,编写的时候必须要注意。
19
+ */
20
+ columns: Array<keyof T>;
21
+ /**
22
+ * 创建时间字段信息.
23
+ */
24
+ createdDate?: {
25
+ column: keyof T;
26
+ type: 'number' | 'date';
27
+ };
28
+ /**
29
+ * 更新时间字段信息.
30
+ */
31
+ updatedDate?: {
32
+ column: keyof T;
33
+ type: 'number' | 'date';
34
+ };
35
+ }
36
+ export declare const tableValidation: ValidationOpts<Table<any>>;
@@ -1,16 +1,16 @@
1
- import { Task, TaskController } from './task';
2
- /**
3
- * 每日任务.
4
- * @param hours 时
5
- * @param minutes 分
6
- * @param task 要执行的任务
7
- * @param timeout 任务超时时间,单位毫秒
8
- * @returns
9
- */
10
- export declare function scheduleDailyTask(hours: number, minutes: number, task: Task, timeout?: number): TaskController;
11
- /**
12
- * 计算到下次指定时间点的延迟
13
- * @param hours
14
- * @param minutes
15
- */
16
- export declare function dailyTaskDelay(hours: number, minutes: number): number;
1
+ import { Task, TaskController } from './task';
2
+ /**
3
+ * 每日任务.
4
+ * @param hours 时
5
+ * @param minutes 分
6
+ * @param task 要执行的任务
7
+ * @param timeout 任务超时时间,单位毫秒
8
+ * @returns
9
+ */
10
+ export declare function scheduleDailyTask(hours: number, minutes: number, task: Task, timeout?: number): TaskController;
11
+ /**
12
+ * 计算到下次指定时间点的延迟
13
+ * @param hours
14
+ * @param minutes
15
+ */
16
+ export declare function dailyTaskDelay(hours: number, minutes: number): number;
@@ -1,9 +1,9 @@
1
- import { Task, TaskController } from './task';
2
- /**
3
- * 固定延迟执行任务
4
- * @param initialDelay 第一次执行延迟的时间,单位秒
5
- * @param delay 每次的延迟时间,单位秒
6
- * @param task 任务
7
- * @param timeout 任务超时时间,单位毫秒
8
- */
9
- export declare function scheduleWithFixedDelay(initialDelay: number, delay: number, task: Task, timeout?: number): TaskController;
1
+ import { Task, TaskController } from './task';
2
+ /**
3
+ * 固定延迟执行任务
4
+ * @param initialDelay 第一次执行延迟的时间,单位秒
5
+ * @param delay 每次的延迟时间,单位秒
6
+ * @param task 任务
7
+ * @param timeout 任务超时时间,单位毫秒
8
+ */
9
+ export declare function scheduleWithFixedDelay(initialDelay: number, delay: number, task: Task, timeout?: number): TaskController;