node-karin 0.0.3 → 0.1.1

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 (109) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +57 -57
  3. package/config/defSet/App.yaml +37 -37
  4. package/config/defSet/config.yaml +43 -43
  5. package/config/defSet/group.yaml +18 -18
  6. package/config/defSet/pm2.yaml +21 -21
  7. package/config/defSet/server.yaml +42 -42
  8. package/config/view/App.yaml +74 -74
  9. package/config/view/config.yaml +100 -100
  10. package/config/view/group.yaml +62 -62
  11. package/config/view/pm2.yaml +41 -41
  12. package/config/view/redis.yaml +25 -25
  13. package/config/view/server.yaml +93 -93
  14. package/lib/adapter/onebot/onebot11.d.ts +430 -430
  15. package/lib/adapter/onebot/onebot11.js +1265 -1302
  16. package/lib/core/dir.d.ts +1 -0
  17. package/lib/core/dir.js +4 -0
  18. package/lib/core/init.js +4 -4
  19. package/lib/core/karin.d.ts +72 -72
  20. package/lib/core/karin.js +51 -51
  21. package/lib/core/listener.d.ts +121 -121
  22. package/lib/core/listener.js +178 -178
  23. package/lib/core/plugin.app.d.ts +15 -15
  24. package/lib/core/plugin.app.js +18 -18
  25. package/lib/core/plugin.d.ts +182 -182
  26. package/lib/core/plugin.js +132 -132
  27. package/lib/core/plugin.loader.d.ts +149 -149
  28. package/lib/core/plugin.loader.js +451 -451
  29. package/lib/core/server.d.ts +26 -26
  30. package/lib/core/server.js +209 -209
  31. package/lib/db/level.d.ts +20 -20
  32. package/lib/db/level.js +36 -36
  33. package/lib/db/redis.d.ts +41 -41
  34. package/lib/db/redis.js +131 -131
  35. package/lib/db/redis_level.d.ts +113 -113
  36. package/lib/db/redis_level.js +274 -274
  37. package/lib/event/event.d.ts +138 -138
  38. package/lib/event/event.handler.d.ts +29 -29
  39. package/lib/event/event.handler.js +138 -138
  40. package/lib/event/event.js +120 -120
  41. package/lib/event/message.d.ts +102 -102
  42. package/lib/event/message.handler.d.ts +25 -25
  43. package/lib/event/message.handler.js +237 -237
  44. package/lib/event/message.js +69 -69
  45. package/lib/event/notice.d.ts +49 -49
  46. package/lib/event/notice.js +14 -14
  47. package/lib/event/request.d.ts +49 -49
  48. package/lib/event/request.js +14 -14
  49. package/lib/event/review.handler.d.ts +54 -54
  50. package/lib/event/review.handler.js +374 -374
  51. package/lib/index.d.ts +24 -23
  52. package/lib/index.js +40 -40
  53. package/lib/renderer/app.d.ts +53 -53
  54. package/lib/renderer/app.js +88 -88
  55. package/lib/renderer/base.d.ts +30 -30
  56. package/lib/renderer/base.js +68 -68
  57. package/lib/renderer/client.d.ts +30 -30
  58. package/lib/renderer/client.js +155 -155
  59. package/lib/renderer/http.d.ts +19 -19
  60. package/lib/renderer/http.js +50 -50
  61. package/lib/renderer/server.d.ts +42 -42
  62. package/lib/renderer/server.js +110 -110
  63. package/lib/renderer/wormhole.d.ts +1 -1
  64. package/lib/renderer/wormhole.js +154 -154
  65. package/lib/tools/init.d.ts +2 -0
  66. package/lib/tools/init.js +31 -0
  67. package/lib/types/adapter.d.ts +575 -575
  68. package/lib/types/adapter.js +1 -1
  69. package/lib/types/config.d.ts +327 -327
  70. package/lib/types/config.js +1 -1
  71. package/lib/types/element.d.ts +576 -576
  72. package/lib/types/element.js +1 -1
  73. package/lib/types/index.d.ts +8 -8
  74. package/lib/types/index.js +8 -8
  75. package/lib/types/logger.d.ts +109 -109
  76. package/lib/types/logger.js +1 -1
  77. package/lib/types/onebots11.d.ts +1371 -1371
  78. package/lib/types/onebots11.js +1 -1
  79. package/lib/types/plugin.d.ts +282 -282
  80. package/lib/types/plugin.js +1 -1
  81. package/lib/types/render.d.ts +111 -111
  82. package/lib/types/render.js +1 -1
  83. package/lib/types/reply.d.ts +40 -40
  84. package/lib/types/reply.js +1 -1
  85. package/lib/types/types.d.ts +898 -898
  86. package/lib/types/types.js +1 -1
  87. package/lib/utils/YamlEditor.d.ts +62 -62
  88. package/lib/utils/YamlEditor.js +197 -197
  89. package/lib/utils/button.d.ts +49 -49
  90. package/lib/utils/button.js +75 -75
  91. package/lib/utils/common.d.ts +123 -123
  92. package/lib/utils/common.js +396 -396
  93. package/lib/utils/config.d.ts +72 -72
  94. package/lib/utils/config.js +259 -254
  95. package/lib/utils/exec.d.ts +22 -22
  96. package/lib/utils/exec.js +36 -36
  97. package/lib/utils/ffmpeg.d.ts +12 -12
  98. package/lib/utils/ffmpeg.js +25 -25
  99. package/lib/utils/handler.d.ts +76 -76
  100. package/lib/utils/handler.js +98 -98
  101. package/lib/utils/logger.d.ts +3 -3
  102. package/lib/utils/logger.js +104 -104
  103. package/lib/utils/segment.d.ts +276 -276
  104. package/lib/utils/segment.js +420 -420
  105. package/lib/utils/update.d.ts +69 -69
  106. package/lib/utils/update.js +145 -145
  107. package/lib/utils/updateVersion.d.ts +33 -33
  108. package/lib/utils/updateVersion.js +140 -140
  109. package/package.json +95 -91
