egg 4.0.10 → 4.1.0-beta.10

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 (291) hide show
  1. package/README.md +4 -22
  2. package/dist/agent.d.ts +8 -0
  3. package/dist/agent.js +11 -0
  4. package/dist/app/extend/context.d.ts +207 -0
  5. package/dist/app/extend/context.js +244 -0
  6. package/{src/app/extend/helper.ts → dist/app/extend/helper.d.ts} +8 -10
  7. package/dist/app/extend/helper.js +47 -0
  8. package/dist/app/extend/request.d.ts +145 -0
  9. package/dist/app/extend/request.js +226 -0
  10. package/{src/app/extend/response.ts → dist/app/extend/response.d.ts} +7 -16
  11. package/dist/app/extend/response.js +36 -0
  12. package/dist/app/middleware/body_parser.d.ts +2 -0
  13. package/dist/app/middleware/body_parser.js +7 -0
  14. package/dist/app/middleware/meta.d.ts +11 -0
  15. package/dist/app/middleware/meta.js +14 -0
  16. package/dist/app/middleware/notfound.d.ts +11 -0
  17. package/dist/app/middleware/notfound.js +26 -0
  18. package/dist/app/middleware/override_method.d.ts +2 -0
  19. package/dist/app/middleware/override_method.js +7 -0
  20. package/dist/app/middleware/site_file.d.ts +13 -0
  21. package/dist/app/middleware/site_file.js +38 -0
  22. package/dist/config/config.default.d.ts +12 -0
  23. package/dist/config/config.default.js +260 -0
  24. package/dist/config/config.local.d.ts +10 -0
  25. package/dist/config/config.local.js +7 -0
  26. package/dist/config/config.unittest.d.ts +9 -0
  27. package/dist/config/config.unittest.js +10 -0
  28. package/{src/config/plugin.ts → dist/config/plugin.d.ts} +41 -49
  29. package/dist/config/plugin.js +54 -0
  30. package/dist/index.d.ts +19 -0
  31. package/dist/index.js +21 -0
  32. package/dist/lib/agent.d.ts +22 -0
  33. package/dist/lib/agent.js +56 -0
  34. package/dist/lib/application.d.ts +71 -0
  35. package/dist/lib/application.js +209 -0
  36. package/dist/lib/core/base_context_class.d.ts +23 -0
  37. package/dist/lib/core/base_context_class.js +19 -0
  38. package/dist/lib/core/base_context_logger.d.ts +40 -0
  39. package/dist/lib/core/base_context_logger.js +58 -0
  40. package/dist/lib/core/base_hook_class.d.ts +18 -0
  41. package/dist/lib/core/base_hook_class.js +26 -0
  42. package/dist/lib/core/context_httpclient.d.ts +22 -0
  43. package/dist/lib/core/context_httpclient.js +29 -0
  44. package/dist/lib/core/httpclient.d.ts +17 -0
  45. package/dist/lib/core/httpclient.js +36 -0
  46. package/dist/lib/core/logger.d.ts +7 -0
  47. package/dist/lib/core/logger.js +31 -0
  48. package/{src/lib/core/messenger/IMessenger.ts → dist/lib/core/messenger/IMessenger.d.ts} +6 -10
  49. package/dist/lib/core/messenger/IMessenger.js +1 -0
  50. package/dist/lib/core/messenger/base.d.ts +12 -0
  51. package/dist/lib/core/messenger/base.js +29 -0
  52. package/dist/lib/core/messenger/index.d.ts +11 -0
  53. package/dist/lib/core/messenger/index.js +13 -0
  54. package/dist/lib/core/messenger/ipc.d.ts +63 -0
  55. package/dist/lib/core/messenger/ipc.js +122 -0
  56. package/dist/lib/core/messenger/local.d.ts +65 -0
  57. package/dist/lib/core/messenger/local.js +126 -0
  58. package/dist/lib/core/utils.d.ts +5 -0
  59. package/dist/lib/core/utils.js +48 -0
  60. package/dist/lib/egg.d.ts +306 -0
  61. package/dist/lib/egg.js +512 -0
  62. package/dist/lib/error/CookieLimitExceedError.d.ts +8 -0
  63. package/dist/lib/error/CookieLimitExceedError.js +15 -0
  64. package/dist/lib/error/MessageUnhandledRejectionError.d.ts +8 -0
  65. package/dist/lib/error/MessageUnhandledRejectionError.js +15 -0
  66. package/dist/lib/error/index.d.ts +3 -0
  67. package/dist/lib/error/index.js +4 -0
  68. package/dist/lib/loader/AgentWorkerLoader.d.ts +17 -0
  69. package/dist/lib/loader/AgentWorkerLoader.js +24 -0
  70. package/dist/lib/loader/AppWorkerLoader.d.ts +22 -0
  71. package/dist/lib/loader/AppWorkerLoader.js +37 -0
  72. package/dist/lib/loader/EggApplicationLoader.d.ts +8 -0
  73. package/dist/lib/loader/EggApplicationLoader.js +7 -0
  74. package/dist/lib/loader/index.d.ts +4 -0
  75. package/dist/lib/loader/index.js +5 -0
  76. package/dist/lib/start.d.ts +28 -0
  77. package/dist/lib/start.js +36 -0
  78. package/{src/lib/types.ts → dist/lib/types.d.ts} +73 -94
  79. package/dist/lib/types.js +36 -0
  80. package/dist/lib/utils.d.ts +5 -0
  81. package/dist/lib/utils.js +14 -0
  82. package/dist/urllib.d.ts +1 -0
  83. package/dist/urllib.js +3 -0
  84. package/package.json +81 -99
  85. package/README.zh-CN.md +0 -61
  86. package/dist/commonjs/agent.d.ts +0 -4
  87. package/dist/commonjs/agent.js +0 -10
  88. package/dist/commonjs/app/extend/context.d.ts +0 -204
  89. package/dist/commonjs/app/extend/context.js +0 -262
  90. package/dist/commonjs/app/extend/helper.d.ts +0 -37
  91. package/dist/commonjs/app/extend/helper.js +0 -49
  92. package/dist/commonjs/app/extend/request.d.ts +0 -141
  93. package/dist/commonjs/app/extend/request.js +0 -270
  94. package/dist/commonjs/app/extend/response.d.ts +0 -31
  95. package/dist/commonjs/app/extend/response.js +0 -37
  96. package/dist/commonjs/app/middleware/body_parser.d.ts +0 -2
  97. package/dist/commonjs/app/middleware/body_parser.js +0 -8
  98. package/dist/commonjs/app/middleware/meta.d.ts +0 -10
  99. package/dist/commonjs/app/middleware/meta.js +0 -22
  100. package/dist/commonjs/app/middleware/notfound.d.ts +0 -7
  101. package/dist/commonjs/app/middleware/notfound.js +0 -31
  102. package/dist/commonjs/app/middleware/override_method.d.ts +0 -2
  103. package/dist/commonjs/app/middleware/override_method.js +0 -8
  104. package/dist/commonjs/app/middleware/site_file.d.ts +0 -9
  105. package/dist/commonjs/app/middleware/site_file.js +0 -58
  106. package/dist/commonjs/config/config.default.d.ts +0 -9
  107. package/dist/commonjs/config/config.default.js +0 -379
  108. package/dist/commonjs/config/config.local.d.ts +0 -8
  109. package/dist/commonjs/config/config.local.js +0 -12
  110. package/dist/commonjs/config/config.unittest.d.ts +0 -7
  111. package/dist/commonjs/config/config.unittest.js +0 -11
  112. package/dist/commonjs/config/plugin.d.ts +0 -122
  113. package/dist/commonjs/config/plugin.js +0 -124
  114. package/dist/commonjs/index.d.ts +0 -69
  115. package/dist/commonjs/index.js +0 -83
  116. package/dist/commonjs/lib/agent.d.ts +0 -19
  117. package/dist/commonjs/lib/agent.js +0 -58
  118. package/dist/commonjs/lib/application.d.ts +0 -67
  119. package/dist/commonjs/lib/application.js +0 -266
  120. package/dist/commonjs/lib/core/base_context_class.d.ts +0 -17
  121. package/dist/commonjs/lib/core/base_context_class.js +0 -21
  122. package/dist/commonjs/lib/core/base_context_logger.d.ts +0 -36
  123. package/dist/commonjs/lib/core/base_context_logger.js +0 -64
  124. package/dist/commonjs/lib/core/base_hook_class.d.ts +0 -11
  125. package/dist/commonjs/lib/core/base_hook_class.js +0 -29
  126. package/dist/commonjs/lib/core/context_httpclient.d.ts +0 -16
  127. package/dist/commonjs/lib/core/context_httpclient.js +0 -30
  128. package/dist/commonjs/lib/core/httpclient.d.ts +0 -14
  129. package/dist/commonjs/lib/core/httpclient.js +0 -42
  130. package/dist/commonjs/lib/core/logger.d.ts +0 -3
  131. package/dist/commonjs/lib/core/logger.js +0 -40
  132. package/dist/commonjs/lib/core/messenger/IMessenger.d.ts +0 -50
  133. package/dist/commonjs/lib/core/messenger/IMessenger.js +0 -3
  134. package/dist/commonjs/lib/core/messenger/base.d.ts +0 -8
  135. package/dist/commonjs/lib/core/messenger/base.js +0 -31
  136. package/dist/commonjs/lib/core/messenger/index.d.ts +0 -7
  137. package/dist/commonjs/lib/core/messenger/index.js +0 -15
  138. package/dist/commonjs/lib/core/messenger/ipc.d.ts +0 -58
  139. package/dist/commonjs/lib/core/messenger/ipc.js +0 -135
  140. package/dist/commonjs/lib/core/messenger/local.d.ts +0 -60
  141. package/dist/commonjs/lib/core/messenger/local.js +0 -132
  142. package/dist/commonjs/lib/core/utils.d.ts +0 -2
  143. package/dist/commonjs/lib/core/utils.js +0 -77
  144. package/dist/commonjs/lib/egg.d.ts +0 -305
  145. package/dist/commonjs/lib/egg.js +0 -628
  146. package/dist/commonjs/lib/error/CookieLimitExceedError.d.ts +0 -5
  147. package/dist/commonjs/lib/error/CookieLimitExceedError.js +0 -16
  148. package/dist/commonjs/lib/error/MessageUnhandledRejectionError.d.ts +0 -5
  149. package/dist/commonjs/lib/error/MessageUnhandledRejectionError.js +0 -16
  150. package/dist/commonjs/lib/error/index.d.ts +0 -2
  151. package/dist/commonjs/lib/error/index.js +0 -19
  152. package/dist/commonjs/lib/loader/AgentWorkerLoader.d.ts +0 -12
  153. package/dist/commonjs/lib/loader/AgentWorkerLoader.js +0 -24
  154. package/dist/commonjs/lib/loader/AppWorkerLoader.d.ts +0 -17
  155. package/dist/commonjs/lib/loader/AppWorkerLoader.js +0 -43
  156. package/dist/commonjs/lib/loader/EggApplicationLoader.d.ts +0 -4
  157. package/dist/commonjs/lib/loader/EggApplicationLoader.js +0 -8
  158. package/dist/commonjs/lib/loader/index.d.ts +0 -3
  159. package/dist/commonjs/lib/loader/index.js +0 -22
  160. package/dist/commonjs/lib/start.d.ts +0 -24
  161. package/dist/commonjs/lib/start.js +0 -49
  162. package/dist/commonjs/lib/types.d.ts +0 -257
  163. package/dist/commonjs/lib/types.js +0 -16
  164. package/dist/commonjs/lib/utils.d.ts +0 -2
  165. package/dist/commonjs/lib/utils.js +0 -21
  166. package/dist/commonjs/package.json +0 -3
  167. package/dist/commonjs/urllib.d.ts +0 -1
  168. package/dist/commonjs/urllib.js +0 -18
  169. package/dist/esm/agent.d.ts +0 -4
  170. package/dist/esm/agent.js +0 -7
  171. package/dist/esm/app/extend/context.d.ts +0 -204
  172. package/dist/esm/app/extend/context.js +0 -259
  173. package/dist/esm/app/extend/helper.d.ts +0 -37
  174. package/dist/esm/app/extend/helper.js +0 -43
  175. package/dist/esm/app/extend/request.d.ts +0 -141
  176. package/dist/esm/app/extend/request.js +0 -264
  177. package/dist/esm/app/extend/response.d.ts +0 -31
  178. package/dist/esm/app/extend/response.js +0 -34
  179. package/dist/esm/app/middleware/body_parser.d.ts +0 -2
  180. package/dist/esm/app/middleware/body_parser.js +0 -3
  181. package/dist/esm/app/middleware/meta.d.ts +0 -10
  182. package/dist/esm/app/middleware/meta.js +0 -20
  183. package/dist/esm/app/middleware/notfound.d.ts +0 -7
  184. package/dist/esm/app/middleware/notfound.js +0 -29
  185. package/dist/esm/app/middleware/override_method.d.ts +0 -2
  186. package/dist/esm/app/middleware/override_method.js +0 -3
  187. package/dist/esm/app/middleware/site_file.d.ts +0 -9
  188. package/dist/esm/app/middleware/site_file.js +0 -53
  189. package/dist/esm/config/config.default.d.ts +0 -9
  190. package/dist/esm/config/config.default.js +0 -374
  191. package/dist/esm/config/config.local.d.ts +0 -8
  192. package/dist/esm/config/config.local.js +0 -10
  193. package/dist/esm/config/config.unittest.d.ts +0 -7
  194. package/dist/esm/config/config.unittest.js +0 -9
  195. package/dist/esm/config/favicon.png +0 -0
  196. package/dist/esm/config/plugin.d.ts +0 -122
  197. package/dist/esm/config/plugin.js +0 -122
  198. package/dist/esm/index.d.ts +0 -69
  199. package/dist/esm/index.js +0 -73
  200. package/dist/esm/lib/agent.d.ts +0 -19
  201. package/dist/esm/lib/agent.js +0 -54
  202. package/dist/esm/lib/application.d.ts +0 -67
  203. package/dist/esm/lib/application.js +0 -259
  204. package/dist/esm/lib/core/base_context_class.d.ts +0 -17
  205. package/dist/esm/lib/core/base_context_class.js +0 -17
  206. package/dist/esm/lib/core/base_context_logger.d.ts +0 -36
  207. package/dist/esm/lib/core/base_context_logger.js +0 -60
  208. package/dist/esm/lib/core/base_hook_class.d.ts +0 -11
  209. package/dist/esm/lib/core/base_hook_class.js +0 -22
  210. package/dist/esm/lib/core/context_httpclient.d.ts +0 -16
  211. package/dist/esm/lib/core/context_httpclient.js +0 -26
  212. package/dist/esm/lib/core/httpclient.d.ts +0 -14
  213. package/dist/esm/lib/core/httpclient.js +0 -38
  214. package/dist/esm/lib/core/logger.d.ts +0 -3
  215. package/dist/esm/lib/core/logger.js +0 -37
  216. package/dist/esm/lib/core/messenger/IMessenger.d.ts +0 -50
  217. package/dist/esm/lib/core/messenger/IMessenger.js +0 -2
  218. package/dist/esm/lib/core/messenger/base.d.ts +0 -8
  219. package/dist/esm/lib/core/messenger/base.js +0 -27
  220. package/dist/esm/lib/core/messenger/index.d.ts +0 -7
  221. package/dist/esm/lib/core/messenger/index.js +0 -12
  222. package/dist/esm/lib/core/messenger/ipc.d.ts +0 -58
  223. package/dist/esm/lib/core/messenger/ipc.js +0 -128
  224. package/dist/esm/lib/core/messenger/local.d.ts +0 -60
  225. package/dist/esm/lib/core/messenger/local.js +0 -128
  226. package/dist/esm/lib/core/utils.d.ts +0 -2
  227. package/dist/esm/lib/core/utils.js +0 -70
  228. package/dist/esm/lib/egg.d.ts +0 -305
  229. package/dist/esm/lib/egg.js +0 -586
  230. package/dist/esm/lib/error/CookieLimitExceedError.d.ts +0 -5
  231. package/dist/esm/lib/error/CookieLimitExceedError.js +0 -12
  232. package/dist/esm/lib/error/MessageUnhandledRejectionError.d.ts +0 -5
  233. package/dist/esm/lib/error/MessageUnhandledRejectionError.js +0 -12
  234. package/dist/esm/lib/error/index.d.ts +0 -2
  235. package/dist/esm/lib/error/index.js +0 -3
  236. package/dist/esm/lib/loader/AgentWorkerLoader.d.ts +0 -12
  237. package/dist/esm/lib/loader/AgentWorkerLoader.js +0 -20
  238. package/dist/esm/lib/loader/AppWorkerLoader.d.ts +0 -17
  239. package/dist/esm/lib/loader/AppWorkerLoader.js +0 -39
  240. package/dist/esm/lib/loader/EggApplicationLoader.d.ts +0 -4
  241. package/dist/esm/lib/loader/EggApplicationLoader.js +0 -4
  242. package/dist/esm/lib/loader/index.d.ts +0 -3
  243. package/dist/esm/lib/loader/index.js +0 -4
  244. package/dist/esm/lib/start.d.ts +0 -24
  245. package/dist/esm/lib/start.js +0 -43
  246. package/dist/esm/lib/types.d.ts +0 -257
  247. package/dist/esm/lib/types.js +0 -14
  248. package/dist/esm/lib/utils.d.ts +0 -2
  249. package/dist/esm/lib/utils.js +0 -14
  250. package/dist/esm/package.json +0 -3
  251. package/dist/esm/urllib.d.ts +0 -1
  252. package/dist/esm/urllib.js +0 -2
  253. package/dist/package.json +0 -4
  254. package/src/agent.ts +0 -7
  255. package/src/app/extend/context.ts +0 -332
  256. package/src/app/extend/request.ts +0 -300
  257. package/src/app/middleware/body_parser.ts +0 -3
  258. package/src/app/middleware/meta.ts +0 -27
  259. package/src/app/middleware/notfound.ts +0 -41
  260. package/src/app/middleware/override_method.ts +0 -3
  261. package/src/app/middleware/site_file.ts +0 -68
  262. package/src/config/config.default.ts +0 -404
  263. package/src/config/config.local.ts +0 -11
  264. package/src/config/config.unittest.ts +0 -10
  265. package/src/config/favicon.png +0 -0
  266. package/src/index.ts +0 -120
  267. package/src/lib/agent.ts +0 -66
  268. package/src/lib/application.ts +0 -308
  269. package/src/lib/core/base_context_class.ts +0 -24
  270. package/src/lib/core/base_context_logger.ts +0 -67
  271. package/src/lib/core/base_hook_class.ts +0 -30
  272. package/src/lib/core/context_httpclient.ts +0 -33
  273. package/src/lib/core/httpclient.ts +0 -64
  274. package/src/lib/core/logger.ts +0 -42
  275. package/src/lib/core/messenger/base.ts +0 -30
  276. package/src/lib/core/messenger/index.ts +0 -16
  277. package/src/lib/core/messenger/ipc.ts +0 -146
  278. package/src/lib/core/messenger/local.ts +0 -147
  279. package/src/lib/core/utils.ts +0 -77
  280. package/src/lib/egg.ts +0 -705
  281. package/src/lib/error/CookieLimitExceedError.ts +0 -12
  282. package/src/lib/error/MessageUnhandledRejectionError.ts +0 -12
  283. package/src/lib/error/index.ts +0 -2
  284. package/src/lib/loader/AgentWorkerLoader.ts +0 -21
  285. package/src/lib/loader/AppWorkerLoader.ts +0 -42
  286. package/src/lib/loader/EggApplicationLoader.ts +0 -5
  287. package/src/lib/loader/index.ts +0 -3
  288. package/src/lib/start.ts +0 -66
  289. package/src/lib/utils.ts +0 -15
  290. package/src/urllib.ts +0 -1
  291. /package/dist/{commonjs/config → config}/favicon.png +0 -0
