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
@@ -1,71 +1,71 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { IncomingHttpHeaders } from 'http';
4
- /**
5
- * 请求选项.
6
- */
7
- export interface HttpRequestOpts {
8
- /**
9
- * 链接地址.
10
- */
11
- url: string;
12
- /**
13
- * 查询参数,附加在链接地址上
14
- */
15
- query?: Record<string, string[] | string>;
16
- /**
17
- * 正文,可以是序列化好的字符串或二进制内容.
18
- */
19
- body?: string | Buffer;
20
- /**
21
- * 消息头
22
- */
23
- headers?: IncomingHttpHeaders;
24
- /**
25
- * 请求方法
26
- */
27
- method: 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
28
- /**
29
- * 超时时间,单位毫秒,默认 5000
30
- */
31
- timeout?: number;
32
- /**
33
- * 是否跟随重定向
34
- */
35
- followRedirect?: boolean;
36
- }
37
- /**
38
- * 响应信息.
39
- */
40
- export interface HttpResponseInfo {
41
- /**
42
- * 状态码
43
- */
44
- status: number;
45
- /**
46
- * 消息头.
47
- */
48
- headers: IncomingHttpHeaders;
49
- /**
50
- * 响应正文
51
- */
52
- body: Buffer;
53
- }
54
- /**
55
- * 发送 http 请求.
56
- * @param opts
57
- * @returns
58
- */
59
- export declare function doRequest(opts: HttpRequestOpts): Promise<HttpResponseInfo>;
60
- /**
61
- * 发送 json 格式的 post 请求,body 是未序列化的普通对象,表示要发送的请求数据.
62
- * @param opts
63
- */
64
- export declare function postJson<T>(opts: Pick<HttpRequestOpts, 'url' | 'query' | 'headers' | 'timeout'> & {
65
- body: any;
66
- }): Promise<T>;
67
- /**
68
- * get 请求获取 json 格式数据.
69
- * @param opts
70
- */
71
- export declare function getJson<T>(opts: Pick<HttpRequestOpts, 'url' | 'query' | 'headers' | 'timeout'>): Promise<T>;
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { IncomingHttpHeaders } from 'http';
4
+ /**
5
+ * 请求选项.
6
+ */
7
+ export interface HttpRequestOpts {
8
+ /**
9
+ * 链接地址.
10
+ */
11
+ url: string;
12
+ /**
13
+ * 查询参数,附加在链接地址上
14
+ */
15
+ query?: Record<string, string[] | string>;
16
+ /**
17
+ * 正文,可以是序列化好的字符串或二进制内容.
18
+ */
19
+ body?: string | Buffer;
20
+ /**
21
+ * 消息头
22
+ */
23
+ headers?: IncomingHttpHeaders;
24
+ /**
25
+ * 请求方法
26
+ */
27
+ method: 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
28
+ /**
29
+ * 超时时间,单位毫秒,默认 5000
30
+ */
31
+ timeout?: number;
32
+ /**
33
+ * 是否跟随重定向
34
+ */
35
+ followRedirect?: boolean;
36
+ }
37
+ /**
38
+ * 响应信息.
39
+ */
40
+ export interface HttpResponseInfo {
41
+ /**
42
+ * 状态码
43
+ */
44
+ status: number;
45
+ /**
46
+ * 消息头.
47
+ */
48
+ headers: IncomingHttpHeaders;
49
+ /**
50
+ * 响应正文
51
+ */
52
+ body: Buffer;
53
+ }
54
+ /**
55
+ * 发送 http 请求.
56
+ * @param opts
57
+ * @returns
58
+ */
59
+ export declare function doRequest(opts: HttpRequestOpts): Promise<HttpResponseInfo>;
60
+ /**
61
+ * 发送 json 格式的 post 请求,body 是未序列化的普通对象,表示要发送的请求数据.
62
+ * @param opts
63
+ */
64
+ export declare function postJson<T>(opts: Pick<HttpRequestOpts, 'url' | 'query' | 'headers' | 'timeout'> & {
65
+ body: any;
66
+ }): Promise<T>;
67
+ /**
68
+ * get 请求获取 json 格式数据.
69
+ * @param opts
70
+ */
71
+ export declare function getJson<T>(opts: Pick<HttpRequestOpts, 'url' | 'query' | 'headers' | 'timeout'>): Promise<T>;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const ar: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const ar: I18nMsgs;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const de: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const de: I18nMsgs;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const enUS: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const enUS: I18nMsgs;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const es: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const es: I18nMsgs;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const fr: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const fr: I18nMsgs;
@@ -1,102 +1,102 @@
1
- /// <reference types="node" />
2
- import { IncomingHttpHeaders } from 'http';
3
- /**
4
- * 绑定语言的 i18n 类型,不可切换语言.
5
- */
6
- export declare class BoundI18n<T> {
7
- private readonly lang;
8
- private readonly msgs;
9
- constructor(lang: string, msgs: T);
10
- /**
11
- * 获取当前语言
12
- */
13
- getLang(): string;
14
- /**
15
- * 构建国际化消息.
16
- * @param key 消息模板的 key
17
- * @param args 参数,如果 key 对应的消息模板有占位符号({})可以使用参数来填充
18
- */
19
- buildMsg(key: keyof T, ...args: string[]): string;
20
- }
21
- /**
22
- * 国际化,提供不同语言消息构建的功能,默认英文.
23
- */
24
- export declare class I18n<T> {
25
- readonly enMsgs: T;
26
- /**
27
- * 当前语言
28
- */
29
- private lang;
30
- /**
31
- * 消息模板表,与当前语言是对应的
32
- */
33
- private msgs;
34
- /**
35
- * 消息表,key 是语言,value 是一个 key 为地区,value 为 消息模板的 map,两层 map 为的是能够快速匹配.
36
- * 地区为空的情况下,缺省值为 - 。语言和地区的 key 全转成小写存储。
37
- */
38
- private msgsMap;
39
- /**
40
- * 构造 i18n 对象,必须指定英文的消息模板作为默认。
41
- * @param enMsgs 英文的消息模板
42
- */
43
- constructor(enMsgs: T);
44
- protected findMsgsByLang(langTag: string): T | undefined;
45
- /**
46
- * 设置一种语言对应的消息模板,支持异步,可以做动态加载
47
- * @param langTag
48
- * @param msgs
49
- */
50
- setMsgs(langTag: string, msgs: T): void;
51
- /**
52
- * 给定一个语言标签列表,获得可以被支持的标签列表
53
- * @param tags
54
- */
55
- getSupportedLanguageTags(...tags: string[]): string[];
56
- /**
57
- * 设置当前语言,如果指定的语言不被支持,则修改无效
58
- * @param lang 语言本标签,如 en-US
59
- * @returns 是否成功,如果语言不支持则返回 false,不会改变现有语言
60
- */
61
- setLang(lang: string): boolean;
62
- /**
63
- * 获取当前语言
64
- */
65
- getLang(): string;
66
- /**
67
- * 构建国际化消息.
68
- * @param key 消息模板的 key
69
- * @param args 参数,如果 key 对应的消息模板有占位符号({})可以使用参数来填充
70
- */
71
- buildMsg(key: keyof T, ...args: string[]): string;
72
- /**
73
- * 绑定一种语言,生成新的 i18n 对象,该对象仅能使用某一种语言.
74
- * @param langTag 语言标签,无值则表示绑定当前语言
75
- * @returns 返回一个语言受限的 i18n 对象.
76
- */
77
- bindLang(langTag?: string): BoundI18n<T>;
78
- /**
79
- * 根据请求进行语言切换,解析消息头 'accept-language' ,如果 'accept-language' 中没有包含能够支持的语言则使用默认的英文.
80
- * @param headers 消息头
81
- */
82
- switchByRequest(headers: IncomingHttpHeaders): void;
83
- private parseAcceptLanguage;
84
- /**
85
- * 根据请求进行语言绑定,解析消息头 'accept-language',绑定受支持的第一个语言,如果没有可以被支持的语言,则使用默认的英文.
86
- * @param headers 消息头
87
- */
88
- bindByRequest(headers: IncomingHttpHeaders): BoundI18n<T>;
89
- }
90
- /**
91
- * 可扩展的 i18n ,增加扩展新 i18n 对象的功能,记录扩展的新对象,同步 setLang 操作
92
- */
93
- export declare class ExtensibleI18n<T extends object> extends I18n<T> {
94
- private extendedI18ns;
95
- setLang(lang: string): boolean;
96
- /**
97
- * 扩展国际化内容,生成一个新的 i18n 对象,与当前的 i18n 对象语言保持一致,可在新对象中设置扩展部分的语言。
98
- * <K> 新的消息模板类型
99
- * @param enMsgs
100
- */
101
- extend<K extends object>(enMsgs: K): I18n<K>;
102
- }
1
+ /// <reference types="node" />
2
+ import { IncomingHttpHeaders } from 'http';
3
+ /**
4
+ * 绑定语言的 i18n 类型,不可切换语言.
5
+ */
6
+ export declare class BoundI18n<T> {
7
+ private readonly lang;
8
+ private readonly msgs;
9
+ constructor(lang: string, msgs: T);
10
+ /**
11
+ * 获取当前语言
12
+ */
13
+ getLang(): string;
14
+ /**
15
+ * 构建国际化消息.
16
+ * @param key 消息模板的 key
17
+ * @param args 参数,如果 key 对应的消息模板有占位符号({})可以使用参数来填充
18
+ */
19
+ buildMsg(key: keyof T, ...args: string[]): string;
20
+ }
21
+ /**
22
+ * 国际化,提供不同语言消息构建的功能,默认英文.
23
+ */
24
+ export declare class I18n<T> {
25
+ readonly enMsgs: T;
26
+ /**
27
+ * 当前语言
28
+ */
29
+ private lang;
30
+ /**
31
+ * 消息模板表,与当前语言是对应的
32
+ */
33
+ private msgs;
34
+ /**
35
+ * 消息表,key 是语言,value 是一个 key 为地区,value 为 消息模板的 map,两层 map 为的是能够快速匹配.
36
+ * 地区为空的情况下,缺省值为 - 。语言和地区的 key 全转成小写存储。
37
+ */
38
+ private msgsMap;
39
+ /**
40
+ * 构造 i18n 对象,必须指定英文的消息模板作为默认。
41
+ * @param enMsgs 英文的消息模板
42
+ */
43
+ constructor(enMsgs: T);
44
+ protected findMsgsByLang(langTag: string): T | undefined;
45
+ /**
46
+ * 设置一种语言对应的消息模板,支持异步,可以做动态加载
47
+ * @param langTag
48
+ * @param msgs
49
+ */
50
+ setMsgs(langTag: string, msgs: T): void;
51
+ /**
52
+ * 给定一个语言标签列表,获得可以被支持的标签列表
53
+ * @param tags
54
+ */
55
+ getSupportedLanguageTags(...tags: string[]): string[];
56
+ /**
57
+ * 设置当前语言,如果指定的语言不被支持,则修改无效
58
+ * @param lang 语言本标签,如 en-US
59
+ * @returns 是否成功,如果语言不支持则返回 false,不会改变现有语言
60
+ */
61
+ setLang(lang: string): boolean;
62
+ /**
63
+ * 获取当前语言
64
+ */
65
+ getLang(): string;
66
+ /**
67
+ * 构建国际化消息.
68
+ * @param key 消息模板的 key
69
+ * @param args 参数,如果 key 对应的消息模板有占位符号({})可以使用参数来填充
70
+ */
71
+ buildMsg(key: keyof T, ...args: string[]): string;
72
+ /**
73
+ * 绑定一种语言,生成新的 i18n 对象,该对象仅能使用某一种语言.
74
+ * @param langTag 语言标签,无值则表示绑定当前语言
75
+ * @returns 返回一个语言受限的 i18n 对象.
76
+ */
77
+ bindLang(langTag?: string): BoundI18n<T>;
78
+ /**
79
+ * 根据请求进行语言切换,解析消息头 'accept-language' ,如果 'accept-language' 中没有包含能够支持的语言则使用默认的英文.
80
+ * @param headers 消息头
81
+ */
82
+ switchByRequest(headers: IncomingHttpHeaders): void;
83
+ private parseAcceptLanguage;
84
+ /**
85
+ * 根据请求进行语言绑定,解析消息头 'accept-language',绑定受支持的第一个语言,如果没有可以被支持的语言,则使用默认的英文.
86
+ * @param headers 消息头
87
+ */
88
+ bindByRequest(headers: IncomingHttpHeaders): BoundI18n<T>;
89
+ }
90
+ /**
91
+ * 可扩展的 i18n ,增加扩展新 i18n 对象的功能,记录扩展的新对象,同步 setLang 操作
92
+ */
93
+ export declare class ExtensibleI18n<T extends object> extends I18n<T> {
94
+ private extendedI18ns;
95
+ setLang(lang: string): boolean;
96
+ /**
97
+ * 扩展国际化内容,生成一个新的 i18n 对象,与当前的 i18n 对象语言保持一致,可在新对象中设置扩展部分的语言。
98
+ * <K> 新的消息模板类型
99
+ * @param enMsgs
100
+ */
101
+ extend<K extends object>(enMsgs: K): I18n<K>;
102
+ }
@@ -1,9 +1,9 @@
1
- import { ExtensibleI18n } from './i18n';
2
- import { I18nMsgs } from './msg';
3
- /**
4
- * 获取 i18n 对象
5
- * @returns
6
- */
7
- export declare function getI18n(): ExtensibleI18n<I18nMsgs>;
8
- export * from './i18n';
9
- export * from './msg';
1
+ import { ExtensibleI18n } from './i18n';
2
+ import { I18nMsgs } from './msg';
3
+ /**
4
+ * 获取 i18n 对象
5
+ * @returns
6
+ */
7
+ export declare function getI18n(): ExtensibleI18n<I18nMsgs>;
8
+ export * from './i18n';
9
+ export * from './msg';
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const ja: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const ja: I18nMsgs;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const ko: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const ko: I18nMsgs;
@@ -1,50 +1,50 @@
1
- export interface I18nMsgs {
2
- /**
3
- * 校验错误,不是数组
4
- */
5
- 'validate-err-array': string;
6
- /**
7
- * 校验错误:不是数字
8
- */
9
- 'validate-err-numer': string;
10
- /**
11
- * 校验错误:不得大于
12
- */
13
- 'validate-err-max': string;
14
- /**
15
- * 校验错误:不得小于
16
- */
17
- 'validate-err-min': string;
18
- /**
19
- * 枚举校验错误,值不在范围内
20
- */
21
- 'validate-err-enum': string;
22
- /**
23
- * 校验错误:不能为空
24
- */
25
- 'validate-err-empty': string;
26
- /**
27
- * 校验错误:不是字符串
28
- */
29
- 'validate-err-string': string;
30
- /**
31
- * 校验错误:格式不正确
32
- */
33
- 'validate-err-incorrect-format': string;
34
- /**
35
- * 校验错误,没有 length 属性
36
- */
37
- 'validate-err-no-length': string;
38
- /**
39
- * 校验错误,length 不是数字
40
- */
41
- 'validate-err-length-not-number': string;
42
- /**
43
- * 校验错误:最小长度
44
- */
45
- 'validate-err-min-length': string;
46
- /**
47
- * 校验错误:最大长度
48
- */
49
- 'validate-err-max-length': string;
50
- }
1
+ export interface I18nMsgs {
2
+ /**
3
+ * 校验错误,不是数组
4
+ */
5
+ 'validate-err-array': string;
6
+ /**
7
+ * 校验错误:不是数字
8
+ */
9
+ 'validate-err-numer': string;
10
+ /**
11
+ * 校验错误:不得大于
12
+ */
13
+ 'validate-err-max': string;
14
+ /**
15
+ * 校验错误:不得小于
16
+ */
17
+ 'validate-err-min': string;
18
+ /**
19
+ * 枚举校验错误,值不在范围内
20
+ */
21
+ 'validate-err-enum': string;
22
+ /**
23
+ * 校验错误:不能为空
24
+ */
25
+ 'validate-err-empty': string;
26
+ /**
27
+ * 校验错误:不是字符串
28
+ */
29
+ 'validate-err-string': string;
30
+ /**
31
+ * 校验错误:格式不正确
32
+ */
33
+ 'validate-err-incorrect-format': string;
34
+ /**
35
+ * 校验错误,没有 length 属性
36
+ */
37
+ 'validate-err-no-length': string;
38
+ /**
39
+ * 校验错误,length 不是数字
40
+ */
41
+ 'validate-err-length-not-number': string;
42
+ /**
43
+ * 校验错误:最小长度
44
+ */
45
+ 'validate-err-min-length': string;
46
+ /**
47
+ * 校验错误:最大长度
48
+ */
49
+ 'validate-err-max-length': string;
50
+ }
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const pt: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const pt: I18nMsgs;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const ru: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const ru: I18nMsgs;
@@ -1,11 +1,11 @@
1
- export interface LangTag {
2
- lang: string;
3
- region?: string;
4
- }
5
- /**
6
- * 解析语言标签,语言标签格式非常多,这里仅支持语言加地区的形式,如 zh-CN。
7
- * 更多信息可以查看 https://www.rfc-editor.org/rfc/bcp/bcp47.txt 。
8
- * @param tag
9
- * @returns 语言和地区信息,为了方便匹配,全转小写
10
- */
11
- export declare function parseLangTag(tag: string): LangTag;
1
+ export interface LangTag {
2
+ lang: string;
3
+ region?: string;
4
+ }
5
+ /**
6
+ * 解析语言标签,语言标签格式非常多,这里仅支持语言加地区的形式,如 zh-CN。
7
+ * 更多信息可以查看 https://www.rfc-editor.org/rfc/bcp/bcp47.txt 。
8
+ * @param tag
9
+ * @returns 语言和地区信息,为了方便匹配,全转小写
10
+ */
11
+ export declare function parseLangTag(tag: string): LangTag;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from "./msg";
2
- export declare const zhHK: I18nMsgs;
1
+ import { I18nMsgs } from "./msg";
2
+ export declare const zhHK: I18nMsgs;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const zhTW: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const zhTW: I18nMsgs;
@@ -1,2 +1,2 @@
1
- import { I18nMsgs } from './msg';
2
- export declare const zhCN: I18nMsgs;
1
+ import { I18nMsgs } from './msg';
2
+ export declare const zhCN: I18nMsgs;
package/types/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export * from './log';
2
- export * from './i18n';
3
- export * from './validation';
4
- export * from './config';
5
- export * from './cache';
6
- export * from './task';
7
- export * from './mvc';
8
- export * from './mysql';
9
- export * from './http-client';
10
- export * from './mongodb';
11
- export * from './lock';
1
+ export * from './log';
2
+ export * from './i18n';
3
+ export * from './validation';
4
+ export * from './config';
5
+ export * from './cache';
6
+ export * from './task';
7
+ export * from './mvc';
8
+ export * from './mysql';
9
+ export * from './http-client';
10
+ export * from './mongodb';
11
+ export * from './lock';