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,4 +1,4 @@
1
- export * from './text';
2
- export * from './json';
3
- export * from './file';
4
- export * from './html';
1
+ export * from './text';
2
+ export * from './json';
3
+ export * from './file';
4
+ export * from './html';
@@ -1,17 +1,17 @@
1
- /// <reference types="node" />
2
- import { ServerResponse } from 'http';
3
- /**
4
- * 渲染 json 格式数据.
5
- * @param response 响应信息
6
- * @param json json对象
7
- * @param status 状态码,默认 200
8
- * @returns
9
- */
10
- export declare function renderJson(response: ServerResponse, json: any, status?: number): void;
11
- /**
12
- * 渲染错误信息,json 格式
13
- * @param response
14
- * @param message
15
- * @param status
16
- */
17
- export declare function renderError(response: ServerResponse, message: string, status?: number): void;
1
+ /// <reference types="node" />
2
+ import { ServerResponse } from 'http';
3
+ /**
4
+ * 渲染 json 格式数据.
5
+ * @param response 响应信息
6
+ * @param json json对象
7
+ * @param status 状态码,默认 200
8
+ * @returns
9
+ */
10
+ export declare function renderJson(response: ServerResponse, json: any, status?: number): void;
11
+ /**
12
+ * 渲染错误信息,json 格式
13
+ * @param response
14
+ * @param message
15
+ * @param status
16
+ */
17
+ export declare function renderError(response: ServerResponse, message: string, status?: number): void;
@@ -1,10 +1,10 @@
1
- /// <reference types="node" />
2
- import { ServerResponse } from 'http';
3
- /**
4
- * 渲染 json 格式数据.
5
- * @param response 响应信息
6
- * @param text 文本
7
- * @param status 状态码,默认 200
8
- * @returns
9
- */
10
- export declare function renderText(response: ServerResponse, text: string, status?: number): void;
1
+ /// <reference types="node" />
2
+ import { ServerResponse } from 'http';
3
+ /**
4
+ * 渲染 json 格式数据.
5
+ * @param response 响应信息
6
+ * @param text 文本
7
+ * @param status 状态码,默认 200
8
+ * @returns
9
+ */
10
+ export declare function renderText(response: ServerResponse, text: string, status?: number): void;
@@ -1,11 +1,11 @@
1
- import { ServerExchange } from './exchange';
2
- /**
3
- * 路由控制器函数.
4
- */
5
- export interface RouterHandler {
6
- (exchange: ServerExchange): Promise<void>;
7
- }
8
- /**
9
- * 路由列表.
10
- */
11
- export type Routers = Record<string, RouterHandler>;
1
+ import { ServerExchange } from './exchange';
2
+ /**
3
+ * 路由控制器函数.
4
+ */
5
+ export interface RouterHandler {
6
+ (exchange: ServerExchange): Promise<void>;
7
+ }
8
+ /**
9
+ * 路由列表.
10
+ */
11
+ export type Routers = Record<string, RouterHandler>;
@@ -1,90 +1,90 @@
1
- /// <reference types="node" />
2
- import { Server } from 'http';
3
- import { Interceptor } from './interceptor';
4
- import { Routers } from './router';
5
- import { ServerStaticRules } from './static';
6
- /**
7
- * mvc 服务选项
8
- */
9
- export interface WokServerOpts {
10
- /**
11
- * 路由配置.
12
- */
13
- routers: Routers;
14
- /**
15
- * 拦截器,在路由处理前可以做一些额外操作.
16
- */
17
- interceptors?: Interceptor[];
18
- /**
19
- * 前置控制器,在服务启动之前,对服务做一些额外的操作。比如可以连接 socket.io 或者一些其它
20
- * 支持 nodejs 原生 http 服务的组件.
21
- * @param server
22
- * @returns
23
- */
24
- preHandler?: (server: Server<any>) => Promise<void>;
25
- /**
26
- * 静态资源配置
27
- */
28
- static?: ServerStaticRules;
29
- }
30
- /**
31
- * web 服务
32
- */
33
- export declare class WokServer {
34
- private readonly opts;
35
- private readonly config;
36
- private readonly server;
37
- private readonly interceptors;
38
- private readonly routers;
39
- private readonly defaultRouter?;
40
- private readonly staticHandler?;
41
- constructor(opts: WokServerOpts);
42
- /**
43
- * 处理请求,完成拦截器和路由的流程.
44
- *
45
- * @param req
46
- * @param res
47
- */
48
- private handleRequest;
49
- /**
50
- * 处理拦截器.
51
- * @param idx 当前要执行的拦截器下标
52
- * @param exchange 传输对象
53
- * @param req
54
- * @param res
55
- */
56
- private handleInterceptor;
57
- /**
58
- * 处理路由.
59
- * @param exchange
60
- * @param routers
61
- * @param staticSettings
62
- * @returns
63
- */
64
- private handleRouter;
65
- /**
66
- * 404响应
67
- *
68
- * @param exchange
69
- * @param path
70
- */
71
- private respond404;
72
- /**
73
- * 启动
74
- */
75
- start(): Promise<void>;
76
- /**
77
- * 获取 ipv4 地址列表
78
- * @returns
79
- */
80
- private getIpv4List;
81
- /**
82
- * 删除服务器端静态资源缓存
83
- * @param path
84
- */
85
- removeServerStaticCache(path: string): void;
86
- /**
87
- * 停止
88
- */
89
- stop(): Promise<void>;
90
- }
1
+ /// <reference types="node" />
2
+ import { Server } from 'http';
3
+ import { Interceptor } from './interceptor';
4
+ import { Routers } from './router';
5
+ import { ServerStaticRules } from './static';
6
+ /**
7
+ * mvc 服务选项
8
+ */
9
+ export interface WokServerOpts {
10
+ /**
11
+ * 路由配置.
12
+ */
13
+ routers: Routers;
14
+ /**
15
+ * 拦截器,在路由处理前可以做一些额外操作.
16
+ */
17
+ interceptors?: Interceptor[];
18
+ /**
19
+ * 前置控制器,在服务启动之前,对服务做一些额外的操作。比如可以连接 socket.io 或者一些其它
20
+ * 支持 nodejs 原生 http 服务的组件.
21
+ * @param server
22
+ * @returns
23
+ */
24
+ preHandler?: (server: Server<any>) => Promise<void>;
25
+ /**
26
+ * 静态资源配置
27
+ */
28
+ static?: ServerStaticRules;
29
+ }
30
+ /**
31
+ * web 服务
32
+ */
33
+ export declare class WokServer {
34
+ private readonly opts;
35
+ private readonly config;
36
+ private readonly server;
37
+ private readonly interceptors;
38
+ private readonly routers;
39
+ private readonly defaultRouter?;
40
+ private readonly staticHandler?;
41
+ constructor(opts: WokServerOpts);
42
+ /**
43
+ * 处理请求,完成拦截器和路由的流程.
44
+ *
45
+ * @param req
46
+ * @param res
47
+ */
48
+ private handleRequest;
49
+ /**
50
+ * 处理拦截器.
51
+ * @param idx 当前要执行的拦截器下标
52
+ * @param exchange 传输对象
53
+ * @param req
54
+ * @param res
55
+ */
56
+ private handleInterceptor;
57
+ /**
58
+ * 处理路由.
59
+ * @param exchange
60
+ * @param routers
61
+ * @param staticSettings
62
+ * @returns
63
+ */
64
+ private handleRouter;
65
+ /**
66
+ * 404响应
67
+ *
68
+ * @param exchange
69
+ * @param path
70
+ */
71
+ private respond404;
72
+ /**
73
+ * 启动
74
+ */
75
+ start(): Promise<void>;
76
+ /**
77
+ * 获取 ipv4 地址列表
78
+ * @returns
79
+ */
80
+ private getIpv4List;
81
+ /**
82
+ * 删除服务器端静态资源缓存
83
+ * @param path
84
+ */
85
+ removeServerStaticCache(path: string): void;
86
+ /**
87
+ * 停止
88
+ */
89
+ stop(): Promise<void>;
90
+ }
@@ -1,27 +1,27 @@
1
- /// <reference types="node" />
2
- import { IncomingHttpHeaders } from 'http';
3
- /**
4
- * 静态资源消息头信息
5
- */
6
- export interface StaticHeaders {
7
- /**
8
- * If-Modified-Since 消息头,测试文件是否在某个时间后修改后
9
- */
10
- ifModifiedSince?: Date;
11
- /**
12
- * 文件部分读取
13
- */
14
- range?: {
15
- start: number;
16
- end?: number;
17
- };
18
- /**
19
- * 是否接受 gzip 压缩,如果支持则压缩后返回
20
- */
21
- gzip: boolean;
22
- }
23
- /**
24
- * 解析消息头,返回静态文件处理需要的信息
25
- * @param headers
26
- */
27
- export declare function parseHeaders(headers: IncomingHttpHeaders): StaticHeaders;
1
+ /// <reference types="node" />
2
+ import { IncomingHttpHeaders } from 'http';
3
+ /**
4
+ * 静态资源消息头信息
5
+ */
6
+ export interface StaticHeaders {
7
+ /**
8
+ * If-Modified-Since 消息头,测试文件是否在某个时间后修改后
9
+ */
10
+ ifModifiedSince?: Date;
11
+ /**
12
+ * 文件部分读取
13
+ */
14
+ range?: {
15
+ start: number;
16
+ end?: number;
17
+ };
18
+ /**
19
+ * 是否接受 gzip 压缩,如果支持则压缩后返回
20
+ */
21
+ gzip: boolean;
22
+ }
23
+ /**
24
+ * 解析消息头,返回静态文件处理需要的信息
25
+ * @param headers
26
+ */
27
+ export declare function parseHeaders(headers: IncomingHttpHeaders): StaticHeaders;
@@ -1,3 +1,3 @@
1
- export * from './mime-type';
2
- export * from './header';
3
- export * from './static-handler';
1
+ export * from './mime-type';
2
+ export * from './header';
3
+ export * from './static-handler';
@@ -1,2 +1,2 @@
1
- export declare const MIME_TYPES: Record<string, string>;
2
- export declare function decideContentType(fileName: string): string | undefined;
1
+ export declare const MIME_TYPES: Record<string, string>;
2
+ export declare function decideContentType(fileName: string): string | undefined;
@@ -1,30 +1,30 @@
1
- /**
2
- * 服务器缓存配置
3
- * Server Cache Configuration
4
- */
5
- export interface ServerCacheConfig {
6
- /**
7
- * Enable or disable caching,default is false (disabled)
8
- */
9
- enable: boolean;
10
- /**
11
- * The maximum age of the cache in seconds
12
- */
13
- maxAge: number;
14
- /**
15
- * The maximum size of the cache in bytes
16
- * or a string representing a number followed by a unit of measure (e.g. 100k, 10m, 1g)
17
- */
18
- maxSize: number | string;
19
- /**
20
- * The maximum size of a file in the cache in bytes
21
- * or a string representing a number followed by a unit of measure (e.g. 100k, 10m, 1g)
22
- */
23
- maxFileSize: number | string;
24
- }
25
- export declare function parseSize(size: number | string): number;
26
- /**
27
- * 获取缓存的配置信息
28
- * @returns
29
- */
30
- export declare function getConfig(): ServerCacheConfig;
1
+ /**
2
+ * 服务器缓存配置
3
+ * Server Cache Configuration
4
+ */
5
+ export interface ServerCacheConfig {
6
+ /**
7
+ * Enable or disable caching,default is false (disabled)
8
+ */
9
+ enable: boolean;
10
+ /**
11
+ * The maximum age of the cache in seconds
12
+ */
13
+ maxAge: number;
14
+ /**
15
+ * The maximum size of the cache in bytes
16
+ * or a string representing a number followed by a unit of measure (e.g. 100k, 10m, 1g)
17
+ */
18
+ maxSize: number | string;
19
+ /**
20
+ * The maximum size of a file in the cache in bytes
21
+ * or a string representing a number followed by a unit of measure (e.g. 100k, 10m, 1g)
22
+ */
23
+ maxFileSize: number | string;
24
+ }
25
+ export declare function parseSize(size: number | string): number;
26
+ /**
27
+ * 获取缓存的配置信息
28
+ * @returns
29
+ */
30
+ export declare function getConfig(): ServerCacheConfig;
@@ -1,76 +1,76 @@
1
- /// <reference types="node" />
2
- export interface CacheVal {
3
- /**
4
- * 文件内容
5
- */
6
- buffer: Buffer;
7
- /**
8
- * 媒体类型
9
- */
10
- mimeType: string;
11
- /**
12
- * 修改时间
13
- */
14
- mtime: Date;
15
- /**
16
- * 客户端缓存时间
17
- */
18
- cacheAge?: number;
19
- }
20
- /**
21
- * 文件的服务器缓存
22
- */
23
- export declare class ServerCache {
24
- private readonly opts;
25
- /**
26
- * 当前的缓存内容大小,单位字节
27
- */
28
- private size;
29
- /**
30
- * 缓存内容
31
- */
32
- private readonly cacheMap;
33
- /**
34
- * promise 表,作用是处理异步并发问题,如果有相同的 key 同时请求,保证异步的 provider 只执行一次
35
- */
36
- private promiseMap;
37
- constructor(opts: {
38
- /**
39
- * 最大缓存大小,超出后将出触发清除缓存操作
40
- */
41
- maxSize: number;
42
- /**
43
- * 缓存时长,单位秒
44
- */
45
- maxAge: number;
46
- });
47
- /**
48
- * 获取缓存
49
- */
50
- get(key: string): CacheVal | null;
51
- /**
52
- * 设置缓存内容,如果缓存内容超过最大缓存大小,则触发清除缓存操作
53
- * @param key
54
- * @param value
55
- * @returns
56
- */
57
- set(key: string, value: CacheVal): void;
58
- /**
59
- * 删除缓存
60
- */
61
- remove(key: string): void;
62
- /**
63
- * 如果缓存不存在,则计算缓存内容并放入缓存
64
- * @param key
65
- * @param provider 计算函数,返回值将放入缓存,如果返回 null 则表示未能计算出缓存内容,不进行缓存
66
- */
67
- computeIfAbsent(key: string, provider: () => Promise<CacheVal | null>): Promise<CacheVal | null>;
68
- /**
69
- * 清理无用的缓存内容
70
- */
71
- private clean;
72
- /**
73
- * 清除缓存内容
74
- */
75
- clear(): void;
76
- }
1
+ /// <reference types="node" />
2
+ export interface CacheVal {
3
+ /**
4
+ * 文件内容
5
+ */
6
+ buffer: Buffer;
7
+ /**
8
+ * 媒体类型
9
+ */
10
+ mimeType: string;
11
+ /**
12
+ * 修改时间
13
+ */
14
+ mtime: Date;
15
+ /**
16
+ * 客户端缓存时间
17
+ */
18
+ cacheAge?: number;
19
+ }
20
+ /**
21
+ * 文件的服务器缓存
22
+ */
23
+ export declare class ServerCache {
24
+ private readonly opts;
25
+ /**
26
+ * 当前的缓存内容大小,单位字节
27
+ */
28
+ private size;
29
+ /**
30
+ * 缓存内容
31
+ */
32
+ private readonly cacheMap;
33
+ /**
34
+ * promise 表,作用是处理异步并发问题,如果有相同的 key 同时请求,保证异步的 provider 只执行一次
35
+ */
36
+ private promiseMap;
37
+ constructor(opts: {
38
+ /**
39
+ * 最大缓存大小,超出后将出触发清除缓存操作
40
+ */
41
+ maxSize: number;
42
+ /**
43
+ * 缓存时长,单位秒
44
+ */
45
+ maxAge: number;
46
+ });
47
+ /**
48
+ * 获取缓存
49
+ */
50
+ get(key: string): CacheVal | null;
51
+ /**
52
+ * 设置缓存内容,如果缓存内容超过最大缓存大小,则触发清除缓存操作
53
+ * @param key
54
+ * @param value
55
+ * @returns
56
+ */
57
+ set(key: string, value: CacheVal): void;
58
+ /**
59
+ * 删除缓存
60
+ */
61
+ remove(key: string): void;
62
+ /**
63
+ * 如果缓存不存在,则计算缓存内容并放入缓存
64
+ * @param key
65
+ * @param provider 计算函数,返回值将放入缓存,如果返回 null 则表示未能计算出缓存内容,不进行缓存
66
+ */
67
+ computeIfAbsent(key: string, provider: () => Promise<CacheVal | null>): Promise<CacheVal | null>;
68
+ /**
69
+ * 清理无用的缓存内容
70
+ */
71
+ private clean;
72
+ /**
73
+ * 清除缓存内容
74
+ */
75
+ clear(): void;
76
+ }