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.
- package/README.en.md +61 -0
- package/README.md +44 -29
- package/dist/cache/cache.js +98 -98
- package/dist/cache/config.js +19 -19
- package/dist/cache/index.js +27 -27
- package/dist/cache/purge-task.js +46 -46
- package/dist/cache/stat.js +47 -47
- package/dist/config/convert.js +36 -36
- package/dist/config/exception.js +14 -14
- package/dist/config/index.js +81 -81
- package/dist/http-client/index.js +136 -136
- package/dist/i18n/ar.js +17 -17
- package/dist/i18n/de.js +17 -17
- package/dist/i18n/en-us.js +17 -17
- package/dist/i18n/es.js +17 -17
- package/dist/i18n/fr.js +17 -17
- package/dist/i18n/i18n.js +231 -231
- package/dist/i18n/index.js +52 -52
- package/dist/i18n/ja.js +17 -17
- package/dist/i18n/ko.js +17 -17
- package/dist/i18n/msg.js +2 -2
- package/dist/i18n/pt.js +17 -17
- package/dist/i18n/ru.js +17 -17
- package/dist/i18n/tag.js +18 -18
- package/dist/i18n/zh-HK.js +17 -17
- package/dist/i18n/zh-TW.js +17 -17
- package/dist/i18n/zh-cn.js +17 -17
- package/dist/index.js +14 -14
- package/dist/lock/index.js +114 -114
- package/dist/log/config.js +35 -29
- package/dist/log/date.js +21 -21
- package/dist/log/file.js +198 -72
- package/dist/log/index.js +135 -105
- package/dist/log/level.js +33 -33
- package/dist/log/log.js +56 -0
- package/dist/log/store.js +19 -16
- package/dist/mongodb/collection.js +2 -2
- package/dist/mongodb/config.js +34 -34
- package/dist/mongodb/doc.js +2 -2
- package/dist/mongodb/exception.js +14 -14
- package/dist/mongodb/index.js +58 -58
- package/dist/mongodb/manager/base.js +563 -563
- package/dist/mongodb/manager/index.js +63 -63
- package/dist/mongodb/manager/tx-strict.js +84 -84
- package/dist/mongodb/manager/tx.js +30 -30
- package/dist/mongodb/migration.js +52 -52
- package/dist/mvc/access-log.js +33 -33
- package/dist/mvc/config.js +27 -27
- package/dist/mvc/exchange.js +113 -113
- package/dist/mvc/handler/index.js +7 -6
- package/dist/mvc/handler/json.js +65 -65
- package/dist/mvc/handler/restful.js +35 -35
- package/dist/mvc/handler/sse.js +65 -0
- package/dist/mvc/handler/upload.js +31 -31
- package/dist/mvc/index.js +50 -50
- package/dist/mvc/interceptor.js +2 -2
- package/dist/mvc/query.js +43 -43
- package/dist/mvc/render/file.js +132 -132
- package/dist/mvc/render/html/html.js +90 -90
- package/dist/mvc/render/html/index.js +18 -18
- package/dist/mvc/render/html/style.js +2 -2
- package/dist/mvc/render/index.js +7 -7
- package/dist/mvc/render/json.js +26 -26
- package/dist/mvc/render/text.js +16 -16
- package/dist/mvc/router.js +2 -2
- package/dist/mvc/server.js +272 -272
- package/dist/mvc/static/header.js +67 -67
- package/dist/mvc/static/index.js +6 -6
- package/dist/mvc/static/mime-type.js +84 -84
- package/dist/mvc/static/server-cache-config.js +66 -66
- package/dist/mvc/static/server-cache.js +133 -133
- package/dist/mvc/static/static-handler.js +372 -372
- package/dist/mysql/config.js +51 -51
- package/dist/mysql/exception.js +14 -14
- package/dist/mysql/index.js +87 -87
- package/dist/mysql/manager/base.js +239 -231
- package/dist/mysql/manager/index.js +107 -107
- package/dist/mysql/manager/ops/count.js +20 -20
- package/dist/mysql/manager/ops/criteria.js +356 -356
- package/dist/mysql/manager/ops/delete.js +65 -65
- package/dist/mysql/manager/ops/exist.js +26 -26
- package/dist/mysql/manager/ops/find.js +169 -130
- package/dist/mysql/manager/ops/index.js +14 -14
- package/dist/mysql/manager/ops/insert.js +106 -106
- package/dist/mysql/manager/ops/modify.js +10 -10
- package/dist/mysql/manager/ops/paginate.js +23 -23
- package/dist/mysql/manager/ops/query.js +9 -9
- package/dist/mysql/manager/ops/update.js +216 -216
- package/dist/mysql/manager/ops/utils.js +24 -24
- package/dist/mysql/manager/tx-strict.js +103 -100
- package/dist/mysql/manager/tx.js +30 -30
- package/dist/mysql/manager/utils.js +56 -56
- package/dist/mysql/migration.js +136 -136
- package/dist/mysql/table-info.js +8 -8
- package/dist/task/daily.js +59 -59
- package/dist/task/fixed-delay.js +38 -38
- package/dist/task/fixed-rate.js +42 -42
- package/dist/task/index.js +9 -9
- package/dist/task/task.js +56 -56
- package/dist/validation/exception.js +36 -36
- package/dist/validation/index.js +40 -40
- package/dist/validation/validator/array.js +34 -34
- package/dist/validation/validator/enum.js +28 -28
- package/dist/validation/validator/index.js +14 -14
- package/dist/validation/validator/length.js +40 -40
- package/dist/validation/validator/max-length.js +35 -35
- package/dist/validation/validator/max.js +29 -29
- package/dist/validation/validator/min-length.js +33 -33
- package/dist/validation/validator/min.js +29 -29
- package/dist/validation/validator/not-blank.js +33 -33
- package/dist/validation/validator/not-null.js +21 -21
- package/dist/validation/validator/plain-obj.js +32 -32
- package/dist/validation/validator/regexp.js +34 -34
- package/documentation/en/cache.md +56 -0
- package/documentation/en/config.md +96 -0
- package/documentation/en/engineering.md +256 -0
- package/documentation/en/http-client.md +32 -0
- package/documentation/en/i18n.md +143 -0
- package/documentation/en/index.md +24 -0
- package/documentation/en/lock.md +51 -0
- package/documentation/en/log.md +109 -0
- package/documentation/en/mongodb.md +256 -0
- package/documentation/en/mvc.md +688 -0
- package/documentation/en/mysql.md +552 -0
- package/documentation/en/task.md +45 -0
- package/documentation/en/test.md +56 -0
- package/documentation/en/validate.md +130 -0
- package/documentation/zh-cn/engineering.md +1 -1
- package/documentation/zh-cn/log.md +81 -8
- package/documentation/zh-cn/mvc.md +66 -24
- package/documentation/zh-cn/mysql.md +24 -23
- package/documentation/zh-cn/validate.md +2 -2
- package/package.json +3 -1
- package/skills/wok-server-api-rules/SKILL.md +350 -0
- package/skills/wok-server-cache/SKILL.md +216 -0
- package/skills/wok-server-config/SKILL.md +200 -0
- package/skills/wok-server-getting-started/SKILL.md +123 -0
- package/skills/wok-server-getting-started/references/engineering.md +169 -0
- package/skills/wok-server-http-client/SKILL.md +164 -0
- package/skills/wok-server-i18n/SKILL.md +214 -0
- package/skills/wok-server-lock/SKILL.md +144 -0
- package/skills/wok-server-log/SKILL.md +218 -0
- package/skills/wok-server-mongodb/SKILL.md +235 -0
- package/skills/wok-server-mvc/SKILL.md +251 -0
- package/skills/wok-server-mvc/references/respond-html.md +157 -0
- package/skills/wok-server-mvc/references/sse.md +121 -0
- package/skills/wok-server-mvc/references/static-files.md +47 -0
- package/skills/wok-server-mvc/references/upload.md +62 -0
- package/skills/wok-server-mvc/references/websocket.md +30 -0
- package/skills/wok-server-mysql/SKILL.md +315 -0
- package/skills/wok-server-mysql/references/multi-datasource.md +76 -0
- package/skills/wok-server-mysql/references/version-control.md +22 -0
- package/skills/wok-server-task/SKILL.md +158 -0
- package/skills/wok-server-validate/SKILL.md +167 -0
- package/src/cache/cache.ts +118 -0
- package/src/cache/config.ts +53 -0
- package/src/cache/index.ts +27 -0
- package/src/cache/purge-task.ts +53 -0
- package/src/cache/stat.ts +47 -0
- package/src/config/convert.ts +27 -0
- package/src/config/exception.ts +8 -0
- package/src/config/index.ts +92 -0
- package/src/http-client/index.ts +202 -0
- package/src/i18n/ar.ts +16 -0
- package/src/i18n/de.ts +16 -0
- package/src/i18n/en-us.ts +16 -0
- package/src/i18n/es.ts +16 -0
- package/src/i18n/fr.ts +16 -0
- package/src/i18n/i18n.ts +230 -0
- package/src/i18n/index.ts +50 -0
- package/src/i18n/ja.ts +16 -0
- package/src/i18n/ko.ts +16 -0
- package/src/i18n/msg.ts +50 -0
- package/src/i18n/pt.ts +16 -0
- package/src/i18n/ru.ts +16 -0
- package/src/i18n/tag.ts +18 -0
- package/src/i18n/zh-HK.ts +16 -0
- package/src/i18n/zh-TW.ts +16 -0
- package/src/i18n/zh-cn.ts +16 -0
- package/src/index.ts +11 -0
- package/src/lock/index.ts +164 -0
- package/src/log/config.ts +71 -0
- package/src/log/date.ts +19 -0
- package/src/log/file.ts +215 -0
- package/src/log/index.ts +136 -0
- package/src/log/level.ts +29 -0
- package/src/log/log.ts +77 -0
- package/src/log/store.ts +31 -0
- package/src/mongodb/collection.ts +25 -0
- package/src/mongodb/config.ts +69 -0
- package/src/mongodb/doc.ts +12 -0
- package/src/mongodb/exception.ts +8 -0
- package/src/mongodb/index.ts +71 -0
- package/src/mongodb/manager/base.ts +674 -0
- package/src/mongodb/manager/index.ts +80 -0
- package/src/mongodb/manager/tx-strict.ts +153 -0
- package/src/mongodb/manager/tx.ts +34 -0
- package/src/mongodb/migration.ts +66 -0
- package/src/mvc/access-log.ts +33 -0
- package/src/mvc/config.ts +70 -0
- package/src/mvc/exchange.ts +126 -0
- package/src/mvc/handler/index.ts +4 -0
- package/src/mvc/handler/json.ts +96 -0
- package/src/mvc/handler/restful.ts +39 -0
- package/src/mvc/handler/sse.ts +90 -0
- package/src/mvc/handler/upload.ts +54 -0
- package/src/mvc/index.ts +48 -0
- package/src/mvc/interceptor.ts +12 -0
- package/src/mvc/query.ts +36 -0
- package/src/mvc/render/file.ts +148 -0
- package/src/mvc/render/html/html.ts +187 -0
- package/src/mvc/render/html/index.ts +16 -0
- package/src/mvc/render/html/style.ts +1201 -0
- package/src/mvc/render/index.ts +4 -0
- package/src/mvc/render/json.ts +24 -0
- package/src/mvc/render/text.ts +14 -0
- package/src/mvc/router.ts +13 -0
- package/src/mvc/server.ts +315 -0
- package/src/mvc/static/header.ts +86 -0
- package/src/mvc/static/index.ts +3 -0
- package/src/mvc/static/mime-type.ts +81 -0
- package/src/mvc/static/server-cache-config.ts +92 -0
- package/src/mvc/static/server-cache.ts +171 -0
- package/src/mvc/static/static-handler.ts +445 -0
- package/src/mysql/config.ts +130 -0
- package/src/mysql/exception.ts +8 -0
- package/src/mysql/index.ts +88 -0
- package/src/mysql/manager/base.ts +285 -0
- package/src/mysql/manager/index.ts +112 -0
- package/src/mysql/manager/ops/count.ts +30 -0
- package/src/mysql/manager/ops/criteria.ts +412 -0
- package/src/mysql/manager/ops/delete.ts +96 -0
- package/src/mysql/manager/ops/exist.ts +41 -0
- package/src/mysql/manager/ops/find.ts +226 -0
- package/src/mysql/manager/ops/index.ts +11 -0
- package/src/mysql/manager/ops/insert.ts +120 -0
- package/src/mysql/manager/ops/modify.ts +14 -0
- package/src/mysql/manager/ops/paginate.ts +60 -0
- package/src/mysql/manager/ops/query.ts +13 -0
- package/src/mysql/manager/ops/update.ts +294 -0
- package/src/mysql/manager/ops/utils.ts +20 -0
- package/src/mysql/manager/tx-strict.ts +138 -0
- package/src/mysql/manager/tx.ts +31 -0
- package/src/mysql/manager/utils.ts +75 -0
- package/src/mysql/migration.ts +149 -0
- package/src/mysql/table-info.ts +41 -0
- package/src/task/daily.ts +70 -0
- package/src/task/fixed-delay.ts +45 -0
- package/src/task/fixed-rate.ts +49 -0
- package/src/task/index.ts +4 -0
- package/src/task/task.ts +70 -0
- package/src/validation/exception.ts +27 -0
- package/src/validation/index.ts +61 -0
- package/src/validation/validator/array.ts +32 -0
- package/src/validation/validator/enum.ts +25 -0
- package/src/validation/validator/index.ts +11 -0
- package/src/validation/validator/length.ts +42 -0
- package/src/validation/validator/max-length.ts +33 -0
- package/src/validation/validator/max.ts +26 -0
- package/src/validation/validator/min-length.ts +31 -0
- package/src/validation/validator/min.ts +26 -0
- package/src/validation/validator/not-blank.ts +31 -0
- package/src/validation/validator/not-null.ts +19 -0
- package/src/validation/validator/plain-obj.ts +30 -0
- package/src/validation/validator/regexp.ts +32 -0
- package/types/cache/cache.d.ts +52 -52
- package/types/cache/config.d.ts +32 -32
- package/types/cache/index.d.ts +2 -2
- package/types/cache/purge-task.d.ts +11 -11
- package/types/cache/stat.d.ts +26 -26
- package/types/config/convert.d.ts +6 -6
- package/types/config/exception.d.ts +7 -7
- package/types/config/index.d.ts +25 -25
- package/types/http-client/index.d.ts +71 -71
- package/types/i18n/ar.d.ts +2 -2
- package/types/i18n/de.d.ts +2 -2
- package/types/i18n/en-us.d.ts +2 -2
- package/types/i18n/es.d.ts +2 -2
- package/types/i18n/fr.d.ts +2 -2
- package/types/i18n/i18n.d.ts +102 -102
- package/types/i18n/index.d.ts +9 -9
- package/types/i18n/ja.d.ts +2 -2
- package/types/i18n/ko.d.ts +2 -2
- package/types/i18n/msg.d.ts +50 -50
- package/types/i18n/pt.d.ts +2 -2
- package/types/i18n/ru.d.ts +2 -2
- package/types/i18n/tag.d.ts +11 -11
- package/types/i18n/zh-HK.d.ts +2 -2
- package/types/i18n/zh-TW.d.ts +2 -2
- package/types/i18n/zh-cn.d.ts +2 -2
- package/types/index.d.ts +11 -11
- package/types/lock/index.d.ts +64 -64
- package/types/log/config.d.ts +35 -27
- package/types/log/date.d.ts +2 -2
- package/types/log/file.d.ts +13 -5
- package/types/log/index.d.ts +53 -34
- package/types/log/level.d.ts +14 -14
- package/types/log/log.d.ts +40 -0
- package/types/log/store.d.ts +19 -12
- package/types/mongodb/collection.d.ts +25 -25
- package/types/mongodb/config.d.ts +45 -45
- package/types/mongodb/doc.d.ts +11 -11
- package/types/mongodb/exception.d.ts +7 -7
- package/types/mongodb/index.d.ts +29 -29
- package/types/mongodb/manager/base.d.ts +188 -188
- package/types/mongodb/manager/index.d.ts +38 -38
- package/types/mongodb/manager/tx-strict.d.ts +41 -41
- package/types/mongodb/manager/tx.d.ts +21 -21
- package/types/mongodb/migration.d.ts +12 -12
- package/types/mvc/access-log.d.ts +7 -7
- package/types/mvc/config.d.ts +42 -42
- package/types/mvc/exchange.d.ts +72 -72
- package/types/mvc/handler/index.d.ts +4 -3
- package/types/mvc/handler/json.d.ts +44 -44
- package/types/mvc/handler/restful.d.ts +11 -11
- package/types/mvc/handler/sse.d.ts +34 -0
- package/types/mvc/handler/upload.d.ts +36 -36
- package/types/mvc/index.d.ts +22 -22
- package/types/mvc/interceptor.d.ts +11 -11
- package/types/mvc/query.d.ts +13 -13
- package/types/mvc/render/file.d.ts +10 -10
- package/types/mvc/render/html/html.d.ts +98 -98
- package/types/mvc/render/html/index.d.ts +11 -11
- package/types/mvc/render/html/style.d.ts +1201 -1201
- package/types/mvc/render/index.d.ts +4 -4
- package/types/mvc/render/json.d.ts +17 -17
- package/types/mvc/render/text.d.ts +10 -10
- package/types/mvc/router.d.ts +11 -11
- package/types/mvc/server.d.ts +90 -90
- package/types/mvc/static/header.d.ts +27 -27
- package/types/mvc/static/index.d.ts +3 -3
- package/types/mvc/static/mime-type.d.ts +2 -2
- package/types/mvc/static/server-cache-config.d.ts +30 -30
- package/types/mvc/static/server-cache.d.ts +76 -76
- package/types/mvc/static/static-handler.d.ts +77 -77
- package/types/mysql/config.d.ts +90 -90
- package/types/mysql/exception.d.ts +7 -7
- package/types/mysql/index.d.ts +16 -16
- package/types/mysql/manager/base.d.ts +165 -159
- package/types/mysql/manager/index.d.ts +36 -36
- package/types/mysql/manager/ops/count.d.ts +13 -13
- package/types/mysql/manager/ops/criteria.d.ts +134 -134
- package/types/mysql/manager/ops/delete.d.ts +46 -46
- package/types/mysql/manager/ops/exist.d.ts +6 -6
- package/types/mysql/manager/ops/find.d.ts +86 -70
- package/types/mysql/manager/ops/index.d.ts +10 -10
- package/types/mysql/manager/ops/insert.d.ts +18 -18
- package/types/mysql/manager/ops/modify.d.ts +3 -3
- package/types/mysql/manager/ops/paginate.d.ts +36 -36
- package/types/mysql/manager/ops/query.d.ts +3 -3
- package/types/mysql/manager/ops/update.d.ts +76 -76
- package/types/mysql/manager/ops/utils.d.ts +5 -5
- package/types/mysql/manager/tx-strict.d.ts +36 -35
- package/types/mysql/manager/tx.d.ts +15 -15
- package/types/mysql/manager/utils.d.ts +17 -17
- package/types/mysql/migration.d.ts +8 -8
- package/types/mysql/table-info.d.ts +36 -36
- package/types/task/daily.d.ts +16 -16
- package/types/task/fixed-delay.d.ts +9 -9
- package/types/task/fixed-rate.d.ts +9 -9
- package/types/task/index.d.ts +4 -4
- package/types/task/task.d.ts +34 -34
- package/types/validation/exception.d.ts +38 -38
- package/types/validation/index.d.ts +32 -32
- package/types/validation/validator/array.d.ts +5 -5
- package/types/validation/validator/enum.d.ts +8 -8
- package/types/validation/validator/index.d.ts +11 -11
- package/types/validation/validator/length.d.ts +10 -10
- package/types/validation/validator/max-length.d.ts +8 -8
- package/types/validation/validator/max.d.ts +7 -7
- package/types/validation/validator/min-length.d.ts +6 -6
- package/types/validation/validator/min.d.ts +7 -7
- package/types/validation/validator/not-blank.d.ts +7 -7
- package/types/validation/validator/not-null.d.ts +6 -6
- package/types/validation/validator/plain-obj.d.ts +7 -7
- package/types/validation/validator/regexp.d.ts +8 -8
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { PropValidator } from '..'
|
|
2
|
+
import { getI18n } from '../../i18n'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 正则校验
|
|
6
|
+
* @param pattern 正则表达式
|
|
7
|
+
* @param msg 错误消息
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export function regexp<T>(pattern: RegExp, msg?: string): PropValidator<T> {
|
|
11
|
+
const validator = 'regexp'
|
|
12
|
+
return val => {
|
|
13
|
+
if (val === undefined || val === null) {
|
|
14
|
+
return { ok: true }
|
|
15
|
+
}
|
|
16
|
+
if (typeof val !== 'string') {
|
|
17
|
+
return { ok: false, validator, message: getI18n().buildMsg('validate-err-string') }
|
|
18
|
+
}
|
|
19
|
+
// 跳过空串
|
|
20
|
+
if (!val) {
|
|
21
|
+
return { ok: true }
|
|
22
|
+
}
|
|
23
|
+
if (!pattern.test(val)) {
|
|
24
|
+
return {
|
|
25
|
+
ok: false,
|
|
26
|
+
validator,
|
|
27
|
+
message: msg || getI18n().buildMsg('validate-err-incorrect-format')
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return { ok: true }
|
|
31
|
+
}
|
|
32
|
+
}
|
package/types/cache/cache.d.ts
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { CacheStat } from './stat';
|
|
2
|
-
/**
|
|
3
|
-
* 缓存内容
|
|
4
|
-
*/
|
|
5
|
-
export interface CacheContent {
|
|
6
|
-
/**
|
|
7
|
-
* 保存的值
|
|
8
|
-
*/
|
|
9
|
-
val: any;
|
|
10
|
-
/**
|
|
11
|
-
* 过期时间
|
|
12
|
-
*/
|
|
13
|
-
expireAt: number;
|
|
14
|
-
}
|
|
15
|
-
export declare class Cache {
|
|
16
|
-
private readonly valueMap;
|
|
17
|
-
private readonly stat?;
|
|
18
|
-
/**
|
|
19
|
-
* promise 表,作用是处理异步并发问题,如果有相同的 key 同时请求,保证异步的 provider 只执行一次
|
|
20
|
-
*/
|
|
21
|
-
private promiseMap;
|
|
22
|
-
constructor(valueMap: Map<string, CacheContent>, stat?: CacheStat | undefined);
|
|
23
|
-
/**
|
|
24
|
-
* 放入缓存
|
|
25
|
-
* @param key
|
|
26
|
-
* @param val
|
|
27
|
-
* @param expiresInSeconds
|
|
28
|
-
*/
|
|
29
|
-
put(key: string, val: any, expiresInSeconds?: number): void;
|
|
30
|
-
/**
|
|
31
|
-
* 获取缓存值
|
|
32
|
-
* @param key
|
|
33
|
-
* @returns
|
|
34
|
-
*/
|
|
35
|
-
get<T>(key: string): T | undefined;
|
|
36
|
-
/**
|
|
37
|
-
* 清除所有缓存
|
|
38
|
-
*/
|
|
39
|
-
clear(): void;
|
|
40
|
-
/**
|
|
41
|
-
* 删除.
|
|
42
|
-
* @param key
|
|
43
|
-
*/
|
|
44
|
-
remove(key: string): void;
|
|
45
|
-
/**
|
|
46
|
-
* 在缓存值不存在时计算缓存的值,然后放入并返回.
|
|
47
|
-
* @param key
|
|
48
|
-
* @param provider
|
|
49
|
-
* @param expiresInSeconds
|
|
50
|
-
*/
|
|
51
|
-
computeIfAbsent<T>(key: string, provider: () => Promise<T> | T, expiresInSeconds?: number): Promise<T>;
|
|
52
|
-
}
|
|
1
|
+
import { CacheStat } from './stat';
|
|
2
|
+
/**
|
|
3
|
+
* 缓存内容
|
|
4
|
+
*/
|
|
5
|
+
export interface CacheContent {
|
|
6
|
+
/**
|
|
7
|
+
* 保存的值
|
|
8
|
+
*/
|
|
9
|
+
val: any;
|
|
10
|
+
/**
|
|
11
|
+
* 过期时间
|
|
12
|
+
*/
|
|
13
|
+
expireAt: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class Cache {
|
|
16
|
+
private readonly valueMap;
|
|
17
|
+
private readonly stat?;
|
|
18
|
+
/**
|
|
19
|
+
* promise 表,作用是处理异步并发问题,如果有相同的 key 同时请求,保证异步的 provider 只执行一次
|
|
20
|
+
*/
|
|
21
|
+
private promiseMap;
|
|
22
|
+
constructor(valueMap: Map<string, CacheContent>, stat?: CacheStat | undefined);
|
|
23
|
+
/**
|
|
24
|
+
* 放入缓存
|
|
25
|
+
* @param key
|
|
26
|
+
* @param val
|
|
27
|
+
* @param expiresInSeconds
|
|
28
|
+
*/
|
|
29
|
+
put(key: string, val: any, expiresInSeconds?: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* 获取缓存值
|
|
32
|
+
* @param key
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
get<T>(key: string): T | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* 清除所有缓存
|
|
38
|
+
*/
|
|
39
|
+
clear(): void;
|
|
40
|
+
/**
|
|
41
|
+
* 删除.
|
|
42
|
+
* @param key
|
|
43
|
+
*/
|
|
44
|
+
remove(key: string): void;
|
|
45
|
+
/**
|
|
46
|
+
* 在缓存值不存在时计算缓存的值,然后放入并返回.
|
|
47
|
+
* @param key
|
|
48
|
+
* @param provider
|
|
49
|
+
* @param expiresInSeconds
|
|
50
|
+
*/
|
|
51
|
+
computeIfAbsent<T>(key: string, provider: () => Promise<T> | T, expiresInSeconds?: number): Promise<T>;
|
|
52
|
+
}
|
package/types/cache/config.d.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 缓存的配置
|
|
3
|
-
*/
|
|
4
|
-
interface CacheConfig {
|
|
5
|
-
/**
|
|
6
|
-
* 默认的存活时长,取值:1-3600,默认 60。存活时间应该尽可能的短,尤其是当缓存的内容比较大时,
|
|
7
|
-
* 否则缓存的内容长时间占用内存,会对 gc 造成影响。
|
|
8
|
-
*/
|
|
9
|
-
defaultExpireInSeconds: number;
|
|
10
|
-
/**
|
|
11
|
-
* 是否启用统计任务,启用后每隔指定的时间打印一次缓存统计信息,用于了解缓存的情况.
|
|
12
|
-
*/
|
|
13
|
-
statTaskEnabled: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* 统计任务执行的周期,单位秒,取值 60-3600。统计周期也即是时间窗口,
|
|
16
|
-
* 每个周期都是独立的,只统计这个周期内的缓存使用情况。
|
|
17
|
-
*/
|
|
18
|
-
statInterval: number;
|
|
19
|
-
/**
|
|
20
|
-
* 最大元素数量,为了控制缓存占用的内存空间,可以将 maxElements 设置的低一些。
|
|
21
|
-
*/
|
|
22
|
-
maxElements: number;
|
|
23
|
-
/**
|
|
24
|
-
* 数据清理任务执行周期,单位秒.取值 1-3600,清理任务完成两件事:删除过期数据和驱逐多余记录。
|
|
25
|
-
* 如果项目规模小,缓存的内容非常少,可以将间隔设置长一些,降低频率.
|
|
26
|
-
* 如果缓存的内容很多,频率需要高一些,及时将无效数据清理掉。
|
|
27
|
-
* 否则缓存会长时间占用很高的内存无法被回收,回收器完成检查却需要很长时间,影响gc效率.
|
|
28
|
-
*/
|
|
29
|
-
cleaningInterval: number;
|
|
30
|
-
}
|
|
31
|
-
export declare const config: CacheConfig;
|
|
32
|
-
export {};
|
|
1
|
+
/**
|
|
2
|
+
* 缓存的配置
|
|
3
|
+
*/
|
|
4
|
+
interface CacheConfig {
|
|
5
|
+
/**
|
|
6
|
+
* 默认的存活时长,取值:1-3600,默认 60。存活时间应该尽可能的短,尤其是当缓存的内容比较大时,
|
|
7
|
+
* 否则缓存的内容长时间占用内存,会对 gc 造成影响。
|
|
8
|
+
*/
|
|
9
|
+
defaultExpireInSeconds: number;
|
|
10
|
+
/**
|
|
11
|
+
* 是否启用统计任务,启用后每隔指定的时间打印一次缓存统计信息,用于了解缓存的情况.
|
|
12
|
+
*/
|
|
13
|
+
statTaskEnabled: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 统计任务执行的周期,单位秒,取值 60-3600。统计周期也即是时间窗口,
|
|
16
|
+
* 每个周期都是独立的,只统计这个周期内的缓存使用情况。
|
|
17
|
+
*/
|
|
18
|
+
statInterval: number;
|
|
19
|
+
/**
|
|
20
|
+
* 最大元素数量,为了控制缓存占用的内存空间,可以将 maxElements 设置的低一些。
|
|
21
|
+
*/
|
|
22
|
+
maxElements: number;
|
|
23
|
+
/**
|
|
24
|
+
* 数据清理任务执行周期,单位秒.取值 1-3600,清理任务完成两件事:删除过期数据和驱逐多余记录。
|
|
25
|
+
* 如果项目规模小,缓存的内容非常少,可以将间隔设置长一些,降低频率.
|
|
26
|
+
* 如果缓存的内容很多,频率需要高一些,及时将无效数据清理掉。
|
|
27
|
+
* 否则缓存会长时间占用很高的内存无法被回收,回收器完成检查却需要很长时间,影响gc效率.
|
|
28
|
+
*/
|
|
29
|
+
cleaningInterval: number;
|
|
30
|
+
}
|
|
31
|
+
export declare const config: CacheConfig;
|
|
32
|
+
export {};
|
package/types/cache/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Cache } from './cache';
|
|
2
|
-
export declare function getCache(): Cache;
|
|
1
|
+
import { Cache } from './cache';
|
|
2
|
+
export declare function getCache(): Cache;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Task } from '../task';
|
|
2
|
-
import { CacheContent } from './cache';
|
|
3
|
-
/**
|
|
4
|
-
* 缓存清理任务
|
|
5
|
-
*/
|
|
6
|
-
export declare class PurgeTask implements Task {
|
|
7
|
-
private readonly valueMap;
|
|
8
|
-
readonly name = "Cache purge";
|
|
9
|
-
constructor(valueMap: Map<string, CacheContent>);
|
|
10
|
-
run(): Promise<void>;
|
|
11
|
-
}
|
|
1
|
+
import { Task } from '../task';
|
|
2
|
+
import { CacheContent } from './cache';
|
|
3
|
+
/**
|
|
4
|
+
* 缓存清理任务
|
|
5
|
+
*/
|
|
6
|
+
export declare class PurgeTask implements Task {
|
|
7
|
+
private readonly valueMap;
|
|
8
|
+
readonly name = "Cache purge";
|
|
9
|
+
constructor(valueMap: Map<string, CacheContent>);
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
package/types/cache/stat.d.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 缓存统计.
|
|
3
|
-
*/
|
|
4
|
-
export declare class CacheStat {
|
|
5
|
-
private readonly valueMap;
|
|
6
|
-
/**
|
|
7
|
-
* 开始统计时间
|
|
8
|
-
*/
|
|
9
|
-
private start;
|
|
10
|
-
private totalGet;
|
|
11
|
-
private totalHit;
|
|
12
|
-
constructor(valueMap: Map<string, any>);
|
|
13
|
-
/**
|
|
14
|
-
* 添加 get 次数
|
|
15
|
-
* @param hit 是否命中
|
|
16
|
-
*/
|
|
17
|
-
addGet(hit: boolean): void;
|
|
18
|
-
/**
|
|
19
|
-
* 清空统计信息,重新开始统计.
|
|
20
|
-
*/
|
|
21
|
-
clear(): void;
|
|
22
|
-
/**
|
|
23
|
-
* 输出日志
|
|
24
|
-
*/
|
|
25
|
-
log(): void;
|
|
26
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* 缓存统计.
|
|
3
|
+
*/
|
|
4
|
+
export declare class CacheStat {
|
|
5
|
+
private readonly valueMap;
|
|
6
|
+
/**
|
|
7
|
+
* 开始统计时间
|
|
8
|
+
*/
|
|
9
|
+
private start;
|
|
10
|
+
private totalGet;
|
|
11
|
+
private totalHit;
|
|
12
|
+
constructor(valueMap: Map<string, any>);
|
|
13
|
+
/**
|
|
14
|
+
* 添加 get 次数
|
|
15
|
+
* @param hit 是否命中
|
|
16
|
+
*/
|
|
17
|
+
addGet(hit: boolean): void;
|
|
18
|
+
/**
|
|
19
|
+
* 清空统计信息,重新开始统计.
|
|
20
|
+
*/
|
|
21
|
+
clear(): void;
|
|
22
|
+
/**
|
|
23
|
+
* 输出日志
|
|
24
|
+
*/
|
|
25
|
+
log(): void;
|
|
26
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 转换值.
|
|
3
|
-
* @param val
|
|
4
|
-
* @param defaultVal
|
|
5
|
-
*/
|
|
6
|
-
export declare function convert(val: string, defaultVal: any): string | number | boolean;
|
|
1
|
+
/**
|
|
2
|
+
* 转换值.
|
|
3
|
+
* @param val
|
|
4
|
+
* @param defaultVal
|
|
5
|
+
*/
|
|
6
|
+
export declare function convert(val: string, defaultVal: any): string | number | boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 配置异常.
|
|
3
|
-
*/
|
|
4
|
-
export declare class ConfigException extends Error {
|
|
5
|
-
readonly message: string;
|
|
6
|
-
constructor(message: string);
|
|
7
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* 配置异常.
|
|
3
|
+
*/
|
|
4
|
+
export declare class ConfigException extends Error {
|
|
5
|
+
readonly message: string;
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
package/types/config/index.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { ValidationOpts } from '../validation';
|
|
2
|
-
/**
|
|
3
|
-
* 获取配置
|
|
4
|
-
* @param envPrefix
|
|
5
|
-
*/
|
|
6
|
-
export declare function getConfig<T>(envPrefix: string): T | undefined;
|
|
7
|
-
/**
|
|
8
|
-
* 注册配置信息.
|
|
9
|
-
* @param defaultConfig 默认值, 模块会根据默认值来映射环境变量,默认值所有的属性都不能是 undefined,否则无法映射.
|
|
10
|
-
* @param envPrefix 环境变量前缀.
|
|
11
|
-
* @param validation 校验规则,如果有值,初始化的时候会对配置进行校验
|
|
12
|
-
* @returns 映射了环境变量后的配置
|
|
13
|
-
*/
|
|
14
|
-
export declare function registerConfig<T extends {}>(defaultConfig: T, envPrefix: string, validation?: ValidationOpts<T>): T;
|
|
15
|
-
/**
|
|
16
|
-
* 根据环境变量来生成配置对象,与 registerConfig 的参数是一致的,和 registerConfig 不同的是
|
|
17
|
-
* generateConfig 可以多次重复使用,方便在运行时更改环境变量后再生成配置,而调用 registerConfig
|
|
18
|
-
* 一旦注册后不能再被更改。之所以这样设计是为了方便程序的测试,模拟不同的环境来运行程序,和其它的
|
|
19
|
-
* 一些特殊需求。
|
|
20
|
-
* @param defaultConfig
|
|
21
|
-
* @param envPrefix
|
|
22
|
-
* @param validation
|
|
23
|
-
*/
|
|
24
|
-
export declare function generateConfig<T extends {}>(defaultConfig: T, envPrefix: string, validation?: ValidationOpts<T>): T;
|
|
25
|
-
export * from './exception';
|
|
1
|
+
import { ValidationOpts } from '../validation';
|
|
2
|
+
/**
|
|
3
|
+
* 获取配置
|
|
4
|
+
* @param envPrefix
|
|
5
|
+
*/
|
|
6
|
+
export declare function getConfig<T>(envPrefix: string): T | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* 注册配置信息.
|
|
9
|
+
* @param defaultConfig 默认值, 模块会根据默认值来映射环境变量,默认值所有的属性都不能是 undefined,否则无法映射.
|
|
10
|
+
* @param envPrefix 环境变量前缀.
|
|
11
|
+
* @param validation 校验规则,如果有值,初始化的时候会对配置进行校验
|
|
12
|
+
* @returns 映射了环境变量后的配置
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerConfig<T extends {}>(defaultConfig: T, envPrefix: string, validation?: ValidationOpts<T>): T;
|
|
15
|
+
/**
|
|
16
|
+
* 根据环境变量来生成配置对象,与 registerConfig 的参数是一致的,和 registerConfig 不同的是
|
|
17
|
+
* generateConfig 可以多次重复使用,方便在运行时更改环境变量后再生成配置,而调用 registerConfig
|
|
18
|
+
* 一旦注册后不能再被更改。之所以这样设计是为了方便程序的测试,模拟不同的环境来运行程序,和其它的
|
|
19
|
+
* 一些特殊需求。
|
|
20
|
+
* @param defaultConfig
|
|
21
|
+
* @param envPrefix
|
|
22
|
+
* @param validation
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateConfig<T extends {}>(defaultConfig: T, envPrefix: string, validation?: ValidationOpts<T>): T;
|
|
25
|
+
export * from './exception';
|
|
@@ -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>;
|
package/types/i18n/ar.d.ts
CHANGED
|
@@ -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;
|
package/types/i18n/de.d.ts
CHANGED
|
@@ -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;
|
package/types/i18n/en-us.d.ts
CHANGED
|
@@ -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;
|
package/types/i18n/es.d.ts
CHANGED
|
@@ -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;
|
package/types/i18n/fr.d.ts
CHANGED
|
@@ -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;
|