@@ -1,128 +0,0 @@
1
- import { debuglog } from 'node:util';
2
- import { BaseMessenger } from './base.js';
3
- const debug = debuglog('egg/lib/core/messenger/local');
4
- /**
5
- * Communication between app worker and agent worker with EventEmitter
6
- */
7
- export class Messenger extends BaseMessenger {
8
- pid;
9
- constructor(egg) {
10
- super(egg);
11
- this.pid = String(process.pid);
12
- }
13
- /**
14
- * Send message to all agent and app
15
- * @param {String} action - message key
16
- * @param {Object} data - message value
17
- * @return {Messenger} this
18
- */
19
- broadcast(action, data) {
20
- debug('[%s:%s] broadcast %s with %j', this.egg.type, this.pid, action, data);
21
- this.send(action, data, 'both');
22
- return this;
23
- }
24
- /**
25
- * send message to the specified process
26
- * Notice: in single process mode, it only can send to self process,
27
- * and it will send to both agent and app's messengers.
28
- * @param {String} workerId - the workerId of the receiver
29
- * @param {String} action - message key
30
- * @param {Object} data - message value
31
- * @return {Messenger} this
32
- */
33
- sendTo(workerId, action, data) {
34
- debug('[%s:%s] send %s with %j to %s', this.egg.type, this.pid, action, data, workerId);
35
- if (String(workerId) !== this.pid) {
36
- return this;
37
- }
38
- this.send(action, data, 'both');
39
- return this;
40
- }
41
- /**
42
- * send message to one worker by random
43
- * Notice: in single process mode, we only start one agent worker and one app worker
44
- * - if it's running in agent, it will send to one of app workers
45
- * - if it's running in app, it will send to agent
46
- * @param {String} action - message key
47
- * @param {Object} data - message value
48
- * @return {Messenger} this
49
- */
50
- sendRandom(action, data) {
51
- debug('[%s:%s] send %s with %j to opposite', this.egg.type, this.pid, action, data);
52
- this.send(action, data, 'opposite');
53
- return this;
54
- }
55
- /**
56
- * send message to app
57
- * @param {String} action - message key
58
- * @param {Object} data - message value
59
- * @return {Messenger} this
60
- */
61
- sendToApp(action, data) {
62
- debug('[%s:%s] send %s with %j to all app', this.egg.type, this.pid, action, data);
63
- this.send(action, data, 'application');
64
- return this;
65
- }
66
- /**
67
- * send message to agent
68
- * @param {String} action - message key
69
- * @param {Object} data - message value
70
- * @return {Messenger} this
71
- */
72
- sendToAgent(action, data) {
73
- debug('[%s:%s] send %s with %j to all agent', this.egg.type, this.pid, action, data);
74
- this.send(action, data, 'agent');
75
- return this;
76
- }
77
- /**
78
- * @param {String} action - message key
79
- * @param {Object} data - message value
80
- * @param {String} to - let master know how to send message
81
- * @return {Messenger} this
82
- */
83
- send(action, data, to) {
84
- // use nextTick to keep it async as IPC messenger
85
- process.nextTick(() => {
86
- const { egg } = this;
87
- let application;
88
- let agent;
89
- let opposite;
90
- if (egg.type === 'application') {
91
- application = egg;
92
- agent = egg.agent;
93
- opposite = agent;
94
- }
95
- else {
96
- agent = egg;
97
- application = egg.application;
98
- opposite = application;
99
- }
100
- if (!to) {
101
- to = egg.type === 'application' ? 'agent' : 'application';
102
- }
103
- if (application && application.messenger && (to === 'application' || to === 'both')) {
104
- application.messenger.onMessage({ action, data });
105
- }
106
- if (agent && agent.messenger && (to === 'agent' || to === 'both')) {
107
- agent.messenger.onMessage({ action, data });
108
- }
109
- if (opposite && opposite.messenger && to === 'opposite') {
110
- opposite.messenger.onMessage({ action, data });
111
- }
112
- });
113
- return this;
114
- }
115
- onMessage(message) {
116
- if (typeof message?.action === 'string') {
117
- debug('[%s:%s] got message %s with %j', this.egg.type, this.pid, message.action, message.data);
118
- this.emit(message.action, message.data);
119
- }
120
- else {
121
- debug('[%s:%s] got an invalid message %j', this.egg.type, this.pid, message);
122
- }
123
- }
124
- close() {
125
- this.removeAllListeners();
126
- }
127
- }
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvbWVzc2VuZ2VyL2xvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUxQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsOEJBQThCLENBQUMsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQU0sT0FBTyxTQUFVLFNBQVEsYUFBYTtJQUNqQyxHQUFHLENBQVM7SUFFckIsWUFBWSxHQUF1QjtRQUNqQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLE1BQWMsRUFBRSxJQUFjO1FBQ3RDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsSUFBYztRQUNyRCxLQUFLLENBQUMsK0JBQStCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hGLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLEVB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
@@ -1,2 +0,0 @@
1
- export declare function convertObject(obj: any, ignore?: string | RegExp | (string | RegExp)[]): any;
2
- export declare function safeParseURL(url: string): URL | null;
@@ -1,70 +0,0 @@
1
- import util from 'node:util';
2
- import { isSymbol, isRegExp, isPrimitive, isClass, isFunction, isGeneratorFunction, isAsyncFunction, } from 'is-type-of';
3
- export function convertObject(obj, ignore = []) {
4
- if (!Array.isArray(ignore)) {
5
- ignore = [ignore];
6
- }
7
- for (const key of Object.keys(obj)) {
8
- obj[key] = convertValue(key, obj[key], ignore);
9
- }
10
- return obj;
11
- }
12
- function convertValue(key, value, ignore) {
13
- if (value === null || value === undefined) {
14
- return value;
15
- }
16
- let hit = false;
17
- for (const matchKey of ignore) {
18
- if (typeof matchKey === 'string' && matchKey === key) {
19
- hit = true;
20
- break;
21
- }
22
- else if (isRegExp(matchKey) && matchKey.test(key)) {
23
- hit = true;
24
- break;
25
- }
26
- }
27
- if (!hit) {
28
- if (isSymbol(value) || isRegExp(value) || value instanceof URL) {
29
- return value.toString();
30
- }
31
- if (isPrimitive(value) || Array.isArray(value)) {
32
- return value;
33
- }
34
- }
35
- // only convert recursively when it's a plain object,
36
- // o = {}
37
- if (Object.getPrototypeOf(value) === Object.prototype) {
38
- return convertObject(value, ignore);
39
- }
40
- // support class
41
- const name = value.name || 'anonymous';
42
- if (isClass(value)) {
43
- return `<Class ${name}>`;
44
- }
45
- // support generator function
46
- if (isFunction(value)) {
47
- if (isGeneratorFunction(value))
48
- return `<GeneratorFunction ${name}>`;
49
- if (isAsyncFunction(value))
50
- return `<AsyncFunction ${name}>`;
51
- return `<Function ${name}>`;
52
- }
53
- const typeName = value.constructor.name;
54
- if (typeName) {
55
- if (Buffer.isBuffer(value) || typeof value === 'string') {
56
- return `<${typeName} len: ${value.length}>`;
57
- }
58
- return `<${typeName}>`;
59
- }
60
- return util.format(value);
61
- }
62
- export function safeParseURL(url) {
63
- try {
64
- return new URL(url);
65
- }
66
- catch {
67
- return null;
68
- }
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFDTCxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEdBQzFELE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBUSxFQUFFLFNBQWdELEVBQUU7SUFDeEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLEdBQUcsQ0FBRSxNQUFNLENBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLE1BQTJCO0lBQ3hFLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7UUFDOUIsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksUUFBUSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3JELEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDWCxNQUFNO1FBQ1IsQ0FBQzthQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQ1gsTUFBTTtRQUNSLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUMvRCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9DLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxxREFBcUQ7SUFDckQsU0FBUztJQUNULElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEQsT0FBTyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUM7SUFDdkMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuQixPQUFPLFVBQVUsSUFBSSxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxzQkFBc0IsSUFBSSxHQUFHLENBQUM7UUFDckUsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxrQkFBa0IsSUFBSSxHQUFHLENBQUM7UUFDN0QsT0FBTyxhQUFhLElBQUksR0FBRyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUN4QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3hELE9BQU8sSUFBSSxRQUFRLFNBQVMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksUUFBUSxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMifQ==
@@ -1,305 +0,0 @@
1
- import { type IncomingMessage, type ServerResponse } from 'node:http';
2
- import { AsyncLocalStorage } from 'node:async_hooks';
3
- import { EggCore, Request as EggCoreRequest, Response as EggCoreResponse, Router } from '@eggjs/core';
4
- import type { EggCoreOptions, Next, MiddlewareFunc as EggCoreMiddlewareFunc, ILifecycleBoot } from '@eggjs/core';
5
- import { EggContextLogger as ContextLogger, EggLoggers, EggLogger } from 'egg-logger';
6
- import { Cookies as ContextCookies } from '@eggjs/cookies';
7
- import type { Agent } from './agent.js';
8
- import type { Application } from './application.js';
9
- import Context from '../app/extend/context.js';
10
- import type { EggAppConfig } from './types.js';
11
- import { IMessenger } from './core/messenger/index.js';
12
- import { ContextHttpClient } from './core/context_httpclient.js';
13
- import { HttpClient, type HttpClientRequestOptions, type HttpClientRequestURL, type HttpClientResponse, type HttpClientOptions } from './core/httpclient.js';
14
- import { BaseContextClass } from './core/base_context_class.js';
15
- import { BaseHookClass } from './core/base_hook_class.js';
16
- import type { EggApplicationLoader } from './loader/index.js';
17
- declare const EGG_PATH: unique symbol;
18
- export interface EggApplicationCoreOptions extends Omit<EggCoreOptions, 'baseDir'> {
19
- mode?: 'cluster' | 'single';
20
- clusterPort?: number;
21
- baseDir?: string;
22
- }
23
- export declare class Request extends EggCoreRequest {
24
- app: EggCore;
25
- response: Response;
26
- ctx: Context;
27
- }
28
- export declare class Response extends EggCoreResponse {
29
- app: EggCore;
30
- request: Request;
31
- ctx: Context;
32
- }
33
- export type { ILifecycleBoot, ILifecycleBoot as IBoot, Next, };
34
- export type EggContext = Context;
35
- export type MiddlewareFunc<T extends Context = Context> = EggCoreMiddlewareFunc<T>;
36
- export { Context, Router, };
37
- /**
38
- * Based on koa's Application
39
- * @see https://github.com/eggjs/egg-core
40
- * @see https://github.com/eggjs/koa/blob/master/src/application.ts
41
- * @augments EggCore
42
- */
43
- export declare class EggApplicationCore extends EggCore {
44
- #private;
45
- ctxStorage: AsyncLocalStorage<Context>;
46
- ContextCookies: typeof ContextCookies;
47
- ContextLogger: typeof ContextLogger;
48
- ContextHttpClient: typeof ContextHttpClient;
49
- HttpClient: typeof HttpClient;
50
- HttpClientNext: typeof HttpClient;
51
- /**
52
- * Retrieve base context class
53
- * @member {BaseContextClass} BaseContextClass
54
- * @since 1.0.0
55
- */
56
- BaseContextClass: typeof BaseContextClass;
57
- /**
58
- * Retrieve base controller
59
- * @member {Controller} Controller
60
- * @since 1.0.0
61
- */
62
- Controller: typeof BaseContextClass;
63
- /**
64
- * Retrieve base service
65
- * @member {Service} Service
66
- * @since 1.0.0
67
- */
68
- Service: typeof BaseContextClass;
69
- /**
70
- * Retrieve base subscription
71
- * @member {Subscription} Subscription
72
- * @since 2.12.0
73
- */
74
- Subscription: typeof BaseContextClass;
75
- /**
76
- * Retrieve base context class
77
- * @member {BaseHookClass} BaseHookClass
78
- */
79
- BaseHookClass: typeof BaseHookClass;
80
- /**
81
- * Retrieve base boot
82
- * @member {Boot}
83
- * @alias BaseHookClass
84
- */
85
- Boot: typeof BaseHookClass;
86
- options: Required<EggApplicationCoreOptions>;
87
- readonly messenger: IMessenger;
88
- agent?: Agent;
89
- application?: Application;
90
- loader: EggApplicationLoader;
91
- /**
92
- * @class
93
- * @param {Object} options
94
- * - {Object} [type] - type of instance, Agent and Application both extend koa, type can determine what it is.
95
- * - {String} [baseDir] - app root dir, default is `process.cwd()`
96
- * - {Object} [plugins] - custom plugin config, use it in unittest
97
- * - {String} [mode] - process mode, can be cluster / single, default is `cluster`
98
- */
99
- constructor(options?: EggApplicationCoreOptions);
100
- /**
101
- * @deprecated please use `options` property instead
102
- */
103
- get _options(): Required<EggApplicationCoreOptions>;
104
- protected loadConfig(): Promise<void>;
105
- protected load(): Promise<void>;
106
- /**
107
- * Usage: new ApiClient({ cluster: app.cluster })
108
- */
109
- get cluster(): (clientClass: unknown, options?: object) => any;
110
- /**
111
- * Wrap the Client with Leader/Follower Pattern
112
- *
113
- * @description almost the same as Agent.cluster API, the only different is that this method create Follower.
114
- *
115
- * @see https://github.com/node-modules/cluster-client
116
- * @param {Function} clientClass - client class function
117
- * @param {Object} [options]
118
- * - {Boolean} [autoGenerate] - whether generate delegate rule automatically, default is true
119
- * - {Function} [formatKey] - a method to transform the subscription info into a string,default is JSON.stringify
120
- * - {Object} [transcode|JSON.stringify/parse]
121
- * - {Function} encode - custom serialize method
122
- * - {Function} decode - custom deserialize method
123
- * - {Boolean} [isBroadcast] - whether broadcast subscription result to all followers or just one, default is true
124
- * - {Number} [responseTimeout] - response timeout, default is 3 seconds
125
- * - {Number} [maxWaitTime|30000] - leader startup max time, default is 30 seconds
126
- * @return {ClientWrapper} wrapper
127
- */
128
- clusterWrapper(clientClass: unknown, options?: object): any;
129
- /**
130
- * print the information when console.log(app)
131
- * @return {Object} inspected app.
132
- * @since 1.0.0
133
- * @example
134
- * ```js
135
- * console.log(app);
136
- * =>
137
- * {
138
- * name: 'mock-app',
139
- * env: 'test',
140
- * subdomainOffset: 2,
141
- * config: '<egg config>',
142
- * controller: '<egg controller>',
143
- * service: '<egg service>',
144
- * middlewares: '<egg middlewares>',
145
- * urllib: '<egg urllib>',
146
- * loggers: '<egg loggers>'
147
- * }
148
- * ```
149
- */
150
- inspect(): any;
151
- toJSON(): any;
152
- /**
153
- * http request helper base on {@link httpclient}, it will auto save httpclient log.
154
- * Keep the same api with `httpclient.request(url, args)`.
155
- *
156
- * See https://github.com/node-modules/urllib#api-doc for more details.
157
- *
158
- * @param {String} url request url address.
159
- * @param {Object} options
160
- * - method {String} - Request method, defaults to GET. Could be GET, POST, DELETE or PUT. Alias 'type'.
161
- * - data {Object} - Data to be sent. Will be stringify automatically.
162
- * - dataType {String} - String - Type of response data. Could be `text` or `json`.
163
- * If it's `text`, the callback data would be a String.
164
- * If it's `json`, the data of callback would be a parsed JSON Object.
165
- * Default callback data would be a Buffer.
166
- * - headers {Object} - Request headers.
167
- * - timeout {Number} - Request timeout in milliseconds. Defaults to exports.TIMEOUT.
168
- * Include remote server connecting timeout and response timeout.
169
- * When timeout happen, will return ConnectionTimeout or ResponseTimeout.
170
- * - auth {String} - `username:password` used in HTTP Basic Authorization.
171
- * - followRedirect {Boolean} - follow HTTP 3xx responses as redirects. defaults to false.
172
- * - gzip {Boolean} - let you get the res object when request connected, default false. alias customResponse
173
- * - nestedQuerystring {Boolean} - urllib default use querystring to stringify form data which don't
174
- * support nested object, will use qs instead of querystring to support nested object by set this option to true.
175
- * - more options see https://github.com/node-modules/urllib
176
- * @return {Object}
177
- * - status {Number} - HTTP response status
178
- * - headers {Object} - HTTP response headers
179
- * - res {Object} - HTTP response meta
180
- * - data {Object} - HTTP response body
181
- *
182
- * @example
183
- * ```js
184
- * const result = await app.curl('http://example.com/foo.json', {
185
- * method: 'GET',
186
- * dataType: 'json',
187
- * });
188
- * console.log(result.status, result.headers, result.data);
189
- * ```
190
- */
191
- curl<T = any>(url: HttpClientRequestURL, options?: HttpClientRequestOptions): Promise<HttpClientResponse<T>>;
192
- /**
193
- * Create a new HttpClient instance with custom options
194
- * @param {Object} [options] HttpClient init options
195
- */
196
- createHttpClient(options?: HttpClientOptions): HttpClient;
197
- /**
198
- * HttpClient instance
199
- * @see https://github.com/node-modules/urllib
200
- * @member {HttpClient}
201
- */
202
- get httpClient(): HttpClient;
203
- /**
204
- * @deprecated please use httpClient instead
205
- * @alias httpClient
206
- * @member {HttpClient}
207
- */
208
- get httpclient(): HttpClient;
209
- /**
210
- * All loggers contain logger, coreLogger and customLogger
211
- * @member {Object}
212
- * @since 1.0.0
213
- */
214
- get loggers(): EggLoggers;
215
- /**
216
- * Get logger by name, it's equal to app.loggers['name'],
217
- * but you can extend it with your own logical.
218
- * @param {String} name - logger name
219
- * @return {Logger} logger
220
- */
221
- getLogger(name: string): EggLogger;
222
- /**
223
- * application logger, log file is `$HOME/logs/{appname}/{appname}-web`
224
- * @member {Logger}
225
- * @since 1.0.0
226
- */
227
- get logger(): EggLogger;
228
- /**
229
- * core logger for framework and plugins, log file is `$HOME/logs/{appname}/egg-web`
230
- * @member {Logger}
231
- * @since 1.0.0
232
- */
233
- get coreLogger(): EggLogger;
234
- _unhandledRejectionHandler(err: any): void;
235
- /**
236
- * dump out the config and meta object
237
- * @private
238
- */
239
- dumpConfigToObject(): {
240
- config: Record<string, any>;
241
- meta: Record<string, any>;
242
- };
243
- /**
244
- * save app.config to `run/${type}_config.json`
245
- * @private
246
- */
247
- dumpConfig(): void;
248
- dumpTiming(): void;
249
- get [EGG_PATH](): string;
250
- get config(): EggAppConfig;
251
- /**
252
- * app.env delegate app.config.env
253
- * @deprecated
254
- */
255
- get env(): string;
256
- set env(_: string);
257
- /**
258
- * app.proxy delegate app.config.proxy
259
- * @deprecated
260
- */
261
- get proxy(): boolean;
262
- set proxy(_: boolean);
263
- /**
264
- * Create an anonymous context, the context isn't request level, so the request is mocked.
265
- * then you can use context level API like `ctx.service`
266
- * @member {String} EggApplication#createAnonymousContext
267
- * @param {Request} [req] - if you want to mock request like querystring, you can pass an object to this function.
268
- * @return {Context} context
269
- */
270
- createAnonymousContext(req?: any): EggContext;
271
- /**
272
- * Run async function in the anonymous context scope
273
- * @see Context#runInAnonymousContextScope
274
- * @param {Function} scope - the first args is an anonymous ctx, scope should be async function
275
- * @param {Request} [req] - if you want to mock request like querystring, you can pass an object to this function.
276
- */
277
- runInAnonymousContextScope(scope: (ctx: Context) => Promise<void>, req?: unknown): Promise<void>;
278
- /**
279
- * Create egg context
280
- * @function EggApplication#createContext
281
- * @param {Req} req - node native Request object
282
- * @param {Res} res - node native Response object
283
- * @return {Context} context object
284
- */
285
- createContext(req: IncomingMessage, res: ServerResponse): Context;
286
- }
287
- declare module '@eggjs/core' {
288
- interface EggCore {
289
- inspect(): any;
290
- get currentContext(): EggContext | undefined;
291
- ctxStorage: AsyncLocalStorage<EggContext>;
292
- getLogger(name: string): EggLogger;
293
- get loggers(): EggLoggers;
294
- createHttpClient(options?: HttpClientOptions): HttpClient;
295
- HttpClient: typeof HttpClient;
296
- get httpClient(): HttpClient;
297
- curl<T = any>(url: HttpClientRequestURL, options?: HttpClientRequestOptions): Promise<HttpClientResponse<T>>;
298
- createAnonymousContext(req?: any): EggContext;
299
- runInAnonymousContextScope(scope: (ctx: Context) => Promise<void>, req?: unknown): Promise<void>;
300
- readonly messenger: IMessenger;
301
- Subscription: typeof BaseContextClass;
302
- BaseHookClass: typeof BaseHookClass;
303
- Boot: typeof BaseHookClass;
304
- }
305
- }