@@ -1,22 +1,22 @@
1
- /**
2
- * 执行 shell 命令
3
- * @param cmd 命令
4
- * @param log 是否打印日志
5
- * @param options 选项
6
- */
7
- export declare const exec: (cmd: string, log?: boolean, options?: {
8
- cwd: string;
9
- encoding: string;
10
- }) => Promise<{
11
- /**
12
- * - 执行状态
13
- */
14
- status: 'ok' | 'failed';
15
- /**
16
- * - 错误信息
17
- */
18
- error: Error | null;
19
- stdout: string | '';
20
- stderr: string | '';
21
- }>;
22
- export default exec;
1
+ /**
2
+ * 执行 shell 命令
3
+ * @param cmd 命令
4
+ * @param log 是否打印日志
5
+ * @param options 选项
6
+ */
7
+ export declare const exec: (cmd: string, log?: boolean, options?: {
8
+ cwd: string;
9
+ encoding: string;
10
+ }) => Promise<{
11
+ /**
12
+ * - 执行状态
13
+ */
14
+ status: 'ok' | 'failed';
15
+ /**
16
+ * - 错误信息
17
+ */
18
+ error: Error | null;
19
+ stdout: string | '';
20
+ stderr: string | '';
21
+ }>;
22
+ export default exec;
package/lib/utils/exec.js CHANGED
@@ -1,36 +1,36 @@
1
- import logger from './logger.js'
2
- import { exec as execCmd } from 'child_process'
3
- /**
4
- * 执行 shell 命令
5
- * @param cmd 命令
6
- * @param log 是否打印日志
7
- * @param options 选项
8
- */
9
- export const exec = (cmd, log = true, options = { cwd: process.cwd(), encoding: 'utf-8' }) => {
10
- return new Promise(resolve => {
11
- const logMessage = (level, message) => {
12
- if (log) { logger[level](message) }
13
- }
14
- const logType = (status) => {
15
- switch (status) {
16
- case '开始执行':
17
- return logger.yellow('[exec][开始执行]')
18
- case 'ok':
19
- return logger.green('[exec][执行成功]')
20
- case 'failed':
21
- return logger.red('[exec][执行失败]')
22
- }
23
- }
24
- const formatMessage = (status, details) => [logType(status), `cmd: ${cmd}`, `cwd: ${options.cwd || process.cwd()}`, details, '--------'].join('\n')
25
- logMessage('info', formatMessage('开始执行', ''))
26
- execCmd(cmd, options, (error, stdout, stderr) => {
27
- if (error) {
28
- logMessage('error', formatMessage('failed', `Error: ${error.message || error.stack || error.toString()}`))
29
- return resolve({ status: 'failed', error, stdout, stderr })
30
- }
31
- logMessage('mark', formatMessage('ok', `stdout: ${stdout}\nstderr: ${stderr}`))
32
- resolve({ status: 'ok', error, stdout, stderr })
33
- })
34
- })
35
- }
36
- export default exec
1
+ import logger from './logger.js'
2
+ import { exec as execCmd } from 'child_process'
3
+ /**
4
+ * 执行 shell 命令
5
+ * @param cmd 命令
6
+ * @param log 是否打印日志
7
+ * @param options 选项
8
+ */
9
+ export const exec = (cmd, log = true, options = { cwd: process.cwd(), encoding: 'utf-8' }) => {
10
+ return new Promise(resolve => {
11
+ const logMessage = (level, message) => {
12
+ if (log) { logger[level](message) }
13
+ }
14
+ const logType = (status) => {
15
+ switch (status) {
16
+ case '开始执行':
17
+ return logger.yellow('[exec][开始执行]')
18
+ case 'ok':
19
+ return logger.green('[exec][执行成功]')
20
+ case 'failed':
21
+ return logger.red('[exec][执行失败]')
22
+ }
23
+ }
24
+ const formatMessage = (status, details) => [logType(status), `cmd: ${cmd}`, `cwd: ${options.cwd || process.cwd()}`, details, '--------'].join('\n')
25
+ logMessage('info', formatMessage('开始执行', ''))
26
+ execCmd(cmd, options, (error, stdout, stderr) => {
27
+ if (error) {
28
+ logMessage('error', formatMessage('failed', `Error: ${error.message || error.stack || error.toString()}`))
29
+ return resolve({ status: 'failed', error, stdout, stderr })
30
+ }
31
+ logMessage('mark', formatMessage('ok', `stdout: ${stdout}\nstderr: ${stderr}`))
32
+ resolve({ status: 'ok', error, stdout, stderr })
33
+ })
34
+ })
35
+ }
36
+ export default exec
@@ -1,12 +1,12 @@
1
- /**
2
- * 执行 ffmpeg 命令
3
- */
4
- export default function ffmpeg(): Promise<false | ((cmd: string, log?: boolean, options?: {
5
- cwd: string;
6
- encoding: string;
7
- }) => Promise<{
8
- status: "failed" | "ok";
9
- error: Error | null;
10
- stdout: string;
11
- stderr: string;
12
- }>)>;
1
+ /**
2
+ * 执行 ffmpeg 命令
3
+ */
4
+ export default function ffmpeg(): Promise<false | ((cmd: string, log?: boolean, options?: {
5
+ cwd: string;
6
+ encoding: string;
7
+ }) => Promise<{
8
+ status: "failed" | "ok";
9
+ error: Error | null;
10
+ stdout: string;
11
+ stderr: string;
12
+ }>)>;
@@ -1,25 +1,25 @@
1
- import exec from './exec.js'
2
- import logger from './logger.js'
3
- import Config from './config.js'
4
- /**
5
- * 执行 ffmpeg 命令
6
- */
7
- export default async function ffmpeg () {
8
- let ffmpeg = 'ffmpeg'
9
- const { status } = await exec('ffmpeg -version', false)
10
- if (status !== 'ok') {
11
- logger.debug('ffmpeg 未安装,开始尝试读取配置文件是否存在ffmpeg路径')
12
- const ffmpegPath = Config.Config.ffmpeg_path
13
- if (!ffmpegPath) {
14
- logger.warn('ffmpeg 未安装,请安装 ffmpeg 或手动配置 ffmpeg 路径后重启')
15
- return false
16
- }
17
- ffmpeg = `"${ffmpegPath}"`
18
- }
19
- // 返回函数
20
- return async (cmd, log = true, options = { cwd: process.cwd(), encoding: 'utf-8' }) => {
21
- cmd = cmd.replace(/^ffmpeg/, '').trim()
22
- cmd = `${ffmpeg} ${cmd}`
23
- return await exec(cmd, log, options)
24
- }
25
- }
1
+ import exec from './exec.js'
2
+ import logger from './logger.js'
3
+ import Config from './config.js'
4
+ /**
5
+ * 执行 ffmpeg 命令
6
+ */
7
+ export default async function ffmpeg () {
8
+ let ffmpeg = 'ffmpeg'
9
+ const { status } = await exec('ffmpeg -version', false)
10
+ if (status !== 'ok') {
11
+ logger.debug('ffmpeg 未安装,开始尝试读取配置文件是否存在ffmpeg路径')
12
+ const ffmpegPath = Config.Config.ffmpeg_path
13
+ if (!ffmpegPath) {
14
+ logger.warn('ffmpeg 未安装,请安装 ffmpeg 或手动配置 ffmpeg 路径后重启')
15
+ return false
16
+ }
17
+ ffmpeg = `"${ffmpegPath}"`
18
+ }
19
+ // 返回函数
20
+ return async (cmd, log = true, options = { cwd: process.cwd(), encoding: 'utf-8' }) => {
21
+ cmd = cmd.replace(/^ffmpeg/, '').trim()
22
+ cmd = `${ffmpeg} ${cmd}`
23
+ return await exec(cmd, log, options)
24
+ }
25
+ }
@@ -1,76 +1,76 @@
1
- import Plugin from '../core/plugin.js';
2
- import { dirName, fileName } from '../types/plugin.js';
3
- /**
4
- * 事件处理器类
5
- */
6
- declare const _default: {
7
- events: {
8
- [key: string]: {
9
- /**
10
- * - 文件信息
11
- */
12
- file: {
13
- /**
14
- * - 插件包名称
15
- */
16
- dir: dirName;
17
- /**
18
- * - 文件名称
19
- */
20
- name: fileName;
21
- };
22
- /**
23
- * - 事件class
24
- */
25
- App: new () => Plugin;
26
- /**
27
- * - 事件键
28
- */
29
- key: string;
30
- /**
31
- * - 事件处理函数名称
32
- */
33
- fnc: string;
34
- /**
35
- * - 优先级
36
- */
37
- priority: number;
38
- }[];
39
- };
40
- /**
41
- * 添加事件处理器
42
- * @param {Object} config 配置对象
43
- * @param {string} config.name 处理器名称
44
- * @param {string} config.dir 处理器所在目录
45
- * @param {Function} config.App 应用构造函数
46
- * @param {Object} config.Class 类配置
47
- */
48
- add({ name, dir, App, Class }: {
49
- dir: dirName;
50
- name: fileName;
51
- App: new () => Plugin;
52
- Class: Plugin;
53
- }): void;
54
- /**
55
- * 删除事件处理器
56
- */
57
- del({ dir, name, key, }: {
58
- dir: dirName | '';
59
- name: fileName | '';
60
- /**
61
- * 事件键 未传入则删除所有处理器
62
- */
63
- key: string | '';
64
- }): boolean;
65
- /**
66
- * 调用事件处理器
67
- * @param key 事件键
68
- * @param args 自定义参数 一般用来传递e之类的
69
- */
70
- call(key: string, args?: {}): Promise<any>;
71
- /**
72
- * 检查是否存在指定键的事件处理器
73
- */
74
- has(key: string): boolean;
75
- };
76
- export default _default;
1
+ import Plugin from '../core/plugin.js';
2
+ import { dirName, fileName } from '../types/plugin.js';
3
+ /**
4
+ * 事件处理器类
5
+ */
6
+ declare const _default: {
7
+ events: {
8
+ [key: string]: {
9
+ /**
10
+ * - 文件信息
11
+ */
12
+ file: {
13
+ /**
14
+ * - 插件包名称
15
+ */
16
+ dir: dirName;
17
+ /**
18
+ * - 文件名称
19
+ */
20
+ name: fileName;
21
+ };
22
+ /**
23
+ * - 事件class
24
+ */
25
+ App: new () => Plugin;
26
+ /**
27
+ * - 事件键
28
+ */
29
+ key: string;
30
+ /**
31
+ * - 事件处理函数名称
32
+ */
33
+ fnc: string;
34
+ /**
35
+ * - 优先级
36
+ */
37
+ priority: number;
38
+ }[];
39
+ };
40
+ /**
41
+ * 添加事件处理器
42
+ * @param {Object} config 配置对象
43
+ * @param {string} config.name 处理器名称
44
+ * @param {string} config.dir 处理器所在目录
45
+ * @param {Function} config.App 应用构造函数
46
+ * @param {Object} config.Class 类配置
47
+ */
48
+ add({ name, dir, App, Class }: {
49
+ dir: dirName;
50
+ name: fileName;
51
+ App: new () => Plugin;
52
+ Class: Plugin;
53
+ }): void;
54
+ /**
55
+ * 删除事件处理器
56
+ */
57
+ del({ dir, name, key, }: {
58
+ dir: dirName | '';
59
+ name: fileName | '';
60
+ /**
61
+ * 事件键 未传入则删除所有处理器
62
+ */
63
+ key: string | '';
64
+ }): boolean;
65
+ /**
66
+ * 调用事件处理器
67
+ * @param key 事件键
68
+ * @param args 自定义参数 一般用来传递e之类的
69
+ */
70
+ call(key: string, args?: {}): Promise<any>;
71
+ /**
72
+ * 检查是否存在指定键的事件处理器
73
+ */
74
+ has(key: string): boolean;
75
+ };
76
+ export default _default;
@@ -1,102 +1,102 @@
1
- import util from 'util'
2
- import lodash from 'lodash'
3
- import logger from './logger.js'
4
- /**
5
- * 事件处理器类
6
- */
7
- export default new (class EventHandler {
8
- events
9
- constructor () {
10
- this.events = {}
1
+ import util from 'util'
2
+ import lodash from 'lodash'
3
+ import logger from './logger.js'
4
+ /**
5
+ * 事件处理器类
6
+ */
7
+ export default new (class EventHandler {
8
+ events
9
+ constructor () {
10
+ this.events = {}
11
11
  }
12
-
13
- /**
14
- * 添加事件处理器
15
- * @param {Object} config 配置对象
16
- * @param {string} config.name 处理器名称
17
- * @param {string} config.dir 处理器所在目录
18
- * @param {Function} config.App 应用构造函数
19
- * @param {Object} config.Class 类配置
20
- */
21
- add ({ name, dir, App, Class }) {
22
- for (const cfg of Class.handler) {
23
- const { key = '', fnc = '', priority = 2000 } = cfg
24
- if (!key) {
25
- return logger.error(`[Handler][Add]: [${name}] 缺少 key`)
26
- }
27
- if (!fnc) {
28
- return logger.error(`[Handler][Add]: [${name}] 缺少 fnc`)
29
- }
30
- logger.debug(`[Handler][Reg]: [${name}][${key}]`)
31
- if (!Array.isArray(this.events[key])) { this.events[key] = [] }
32
- this.events[key].push({ file: { name, dir }, App, key, fnc, priority })
33
- this.events[key] = lodash.orderBy(this.events[key], ['priority'], ['asc'])
34
- }
12
+
13
+ /**
14
+ * 添加事件处理器
15
+ * @param {Object} config 配置对象
16
+ * @param {string} config.name 处理器名称
17
+ * @param {string} config.dir 处理器所在目录
18
+ * @param {Function} config.App 应用构造函数
19
+ * @param {Object} config.Class 类配置
20
+ */
21
+ add ({ name, dir, App, Class }) {
22
+ for (const cfg of Class.handler) {
23
+ const { key = '', fnc = '', priority = 2000 } = cfg
24
+ if (!key) {
25
+ return logger.error(`[Handler][Add]: [${name}] 缺少 key`)
26
+ }
27
+ if (!fnc) {
28
+ return logger.error(`[Handler][Add]: [${name}] 缺少 fnc`)
29
+ }
30
+ logger.debug(`[Handler][Reg]: [${name}][${key}]`)
31
+ if (!Array.isArray(this.events[key])) { this.events[key] = [] }
32
+ this.events[key].push({ file: { name, dir }, App, key, fnc, priority })
33
+ this.events[key] = lodash.orderBy(this.events[key], ['priority'], ['asc'])
34
+ }
35
35
  }
36
-
37
- /**
38
- * 删除事件处理器
39
- */
40
- del ({ dir = '', name = '', key = '' }) {
41
- /** 这里是删除所有 全部重新初始化 */
42
- if (!key && !dir && !name) {
43
- this.events = {}
44
- return true
45
- }
46
- /** 热重载 删除指定目录 */
47
- if (!key) {
48
- for (const v of Object.keys(this.events)) {
49
- this.events[v] = this.events[v].filter(v => v.file.dir !== dir || v.file.name !== name)
50
- // 如果处理器为空则删除键
51
- if (!this.events[v].length) {
52
- delete this.events[v]
53
- } else {
54
- this.events[v] = lodash.orderBy(this.events[v], ['priority'], ['asc'])
55
- }
56
- }
57
- return true
58
- }
59
- if (!this.events[key]) { return false }
60
- this.events[key] = this.events[key].filter(v => v.file.dir !== dir || v.file.name !== name)
61
- this.events[key] = lodash.orderBy(this.events[key], ['priority'], ['asc'])
62
- return true
36
+
37
+ /**
38
+ * 删除事件处理器
39
+ */
40
+ del ({ dir = '', name = '', key = '' }) {
41
+ /** 这里是删除所有 全部重新初始化 */
42
+ if (!key && !dir && !name) {
43
+ this.events = {}
44
+ return true
45
+ }
46
+ /** 热重载 删除指定目录 */
47
+ if (!key) {
48
+ for (const v of Object.keys(this.events)) {
49
+ this.events[v] = this.events[v].filter(v => v.file.dir !== dir || v.file.name !== name)
50
+ // 如果处理器为空则删除键
51
+ if (!this.events[v].length) {
52
+ delete this.events[v]
53
+ } else {
54
+ this.events[v] = lodash.orderBy(this.events[v], ['priority'], ['asc'])
55
+ }
56
+ }
57
+ return true
58
+ }
59
+ if (!this.events[key]) { return false }
60
+ this.events[key] = this.events[key].filter(v => v.file.dir !== dir || v.file.name !== name)
61
+ this.events[key] = lodash.orderBy(this.events[key], ['priority'], ['asc'])
62
+ return true
63
63
  }
64
-
65
- /**
66
- * 调用事件处理器
67
- * @param key 事件键
68
- * @param args 自定义参数 一般用来传递e之类的
69
- */
70
- async call (key, args = {}) {
71
- let ret
72
- for (const v of this.events[key] || []) {
73
- const App = new v.App()
74
- if ('e' in args && args.e) { App.e = args.e }
75
- let done = true
76
- // 标记函数,用于标记处理器是否执行成功,由处理器自行调用,如果未调用则认为处理器未执行成功
77
- const reject = (msg = '') => {
78
- if (msg) { logger.mark(`[Handler][Reject]: [${v.file.dir}][${v.file.name}][${key}] ${msg}`) }
79
- done = false
80
- }
81
- try {
82
- ret = await App[v.fnc](args, reject)
83
- if (util.types.isPromise(ret)) { ret = await ret }
84
- if (done) {
85
- logger.mark(`[Handler][Done]: [${v.file.dir}][${v.file.name}][${key}]`)
86
- return ret
87
- }
88
- } catch (e) {
89
- // 产生错误继续下一个处理器
90
- logger.error(`[Handler][Error]: [${v.file.dir}][${v.file.name}][${key}] ${e}`)
91
- }
92
- }
93
- return ret
64
+
65
+ /**
66
+ * 调用事件处理器
67
+ * @param key 事件键
68
+ * @param args 自定义参数 一般用来传递e之类的
69
+ */
70
+ async call (key, args = {}) {
71
+ let ret
72
+ for (const v of this.events[key] || []) {
73
+ const App = new v.App()
74
+ if ('e' in args && args.e) { App.e = args.e }
75
+ let done = true
76
+ // 标记函数,用于标记处理器是否执行成功,由处理器自行调用,如果未调用则认为处理器未执行成功
77
+ const reject = (msg = '') => {
78
+ if (msg) { logger.mark(`[Handler][Reject]: [${v.file.dir}][${v.file.name}][${key}] ${msg}`) }
79
+ done = false
80
+ }
81
+ try {
82
+ ret = await App[v.fnc](args, reject)
83
+ if (util.types.isPromise(ret)) { ret = await ret }
84
+ if (done) {
85
+ logger.mark(`[Handler][Done]: [${v.file.dir}][${v.file.name}][${key}]`)
86
+ return ret
87
+ }
88
+ } catch (e) {
89
+ // 产生错误继续下一个处理器
90
+ logger.error(`[Handler][Error]: [${v.file.dir}][${v.file.name}][${key}] ${e}`)
91
+ }
92
+ }
93
+ return ret
94
94
  }
95
-
96
- /**
97
- * 检查是否存在指定键的事件处理器
98
- */
99
- has (key) {
100
- return !!this.events[key]
101
- }
102
- })()
95
+
96
+ /**
97
+ * 检查是否存在指定键的事件处理器
98
+ */
99
+ has (key) {
100
+ return !!this.events[key]
101
+ }
102
+ })()
@@ -1,3 +1,3 @@
1
- import log4js from 'log4js';
2
- declare const logger: log4js.Logger;
3
- export default logger;
1
+ import log4js from 'log4js';
2
+ declare const logger: log4js.Logger;
3
+ export default logger;