wok-server 0.4.13 → 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 (376) 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 -29
  31. package/dist/log/date.js +21 -21
  32. package/dist/log/file.js +198 -72
  33. package/dist/log/index.js +135 -105
  34. package/dist/log/level.js +33 -33
  35. package/dist/log/log.js +56 -0
  36. package/dist/log/store.js +19 -16
  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 -231
  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 -130
  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 -100
  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/engineering.md +1 -1
  129. package/documentation/zh-cn/log.md +81 -8
  130. package/documentation/zh-cn/mvc.md +66 -24
  131. package/documentation/zh-cn/mysql.md +24 -23
  132. package/documentation/zh-cn/validate.md +2 -2
  133. package/package.json +3 -1
  134. package/skills/wok-server-api-rules/SKILL.md +350 -0
  135. package/skills/wok-server-cache/SKILL.md +216 -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 +315 -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 +285 -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 +412 -0
  232. package/src/mysql/manager/ops/delete.ts +96 -0
  233. package/src/mysql/manager/ops/exist.ts +41 -0
  234. package/src/mysql/manager/ops/find.ts +226 -0
  235. package/src/mysql/manager/ops/index.ts +11 -0
  236. package/src/mysql/manager/ops/insert.ts +120 -0
  237. package/src/mysql/manager/ops/modify.ts +14 -0
  238. package/src/mysql/manager/ops/paginate.ts +60 -0
  239. package/src/mysql/manager/ops/query.ts +13 -0
  240. package/src/mysql/manager/ops/update.ts +294 -0
  241. package/src/mysql/manager/ops/utils.ts +20 -0
  242. package/src/mysql/manager/tx-strict.ts +138 -0
  243. package/src/mysql/manager/tx.ts +31 -0
  244. package/src/mysql/manager/utils.ts +75 -0
  245. package/src/mysql/migration.ts +149 -0
  246. package/src/mysql/table-info.ts +41 -0
  247. package/src/task/daily.ts +70 -0
  248. package/src/task/fixed-delay.ts +45 -0
  249. package/src/task/fixed-rate.ts +49 -0
  250. package/src/task/index.ts +4 -0
  251. package/src/task/task.ts +70 -0
  252. package/src/validation/exception.ts +27 -0
  253. package/src/validation/index.ts +61 -0
  254. package/src/validation/validator/array.ts +32 -0
  255. package/src/validation/validator/enum.ts +25 -0
  256. package/src/validation/validator/index.ts +11 -0
  257. package/src/validation/validator/length.ts +42 -0
  258. package/src/validation/validator/max-length.ts +33 -0
  259. package/src/validation/validator/max.ts +26 -0
  260. package/src/validation/validator/min-length.ts +31 -0
  261. package/src/validation/validator/min.ts +26 -0
  262. package/src/validation/validator/not-blank.ts +31 -0
  263. package/src/validation/validator/not-null.ts +19 -0
  264. package/src/validation/validator/plain-obj.ts +30 -0
  265. package/src/validation/validator/regexp.ts +32 -0
  266. package/types/cache/cache.d.ts +52 -52
  267. package/types/cache/config.d.ts +32 -32
  268. package/types/cache/index.d.ts +2 -2
  269. package/types/cache/purge-task.d.ts +11 -11
  270. package/types/cache/stat.d.ts +26 -26
  271. package/types/config/convert.d.ts +6 -6
  272. package/types/config/exception.d.ts +7 -7
  273. package/types/config/index.d.ts +25 -25
  274. package/types/http-client/index.d.ts +71 -71
  275. package/types/i18n/ar.d.ts +2 -2
  276. package/types/i18n/de.d.ts +2 -2
  277. package/types/i18n/en-us.d.ts +2 -2
  278. package/types/i18n/es.d.ts +2 -2
  279. package/types/i18n/fr.d.ts +2 -2
  280. package/types/i18n/i18n.d.ts +102 -102
  281. package/types/i18n/index.d.ts +9 -9
  282. package/types/i18n/ja.d.ts +2 -2
  283. package/types/i18n/ko.d.ts +2 -2
  284. package/types/i18n/msg.d.ts +50 -50
  285. package/types/i18n/pt.d.ts +2 -2
  286. package/types/i18n/ru.d.ts +2 -2
  287. package/types/i18n/tag.d.ts +11 -11
  288. package/types/i18n/zh-HK.d.ts +2 -2
  289. package/types/i18n/zh-TW.d.ts +2 -2
  290. package/types/i18n/zh-cn.d.ts +2 -2
  291. package/types/index.d.ts +11 -11
  292. package/types/lock/index.d.ts +64 -64
  293. package/types/log/config.d.ts +35 -27
  294. package/types/log/date.d.ts +2 -2
  295. package/types/log/file.d.ts +13 -5
  296. package/types/log/index.d.ts +53 -34
  297. package/types/log/level.d.ts +14 -14
  298. package/types/log/log.d.ts +40 -0
  299. package/types/log/store.d.ts +19 -12
  300. package/types/mongodb/collection.d.ts +25 -25
  301. package/types/mongodb/config.d.ts +45 -45
  302. package/types/mongodb/doc.d.ts +11 -11
  303. package/types/mongodb/exception.d.ts +7 -7
  304. package/types/mongodb/index.d.ts +29 -29
  305. package/types/mongodb/manager/base.d.ts +188 -188
  306. package/types/mongodb/manager/index.d.ts +38 -38
  307. package/types/mongodb/manager/tx-strict.d.ts +41 -41
  308. package/types/mongodb/manager/tx.d.ts +21 -21
  309. package/types/mongodb/migration.d.ts +12 -12
  310. package/types/mvc/access-log.d.ts +7 -7
  311. package/types/mvc/config.d.ts +42 -42
  312. package/types/mvc/exchange.d.ts +72 -72
  313. package/types/mvc/handler/index.d.ts +4 -3
  314. package/types/mvc/handler/json.d.ts +44 -44
  315. package/types/mvc/handler/restful.d.ts +11 -11
  316. package/types/mvc/handler/sse.d.ts +34 -0
  317. package/types/mvc/handler/upload.d.ts +36 -36
  318. package/types/mvc/index.d.ts +22 -22
  319. package/types/mvc/interceptor.d.ts +11 -11
  320. package/types/mvc/query.d.ts +13 -13
  321. package/types/mvc/render/file.d.ts +10 -10
  322. package/types/mvc/render/html/html.d.ts +98 -98
  323. package/types/mvc/render/html/index.d.ts +11 -11
  324. package/types/mvc/render/html/style.d.ts +1201 -1201
  325. package/types/mvc/render/index.d.ts +4 -4
  326. package/types/mvc/render/json.d.ts +17 -17
  327. package/types/mvc/render/text.d.ts +10 -10
  328. package/types/mvc/router.d.ts +11 -11
  329. package/types/mvc/server.d.ts +90 -90
  330. package/types/mvc/static/header.d.ts +27 -27
  331. package/types/mvc/static/index.d.ts +3 -3
  332. package/types/mvc/static/mime-type.d.ts +2 -2
  333. package/types/mvc/static/server-cache-config.d.ts +30 -30
  334. package/types/mvc/static/server-cache.d.ts +76 -76
  335. package/types/mvc/static/static-handler.d.ts +77 -77
  336. package/types/mysql/config.d.ts +90 -90
  337. package/types/mysql/exception.d.ts +7 -7
  338. package/types/mysql/index.d.ts +16 -16
  339. package/types/mysql/manager/base.d.ts +165 -159
  340. package/types/mysql/manager/index.d.ts +36 -36
  341. package/types/mysql/manager/ops/count.d.ts +13 -13
  342. package/types/mysql/manager/ops/criteria.d.ts +134 -134
  343. package/types/mysql/manager/ops/delete.d.ts +46 -46
  344. package/types/mysql/manager/ops/exist.d.ts +6 -6
  345. package/types/mysql/manager/ops/find.d.ts +86 -70
  346. package/types/mysql/manager/ops/index.d.ts +10 -10
  347. package/types/mysql/manager/ops/insert.d.ts +18 -18
  348. package/types/mysql/manager/ops/modify.d.ts +3 -3
  349. package/types/mysql/manager/ops/paginate.d.ts +36 -36
  350. package/types/mysql/manager/ops/query.d.ts +3 -3
  351. package/types/mysql/manager/ops/update.d.ts +76 -76
  352. package/types/mysql/manager/ops/utils.d.ts +5 -5
  353. package/types/mysql/manager/tx-strict.d.ts +36 -35
  354. package/types/mysql/manager/tx.d.ts +15 -15
  355. package/types/mysql/manager/utils.d.ts +17 -17
  356. package/types/mysql/migration.d.ts +8 -8
  357. package/types/mysql/table-info.d.ts +36 -36
  358. package/types/task/daily.d.ts +16 -16
  359. package/types/task/fixed-delay.d.ts +9 -9
  360. package/types/task/fixed-rate.d.ts +9 -9
  361. package/types/task/index.d.ts +4 -4
  362. package/types/task/task.d.ts +34 -34
  363. package/types/validation/exception.d.ts +38 -38
  364. package/types/validation/index.d.ts +32 -32
  365. package/types/validation/validator/array.d.ts +5 -5
  366. package/types/validation/validator/enum.d.ts +8 -8
  367. package/types/validation/validator/index.d.ts +11 -11
  368. package/types/validation/validator/length.d.ts +10 -10
  369. package/types/validation/validator/max-length.d.ts +8 -8
  370. package/types/validation/validator/max.d.ts +7 -7
  371. package/types/validation/validator/min-length.d.ts +6 -6
  372. package/types/validation/validator/min.d.ts +7 -7
  373. package/types/validation/validator/not-blank.d.ts +7 -7
  374. package/types/validation/validator/not-null.d.ts +6 -6
  375. package/types/validation/validator/plain-obj.d.ts +7 -7
  376. package/types/validation/validator/regexp.d.ts +8 -8
