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,38 +1,38 @@
1
- /**
2
- * 校验异常.
3
- */
4
- export declare class ValidationException extends Error {
5
- /**
6
- * 异常信息,如 “不能为空” 之类的.
7
- */
8
- readonly errMsg: string;
9
- /**
10
- * 校验器名称,如 length 、notNull 之类的.
11
- */
12
- readonly validator: string;
13
- /**
14
- * 校验出错的路径.
15
- */
16
- readonly propertyPath: string;
17
- /**
18
- * 值
19
- */
20
- readonly val: any;
21
- constructor(
22
- /**
23
- * 异常信息,如 “不能为空” 之类的.
24
- */
25
- errMsg: string,
26
- /**
27
- * 校验器名称,如 length 、notNull 之类的.
28
- */
29
- validator: string,
30
- /**
31
- * 校验出错的路径.
32
- */
33
- propertyPath: string,
34
- /**
35
- * 值
36
- */
37
- val: any);
38
- }
1
+ /**
2
+ * 校验异常.
3
+ */
4
+ export declare class ValidationException extends Error {
5
+ /**
6
+ * 异常信息,如 “不能为空” 之类的.
7
+ */
8
+ readonly errMsg: string;
9
+ /**
10
+ * 校验器名称,如 length 、notNull 之类的.
11
+ */
12
+ readonly validator: string;
13
+ /**
14
+ * 校验出错的路径.
15
+ */
16
+ readonly propertyPath: string;
17
+ /**
18
+ * 值
19
+ */
20
+ readonly val: any;
21
+ constructor(
22
+ /**
23
+ * 异常信息,如 “不能为空” 之类的.
24
+ */
25
+ errMsg: string,
26
+ /**
27
+ * 校验器名称,如 length 、notNull 之类的.
28
+ */
29
+ validator: string,
30
+ /**
31
+ * 校验出错的路径.
32
+ */
33
+ propertyPath: string,
34
+ /**
35
+ * 值
36
+ */
37
+ val: any);
38
+ }
@@ -1,32 +1,32 @@
1
- /**
2
- * 校验结果。message:错误信息,反馈给调用处;validator 校验器名称,用于记录错误信息来自哪个校验器,
3
- * 以便于程序在出错时知道信息来自哪里。
4
- */
5
- export type ValidationResult = {
6
- ok: true;
7
- } | {
8
- ok: false;
9
- message: string;
10
- validator: string;
11
- /**
12
- * 如果校验的是层级深的对象,内部的属性发生了错误,可用于标记属性的路径
13
- */
14
- propPath?: string[];
15
- };
16
- /**
17
- * 校验器.
18
- */
19
- export type PropValidator<T> = (val: T) => ValidationResult;
20
- /**
21
- * 对象的校验选项
22
- */
23
- export type ValidationOpts<T> = Partial<{
24
- [key in keyof T]: PropValidator<T[key]>[];
25
- }>;
26
- /**
27
- * 校验对象.
28
- * @param obj
29
- */
30
- export declare function validate<T>(obj: T, opts: ValidationOpts<T>): void;
31
- export * from './exception';
32
- export * from './validator';
1
+ /**
2
+ * 校验结果。message:错误信息,反馈给调用处;validator 校验器名称,用于记录错误信息来自哪个校验器,
3
+ * 以便于程序在出错时知道信息来自哪里。
4
+ */
5
+ export type ValidationResult = {
6
+ ok: true;
7
+ } | {
8
+ ok: false;
9
+ message: string;
10
+ validator: string;
11
+ /**
12
+ * 如果校验的是层级深的对象,内部的属性发生了错误,可用于标记属性的路径
13
+ */
14
+ propPath?: string[];
15
+ };
16
+ /**
17
+ * 校验器.
18
+ */
19
+ export type PropValidator<T> = (val: T) => ValidationResult;
20
+ /**
21
+ * 对象的校验选项
22
+ */
23
+ export type ValidationOpts<T> = Partial<{
24
+ [key in keyof T]: PropValidator<T[key]>[];
25
+ }>;
26
+ /**
27
+ * 校验对象.
28
+ * @param obj
29
+ */
30
+ export declare function validate<T>(obj: T, opts: ValidationOpts<T>): void;
31
+ export * from './exception';
32
+ export * from './validator';
@@ -1,5 +1,5 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 校验数组的条目.
4
- */
5
- export declare function array<T>(opts: PropValidator<T>[]): PropValidator<T[] | undefined>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 校验数组的条目.
4
+ */
5
+ export declare function array<T>(opts: PropValidator<T>[]): PropValidator<T[] | undefined>;
@@ -1,8 +1,8 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 枚举,校验值必须是指定列表中的一个.
4
- * @param list 支持的值列表,仅支持数字和字符串类型
5
- * @param msg
6
- * @returns
7
- */
8
- export declare function enumerate<T>(list: (number | string)[], msg?: string): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 枚举,校验值必须是指定列表中的一个.
4
+ * @param list 支持的值列表,仅支持数字和字符串类型
5
+ * @param msg
6
+ * @returns
7
+ */
8
+ export declare function enumerate<T>(list: (number | string)[], msg?: string): PropValidator<T>;
@@ -1,11 +1,11 @@
1
- export * from './not-null';
2
- export * from './not-blank';
3
- export * from './max';
4
- export * from './min';
5
- export * from './regexp';
6
- export * from './length';
7
- export * from './enum';
8
- export * from './array';
9
- export * from './plain-obj';
10
- export * from './max-length';
11
- export * from './min-length';
1
+ export * from './not-null';
2
+ export * from './not-blank';
3
+ export * from './max';
4
+ export * from './min';
5
+ export * from './regexp';
6
+ export * from './length';
7
+ export * from './enum';
8
+ export * from './array';
9
+ export * from './plain-obj';
10
+ export * from './max-length';
11
+ export * from './min-length';
@@ -1,10 +1,10 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * length 校验,可用于字符串或数组.
4
- * @returns
5
- */
6
- export declare function length<T>(opts: {
7
- min?: number;
8
- max?: number;
9
- message?: string;
10
- }): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * length 校验,可用于字符串或数组.
4
+ * @returns
5
+ */
6
+ export declare function length<T>(opts: {
7
+ min?: number;
8
+ max?: number;
9
+ message?: string;
10
+ }): PropValidator<T>;
@@ -1,8 +1,8 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 最大长度校验,可用于字符串或数组.
4
- * @param maxLength
5
- * @param message
6
- * @returns
7
- */
8
- export declare function maxLength<T>(maxLength: number, message?: string): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 最大长度校验,可用于字符串或数组.
4
+ * @param maxLength
5
+ * @param message
6
+ * @returns
7
+ */
8
+ export declare function maxLength<T>(maxLength: number, message?: string): PropValidator<T>;
@@ -1,7 +1,7 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 最大值校验.
4
- * @param max 最大值
5
- * @param msg 错误消息
6
- */
7
- export declare function max<T>(max: number, msg?: string): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 最大值校验.
4
+ * @param max 最大值
5
+ * @param msg 错误消息
6
+ */
7
+ export declare function max<T>(max: number, msg?: string): PropValidator<T>;
@@ -1,6 +1,6 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 最小长度校验,可用于字符串或数组.
4
- * @returns
5
- */
6
- export declare function minLength<T>(minLength: number, message?: string): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 最小长度校验,可用于字符串或数组.
4
+ * @returns
5
+ */
6
+ export declare function minLength<T>(minLength: number, message?: string): PropValidator<T>;
@@ -1,7 +1,7 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 最小值校验.
4
- * @param min 最小值
5
- * @param msg 错误消息
6
- */
7
- export declare function min<T>(min: number, msg?: string): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 最小值校验.
4
+ * @param min 最小值
5
+ * @param msg 错误消息
6
+ */
7
+ export declare function min<T>(min: number, msg?: string): PropValidator<T>;
@@ -1,7 +1,7 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 字符串非空校验,以下的情况不会通过校验:undefined,null,非 string 类型,空白字符串.
4
- * @param message
5
- * @returns
6
- */
7
- export declare function notBlank<T>(message?: string): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 字符串非空校验,以下的情况不会通过校验:undefined,null,非 string 类型,空白字符串.
4
+ * @param message
5
+ * @returns
6
+ */
7
+ export declare function notBlank<T>(message?: string): PropValidator<T>;
@@ -1,6 +1,6 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 非空校验.
4
- * @param message
5
- */
6
- export declare function notNull<T>(message?: string): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 非空校验.
4
+ * @param message
5
+ */
6
+ export declare function notNull<T>(message?: string): PropValidator<T>;
@@ -1,7 +1,7 @@
1
- import { PropValidator, ValidationOpts } from '..';
2
- /**
3
- * 普通对象校验.
4
- * @param opts
5
- * @returns
6
- */
7
- export declare function plainObject<T>(opts: ValidationOpts<Exclude<T, undefined>>): PropValidator<T>;
1
+ import { PropValidator, ValidationOpts } from '..';
2
+ /**
3
+ * 普通对象校验.
4
+ * @param opts
5
+ * @returns
6
+ */
7
+ export declare function plainObject<T>(opts: ValidationOpts<Exclude<T, undefined>>): PropValidator<T>;
@@ -1,8 +1,8 @@
1
- import { PropValidator } from '..';
2
- /**
3
- * 正则校验
4
- * @param pattern 正则表达式
5
- * @param msg 错误消息
6
- * @returns
7
- */
8
- export declare function regexp<T>(pattern: RegExp, msg?: string): PropValidator<T>;
1
+ import { PropValidator } from '..';
2
+ /**
3
+ * 正则校验
4
+ * @param pattern 正则表达式
5
+ * @param msg 错误消息
6
+ * @returns
7
+ */
8
+ export declare function regexp<T>(pattern: RegExp, msg?: string): PropValidator<T>;