@@ -1,36 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convert = void 0;
4
- const exception_1 = require("./exception");
5
- /**
6
- * 转换值.
7
- * @param val
8
- * @param defaultVal
9
- */
10
- function convert(val, defaultVal) {
11
- if (typeof defaultVal === 'string') {
12
- return val;
13
- }
14
- else if (typeof defaultVal === 'number') {
15
- const num = parseFloat(val);
16
- if (isNaN(num)) {
17
- throw new exception_1.ConfigException(`Unable to convert value to number :${val}`);
18
- }
19
- return num;
20
- }
21
- else if (typeof defaultVal === 'boolean') {
22
- if (val === 'true') {
23
- return true;
24
- }
25
- else if (val === 'false') {
26
- return false;
27
- }
28
- else {
29
- throw new exception_1.ConfigException(`Cannot convert value to a boolean type:${val}`);
30
- }
31
- }
32
- else {
33
- throw new exception_1.ConfigException(`Unsupported conversion type :${typeof defaultVal}`);
34
- }
35
- }
36
- exports.convert = convert;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convert = void 0;
4
+ const exception_1 = require("./exception");
5
+ /**
6
+ * 转换值.
7
+ * @param val
8
+ * @param defaultVal
9
+ */
10
+ function convert(val, defaultVal) {
11
+ if (typeof defaultVal === 'string') {
12
+ return val;
13
+ }
14
+ else if (typeof defaultVal === 'number') {
15
+ const num = parseFloat(val);
16
+ if (isNaN(num)) {
17
+ throw new exception_1.ConfigException(`Unable to convert value to number :${val}`);
18
+ }
19
+ return num;
20
+ }
21
+ else if (typeof defaultVal === 'boolean') {
22
+ if (val === 'true') {
23
+ return true;
24
+ }
25
+ else if (val === 'false') {
26
+ return false;
27
+ }
28
+ else {
29
+ throw new exception_1.ConfigException(`Cannot convert value to a boolean type:${val}`);
30
+ }
31
+ }
32
+ else {
33
+ throw new exception_1.ConfigException(`Unsupported conversion type :${typeof defaultVal}`);
34
+ }
35
+ }
36
+ exports.convert = convert;
@@ -1,14 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConfigException = void 0;
4
- /**
5
- * 配置异常.
6
- */
7
- class ConfigException extends Error {
8
- message;
9
- constructor(message) {
10
- super(message);
11
- this.message = message;
12
- }
13
- }
14
- exports.ConfigException = ConfigException;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigException = void 0;
4
+ /**
5
+ * 配置异常.
6
+ */
7
+ class ConfigException extends Error {
8
+ message;
9
+ constructor(message) {
10
+ super(message);
11
+ this.message = message;
12
+ }
13
+ }
14
+ exports.ConfigException = ConfigException;
@@ -1,81 +1,81 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateConfig = exports.registerConfig = exports.getConfig = void 0;
4
- const tslib_1 = require("tslib");
5
- const dotenv_1 = require("dotenv");
6
- const validation_1 = require("../validation");
7
- const convert_1 = require("./convert");
8
- const exception_1 = require("./exception");
9
- // 初始化 .env 文件
10
- (0, dotenv_1.config)();
11
- /**
12
- * 环境变量配置表.
13
- */
14
- const configEnvMap = new Map();
15
- /**
16
- * 获取配置
17
- * @param envPrefix
18
- */
19
- function getConfig(envPrefix) {
20
- return configEnvMap.get(envPrefix);
21
- }
22
- exports.getConfig = getConfig;
23
- /**
24
- * 注册配置信息.
25
- * @param defaultConfig 默认值, 模块会根据默认值来映射环境变量,默认值所有的属性都不能是 undefined,否则无法映射.
26
- * @param envPrefix 环境变量前缀.
27
- * @param validation 校验规则,如果有值,初始化的时候会对配置进行校验
28
- * @returns 映射了环境变量后的配置
29
- */
30
- function registerConfig(defaultConfig, envPrefix, validation) {
31
- if (configEnvMap.has(envPrefix)) {
32
- throw new exception_1.ConfigException(`The prefix "${envPrefix}" has already been registered`);
33
- }
34
- const config = generateConfig(defaultConfig, envPrefix, validation);
35
- configEnvMap.set(envPrefix, config);
36
- return config;
37
- }
38
- exports.registerConfig = registerConfig;
39
- /**
40
- * 根据环境变量来生成配置对象,与 registerConfig 的参数是一致的,和 registerConfig 不同的是
41
- * generateConfig 可以多次重复使用,方便在运行时更改环境变量后再生成配置,而调用 registerConfig
42
- * 一旦注册后不能再被更改。之所以这样设计是为了方便程序的测试,模拟不同的环境来运行程序,和其它的
43
- * 一些特殊需求。
44
- * @param defaultConfig
45
- * @param envPrefix
46
- * @param validation
47
- */
48
- function generateConfig(defaultConfig, envPrefix, validation) {
49
- // 环境变量匹配
50
- for (const propName in defaultConfig) {
51
- const defaultVal = defaultConfig[propName];
52
- const envName = buildEnvName(envPrefix, propName);
53
- const envVal = process.env[envName];
54
- console.log(`[CONFIG]prefix:${envPrefix},env variable:${envName} ,value:${envVal},mapping property:${propName}`);
55
- if (!envVal) {
56
- continue;
57
- }
58
- const finalVal = (0, convert_1.convert)(envVal, defaultVal);
59
- defaultConfig[propName] = finalVal;
60
- }
61
- // 校验
62
- if (validation) {
63
- try {
64
- (0, validation_1.validate)(defaultConfig, validation);
65
- }
66
- catch (e) {
67
- console.error(e);
68
- throw new exception_1.ConfigException(`Error in verifying configuration information, configuration prefix:${envPrefix}`);
69
- }
70
- }
71
- return defaultConfig;
72
- }
73
- exports.generateConfig = generateConfig;
74
- function buildEnvName(envPrefix, propName) {
75
- let part2 = propName.replace(/[A-Z]+/g, subStr => `_${subStr}`);
76
- if (part2.startsWith('_')) {
77
- part2 = part2.substring(1);
78
- }
79
- return `${envPrefix.toUpperCase()}_${part2.toUpperCase()}`;
80
- }
81
- tslib_1.__exportStar(require("./exception"), exports);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateConfig = exports.registerConfig = exports.getConfig = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const dotenv_1 = require("dotenv");
6
+ const validation_1 = require("../validation");
7
+ const convert_1 = require("./convert");
8
+ const exception_1 = require("./exception");
9
+ // 初始化 .env 文件
10
+ (0, dotenv_1.config)();
11
+ /**
12
+ * 环境变量配置表.
13
+ */
14
+ const configEnvMap = new Map();
15
+ /**
16
+ * 获取配置
17
+ * @param envPrefix
18
+ */
19
+ function getConfig(envPrefix) {
20
+ return configEnvMap.get(envPrefix);
21
+ }
22
+ exports.getConfig = getConfig;
23
+ /**
24
+ * 注册配置信息.
25
+ * @param defaultConfig 默认值, 模块会根据默认值来映射环境变量,默认值所有的属性都不能是 undefined,否则无法映射.
26
+ * @param envPrefix 环境变量前缀.
27
+ * @param validation 校验规则,如果有值,初始化的时候会对配置进行校验
28
+ * @returns 映射了环境变量后的配置
29
+ */
30
+ function registerConfig(defaultConfig, envPrefix, validation) {
31
+ if (configEnvMap.has(envPrefix)) {
32
+ throw new exception_1.ConfigException(`The prefix "${envPrefix}" has already been registered`);
33
+ }
34
+ const config = generateConfig(defaultConfig, envPrefix, validation);
35
+ configEnvMap.set(envPrefix, config);
36
+ return config;
37
+ }
38
+ exports.registerConfig = registerConfig;
39
+ /**
40
+ * 根据环境变量来生成配置对象,与 registerConfig 的参数是一致的,和 registerConfig 不同的是
41
+ * generateConfig 可以多次重复使用,方便在运行时更改环境变量后再生成配置,而调用 registerConfig
42
+ * 一旦注册后不能再被更改。之所以这样设计是为了方便程序的测试,模拟不同的环境来运行程序,和其它的
43
+ * 一些特殊需求。
44
+ * @param defaultConfig
45
+ * @param envPrefix
46
+ * @param validation
47
+ */
48
+ function generateConfig(defaultConfig, envPrefix, validation) {
49
+ // 环境变量匹配
50
+ for (const propName in defaultConfig) {
51
+ const defaultVal = defaultConfig[propName];
52
+ const envName = buildEnvName(envPrefix, propName);
53
+ const envVal = process.env[envName];
54
+ console.log(`[CONFIG]prefix:${envPrefix},env variable:${envName} ,value:${envVal},mapping property:${propName}`);
55
+ if (!envVal) {
56
+ continue;
57
+ }
58
+ const finalVal = (0, convert_1.convert)(envVal, defaultVal);
59
+ defaultConfig[propName] = finalVal;
60
+ }
61
+ // 校验
62
+ if (validation) {
63
+ try {
64
+ (0, validation_1.validate)(defaultConfig, validation);
65
+ }
66
+ catch (e) {
67
+ console.error(e);
68
+ throw new exception_1.ConfigException(`Error in verifying configuration information, configuration prefix:${envPrefix}`);
69
+ }
70
+ }
71
+ return defaultConfig;
72
+ }
73
+ exports.generateConfig = generateConfig;
74
+ function buildEnvName(envPrefix, propName) {
75
+ let part2 = propName.replace(/[A-Z]+/g, subStr => `_${subStr}`);
76
+ if (part2.startsWith('_')) {
77
+ part2 = part2.substring(1);
78
+ }
79
+ return `${envPrefix.toUpperCase()}_${part2.toUpperCase()}`;
80
+ }
81
+ tslib_1.__exportStar(require("./exception"), exports);
@@ -1,136 +1,136 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getJson = exports.postJson = exports.doRequest = void 0;
4
- const http_1 = require("http");
5
- const https_1 = require("https");
6
- const url_1 = require("url");
7
- /**
8
- * 发送 http 请求.
9
- * @param opts
10
- * @returns
11
- */
12
- function doRequest(opts) {
13
- return new Promise((resolve, reject) => {
14
- const url = new url_1.URL(opts.url);
15
- // query
16
- if (opts.query) {
17
- Object.entries(opts.query).forEach(entry => {
18
- const [key, val] = entry;
19
- // 忽略空值
20
- if (val === undefined || val === null) {
21
- return;
22
- }
23
- else if (typeof val === 'string') {
24
- url.searchParams.append(key, val);
25
- }
26
- else if (Array.isArray(val)) {
27
- val.forEach(v => url.searchParams.append(key, v));
28
- }
29
- else {
30
- throw new Error(`The request parameter value is neither of string nor string[] type:${val} ,name: ${key}`);
31
- }
32
- });
33
- }
34
- const request = url.protocol === 'https:' ? https_1.request : http_1.request;
35
- const req = request(url, {
36
- method: opts.method,
37
- headers: opts.headers,
38
- timeout: opts.timeout && opts.timeout > 0 ? opts.timeout : 5000,
39
- rejectUnauthorized: false
40
- }, res => {
41
- const chunks = [];
42
- res.on('error', reject);
43
- res.on('data', chunk => chunks.push(chunk));
44
- res.on('end', () => {
45
- // 重定向支持
46
- if (opts.followRedirect) {
47
- // 301、302、303、307、308
48
- if (res.statusCode === 301 ||
49
- res.statusCode === 302 ||
50
- res.statusCode === 303 ||
51
- res.statusCode === 307 ||
52
- res.statusCode === 308) {
53
- if (res.headers.location) {
54
- // 重新请求,但是重定向标记改为 false ,只重定向一次,防止无限重定向造成死循环
55
- resolve(doRequest(Object.assign({}, opts, { url: res.headers.location, followRedirect: false })));
56
- return;
57
- }
58
- }
59
- }
60
- const buffer = Buffer.concat(chunks);
61
- resolve({
62
- status: res.statusCode || 0,
63
- body: buffer,
64
- headers: res.headers
65
- });
66
- });
67
- });
68
- req.on('error', reject);
69
- req.on('timeout', () => reject('Request timeout'));
70
- if (opts.body) {
71
- req.write(opts.body);
72
- }
73
- req.end();
74
- });
75
- }
76
- exports.doRequest = doRequest;
77
- /**
78
- * 发送 json 格式的 post 请求,body 是未序列化的普通对象,表示要发送的请求数据.
79
- * @param opts
80
- */
81
- async function postJson(opts) {
82
- const headers = Object.assign({}, opts.headers || {}, {
83
- 'Content-Type': 'application/json; charset=utf-8'
84
- });
85
- const res = await doRequest({
86
- url: opts.url,
87
- query: opts.query,
88
- headers: headers,
89
- timeout: opts.timeout,
90
- method: 'POST',
91
- body: JSON.stringify(opts.body),
92
- followRedirect: false
93
- });
94
- if (res.status !== 200) {
95
- if (res.body.byteLength < 1024) {
96
- throw new Error(`Request failed,status code:${res.status},url:${opts.url},body:${res.body.toString('utf-8')}`);
97
- }
98
- else {
99
- throw new Error(`Request failed,status code:${res.status},url:${opts.url}`);
100
- }
101
- }
102
- const bodyText = res.body.toString('utf8');
103
- if (!bodyText) {
104
- return {};
105
- }
106
- return JSON.parse(bodyText);
107
- }
108
- exports.postJson = postJson;
109
- /**
110
- * get 请求获取 json 格式数据.
111
- * @param opts
112
- */
113
- async function getJson(opts) {
114
- const res = await doRequest({
115
- url: opts.url,
116
- query: opts.query,
117
- headers: opts.headers,
118
- timeout: opts.timeout,
119
- method: 'GET',
120
- followRedirect: true
121
- });
122
- if (res.status !== 200) {
123
- if (res.body.byteLength < 1024) {
124
- throw new Error(`Request failed,status code:${res.status},url:${opts.url},body:${res.body.toString('utf-8')}`);
125
- }
126
- else {
127
- throw new Error(`Request failed,status code:${res.status},url:${opts.url}`);
128
- }
129
- }
130
- const bodyText = res.body.toString('utf8');
131
- if (!bodyText) {
132
- return {};
133
- }
134
- return JSON.parse(bodyText);
135
- }
136
- exports.getJson = getJson;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getJson = exports.postJson = exports.doRequest = void 0;
4
+ const http_1 = require("http");
5
+ const https_1 = require("https");
6
+ const url_1 = require("url");
7
+ /**
8
+ * 发送 http 请求.
9
+ * @param opts
10
+ * @returns
11
+ */
12
+ function doRequest(opts) {
13
+ return new Promise((resolve, reject) => {
14
+ const url = new url_1.URL(opts.url);
15
+ // query
16
+ if (opts.query) {
17
+ Object.entries(opts.query).forEach(entry => {
18
+ const [key, val] = entry;
19
+ // 忽略空值
20
+ if (val === undefined || val === null) {
21
+ return;
22
+ }
23
+ else if (typeof val === 'string') {
24
+ url.searchParams.append(key, val);
25
+ }
26
+ else if (Array.isArray(val)) {
27
+ val.forEach(v => url.searchParams.append(key, v));
28
+ }
29
+ else {
30
+ throw new Error(`The request parameter value is neither of string nor string[] type:${val} ,name: ${key}`);
31
+ }
32
+ });
33
+ }
34
+ const request = url.protocol === 'https:' ? https_1.request : http_1.request;
35
+ const req = request(url, {
36
+ method: opts.method,
37
+ headers: opts.headers,
38
+ timeout: opts.timeout && opts.timeout > 0 ? opts.timeout : 5000,
39
+ rejectUnauthorized: false
40
+ }, res => {
41
+ const chunks = [];
42
+ res.on('error', reject);
43
+ res.on('data', chunk => chunks.push(chunk));
44
+ res.on('end', () => {
45
+ // 重定向支持
46
+ if (opts.followRedirect) {
47
+ // 301、302、303、307、308
48
+ if (res.statusCode === 301 ||
49
+ res.statusCode === 302 ||
50
+ res.statusCode === 303 ||
51
+ res.statusCode === 307 ||
52
+ res.statusCode === 308) {
53
+ if (res.headers.location) {
54
+ // 重新请求,但是重定向标记改为 false ,只重定向一次,防止无限重定向造成死循环
55
+ resolve(doRequest(Object.assign({}, opts, { url: res.headers.location, followRedirect: false })));
56
+ return;
57
+ }
58
+ }
59
+ }
60
+ const buffer = Buffer.concat(chunks);
61
+ resolve({
62
+ status: res.statusCode || 0,
63
+ body: buffer,
64
+ headers: res.headers
65
+ });
66
+ });
67
+ });
68
+ req.on('error', reject);
69
+ req.on('timeout', () => reject('Request timeout'));
70
+ if (opts.body) {
71
+ req.write(opts.body);
72
+ }
73
+ req.end();
74
+ });
75
+ }
76
+ exports.doRequest = doRequest;
77
+ /**
78
+ * 发送 json 格式的 post 请求,body 是未序列化的普通对象,表示要发送的请求数据.
79
+ * @param opts
80
+ */
81
+ async function postJson(opts) {
82
+ const headers = Object.assign({}, opts.headers || {}, {
83
+ 'Content-Type': 'application/json; charset=utf-8'
84
+ });
85
+ const res = await doRequest({
86
+ url: opts.url,
87
+ query: opts.query,
88
+ headers: headers,
89
+ timeout: opts.timeout,
90
+ method: 'POST',
91
+ body: JSON.stringify(opts.body),
92
+ followRedirect: false
93
+ });
94
+ if (res.status !== 200) {
95
+ if (res.body.byteLength < 1024) {
96
+ throw new Error(`Request failed,status code:${res.status},url:${opts.url},body:${res.body.toString('utf-8')}`);
97
+ }
98
+ else {
99
+ throw new Error(`Request failed,status code:${res.status},url:${opts.url}`);
100
+ }
101
+ }
102
+ const bodyText = res.body.toString('utf8');
103
+ if (!bodyText) {
104
+ return {};
105
+ }
106
+ return JSON.parse(bodyText);
107
+ }
108
+ exports.postJson = postJson;
109
+ /**
110
+ * get 请求获取 json 格式数据.
111
+ * @param opts
112
+ */
113
+ async function getJson(opts) {
114
+ const res = await doRequest({
115
+ url: opts.url,
116
+ query: opts.query,
117
+ headers: opts.headers,
118
+ timeout: opts.timeout,
119
+ method: 'GET',
120
+ followRedirect: true
121
+ });
122
+ if (res.status !== 200) {
123
+ if (res.body.byteLength < 1024) {
124
+ throw new Error(`Request failed,status code:${res.status},url:${opts.url},body:${res.body.toString('utf-8')}`);
125
+ }
126
+ else {
127
+ throw new Error(`Request failed,status code:${res.status},url:${opts.url}`);
128
+ }
129
+ }
130
+ const bodyText = res.body.toString('utf8');
131
+ if (!bodyText) {
132
+ return {};
133
+ }
134
+ return JSON.parse(bodyText);
135
+ }
136
+ exports.getJson = getJson;
package/dist/i18n/ar.js CHANGED
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ar = void 0;
4
- exports.ar = {
5
- 'validate-err-array': 'القيمة لست مصفوفة',
6
- 'validate-err-enum': 'يجب أن تكون القيمة واحدة من {}',
7
- 'validate-err-numer': 'القيمة ليست رقمًا',
8
- 'validate-err-max': 'يجب ألا تكون أكبر من {}',
9
- 'validate-err-min': 'يجب ألا تكون أصغر من {}',
10
- 'validate-err-empty': 'لا يمكن أن يكونارغًا',
11
- 'validate-err-string': 'القيمة ليست من نوع سلسلة الحروف',
12
- 'validate-err-incorrect-format': 'التنسيق غير صحيح',
13
- 'validate-err-no-length': 'تعذر العثور على خاصية "length"',
14
- 'validate-err-length-not-number': 'خاصية "length" ليست رقما',
15
- 'validate-err-min-length': 'لا يجوز أن يكن الطول أقل من {}',
16
- 'validate-err-max-length': 'لا يجوز أن يكون الطول أكبر من {}'
17
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ar = void 0;
4
+ exports.ar = {
5
+ 'validate-err-array': 'القيمة لست مصفوفة',
6
+ 'validate-err-enum': 'يجب أن تكون القيمة واحدة من {}',
7
+ 'validate-err-numer': 'القيمة ليست رقمًا',
8
+ 'validate-err-max': 'يجب ألا تكون أكبر من {}',
9
+ 'validate-err-min': 'يجب ألا تكون أصغر من {}',
10
+ 'validate-err-empty': 'لا يمكن أن يكونارغًا',
11
+ 'validate-err-string': 'القيمة ليست من نوع سلسلة الحروف',
12
+ 'validate-err-incorrect-format': 'التنسيق غير صحيح',
13
+ 'validate-err-no-length': 'تعذر العثور على خاصية "length"',
14
+ 'validate-err-length-not-number': 'خاصية "length" ليست رقما',
15
+ 'validate-err-min-length': 'لا يجوز أن يكن الطول أقل من {}',
16
+ 'validate-err-max-length': 'لا يجوز أن يكون الطول أكبر من {}'
17
+ };
package/dist/i18n/de.js CHANGED
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.de = void 0;
4
- exports.de = {
5
- 'validate-err-array': 'Der Wert ist kein Array',
6
- 'validate-err-enum': 'Der Wert muss einer von sein',
7
- 'validate-err-numer': 'Der Wert ist keine Zahl',
8
- 'validate-err-max': 'Darf nicht größer als {} sein',
9
- 'validate-err-min': 'f nicht kleiner als {} sein',
10
- 'validate-err-empty': 'Darf nicht leer',
11
- 'validate-err-string': 'Der Wert ist kein Zeichenketten-Typ',
12
- 'validate-err-incorrect-format': 'Das Format ist nicht korrekt',
13
- 'validate-err-no-length': 'length kann nicht gefunden werden',
14
- 'validate-err-length-not-number': 'Eigenschaft length ist keine zahl',
15
- 'validate-err-min-length': 'Die L darf nicht kleiner als {} sein',
16
- 'validate-err-max-length': 'Die Länge nicht größer als {} sein'
17
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.de = void 0;
4
+ exports.de = {
5
+ 'validate-err-array': 'Der Wert ist kein Array',
6
+ 'validate-err-enum': 'Der Wert muss einer von sein',
7
+ 'validate-err-numer': 'Der Wert ist keine Zahl',
8
+ 'validate-err-max': 'Darf nicht größer als {} sein',
9
+ 'validate-err-min': 'f nicht kleiner als {} sein',
10
+ 'validate-err-empty': 'Darf nicht leer',
11
+ 'validate-err-string': 'Der Wert ist kein Zeichenketten-Typ',
12
+ 'validate-err-incorrect-format': 'Das Format ist nicht korrekt',
13
+ 'validate-err-no-length': 'length kann nicht gefunden werden',
14
+ 'validate-err-length-not-number': 'Eigenschaft length ist keine zahl',
15
+ 'validate-err-min-length': 'Die L darf nicht kleiner als {} sein',
16
+ 'validate-err-max-length': 'Die Länge nicht größer als {} sein'
17
+ };
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.enUS = void 0;
4
- exports.enUS = {
5
- 'validate-err-array': 'Value is not a array type.',
6
- 'validate-err-enum': ' Value must be one of [{}].',
7
- 'validate-err-numer': 'Value is not a number type.',
8
- 'validate-err-max': 'Not greater than {}.',
9
- 'validate-err-min': 'Not less than {}.',
10
- 'validate-err-empty': 'Cannot be empty.',
11
- 'validate-err-string': 'Value is not a string type.',
12
- 'validate-err-incorrect-format': 'Incorrect format.',
13
- 'validate-err-no-length': 'Unable to find length field.',
14
- 'validate-err-length-not-number': 'Length field is not a number type.',
15
- 'validate-err-min-length': 'The length should not be less than {}.',
16
- 'validate-err-max-length': 'The length must not exceed {}.'
17
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enUS = void 0;
4
+ exports.enUS = {
5
+ 'validate-err-array': 'Value is not a array type.',
6
+ 'validate-err-enum': ' Value must be one of [{}].',
7
+ 'validate-err-numer': 'Value is not a number type.',
8
+ 'validate-err-max': 'Not greater than {}.',
9
+ 'validate-err-min': 'Not less than {}.',
10
+ 'validate-err-empty': 'Cannot be empty.',
11
+ 'validate-err-string': 'Value is not a string type.',
12
+ 'validate-err-incorrect-format': 'Incorrect format.',
13
+ 'validate-err-no-length': 'Unable to find length field.',
14
+ 'validate-err-length-not-number': 'Length field is not a number type.',
15
+ 'validate-err-min-length': 'The length should not be less than {}.',
16
+ 'validate-err-max-length': 'The length must not exceed {}.'
17
+ };