@eggjs/mock 6.0.7 → 6.1.0-beta.3

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 (212) hide show
  1. package/README.md +35 -56
  2. package/README.zh_CN.md +30 -50
  3. package/dist/_virtual/rolldown_runtime.js +7 -0
  4. package/dist/app/extend/agent.d.ts +39 -0
  5. package/dist/app/extend/agent.js +48 -0
  6. package/dist/app/extend/application.d.ts +176 -0
  7. package/dist/app/extend/application.js +385 -0
  8. package/dist/app/middleware/cluster_app_mock.d.ts +6 -0
  9. package/dist/app/middleware/cluster_app_mock.js +97 -0
  10. package/dist/app.d.ts +10 -0
  11. package/dist/app.js +17 -0
  12. package/dist/bootstrap.d.ts +9 -0
  13. package/dist/bootstrap.js +14 -0
  14. package/dist/index.d.ts +81 -0
  15. package/dist/index.js +48 -0
  16. package/dist/lib/agent_handler.d.ts +7 -0
  17. package/dist/lib/agent_handler.js +26 -0
  18. package/dist/lib/app.d.ts +7 -0
  19. package/dist/lib/app.js +251 -0
  20. package/dist/lib/app_handler.d.ts +9 -0
  21. package/dist/lib/app_handler.js +56 -0
  22. package/dist/lib/cluster.d.ts +126 -0
  23. package/dist/lib/cluster.js +283 -0
  24. package/dist/lib/context.d.ts +4 -0
  25. package/dist/lib/context.js +13 -0
  26. package/dist/lib/format_options.d.ts +10 -0
  27. package/dist/lib/format_options.js +65 -0
  28. package/dist/lib/inject_context.d.ts +9 -0
  29. package/dist/lib/inject_context.js +106 -0
  30. package/dist/lib/mock_agent.d.ts +9 -0
  31. package/dist/lib/mock_agent.js +45 -0
  32. package/dist/lib/mock_custom_loader.d.ts +4 -0
  33. package/dist/lib/mock_custom_loader.js +35 -0
  34. package/dist/lib/mock_http_server.d.ts +6 -0
  35. package/dist/lib/mock_http_server.js +17 -0
  36. package/dist/lib/mock_httpclient.d.ts +40 -0
  37. package/dist/lib/mock_httpclient.js +110 -0
  38. package/dist/lib/parallel/agent.d.ts +24 -0
  39. package/dist/lib/parallel/agent.js +111 -0
  40. package/dist/lib/parallel/app.d.ts +24 -0
  41. package/dist/lib/parallel/app.js +98 -0
  42. package/dist/lib/parallel/util.d.ts +6 -0
  43. package/dist/lib/parallel/util.js +59 -0
  44. package/dist/lib/prerequire.d.ts +1 -0
  45. package/dist/lib/prerequire.js +1 -0
  46. package/dist/lib/request_call_function.d.ts +1 -0
  47. package/dist/lib/request_call_function.js +37 -0
  48. package/dist/lib/restore.d.ts +4 -0
  49. package/dist/lib/restore.js +16 -0
  50. package/dist/lib/start-cluster.d.ts +1 -0
  51. package/dist/lib/start-cluster.js +19 -0
  52. package/dist/lib/supertest.d.ts +16 -0
  53. package/dist/lib/supertest.js +39 -0
  54. package/dist/lib/tmp/empty.d.ts +1 -0
  55. package/dist/lib/tmp/empty.js +1 -0
  56. package/{src/lib/types.ts → dist/lib/types.d.ts} +12 -29
  57. package/dist/lib/types.js +1 -0
  58. package/dist/lib/utils.d.ts +12 -0
  59. package/dist/lib/utils.js +40 -0
  60. package/dist/register.d.ts +12 -0
  61. package/dist/register.js +65 -0
  62. package/dist/typings/index.d.ts +1 -0
  63. package/package.json +68 -100
  64. package/dist/commonjs/app/extend/agent.d.ts +0 -34
  65. package/dist/commonjs/app/extend/agent.js +0 -49
  66. package/dist/commonjs/app/extend/application.d.ts +0 -172
  67. package/dist/commonjs/app/extend/application.js +0 -450
  68. package/dist/commonjs/app/middleware/cluster_app_mock.d.ts +0 -3
  69. package/dist/commonjs/app/middleware/cluster_app_mock.js +0 -101
  70. package/dist/commonjs/app.d.ts +0 -6
  71. package/dist/commonjs/app.js +0 -20
  72. package/dist/commonjs/bootstrap.d.ts +0 -5
  73. package/dist/commonjs/bootstrap.js +0 -59
  74. package/dist/commonjs/index.d.ts +0 -77
  75. package/dist/commonjs/index.js +0 -114
  76. package/dist/commonjs/lib/agent_handler.d.ts +0 -3
  77. package/dist/commonjs/lib/agent_handler.js +0 -28
  78. package/dist/commonjs/lib/app.d.ts +0 -3
  79. package/dist/commonjs/lib/app.js +0 -301
  80. package/dist/commonjs/lib/app_handler.d.ts +0 -5
  81. package/dist/commonjs/lib/app_handler.js +0 -71
  82. package/dist/commonjs/lib/cluster.d.ts +0 -114
  83. package/dist/commonjs/lib/cluster.js +0 -337
  84. package/dist/commonjs/lib/context.d.ts +0 -1
  85. package/dist/commonjs/lib/context.js +0 -16
  86. package/dist/commonjs/lib/format_options.d.ts +0 -5
  87. package/dist/commonjs/lib/format_options.js +0 -100
  88. package/dist/commonjs/lib/inject_context.d.ts +0 -6
  89. package/dist/commonjs/lib/inject_context.js +0 -132
  90. package/dist/commonjs/lib/mock_agent.d.ts +0 -5
  91. package/dist/commonjs/lib/mock_agent.js +0 -49
  92. package/dist/commonjs/lib/mock_custom_loader.d.ts +0 -1
  93. package/dist/commonjs/lib/mock_custom_loader.js +0 -37
  94. package/dist/commonjs/lib/mock_http_server.d.ts +0 -2
  95. package/dist/commonjs/lib/mock_http_server.js +0 -24
  96. package/dist/commonjs/lib/mock_httpclient.d.ts +0 -36
  97. package/dist/commonjs/lib/mock_httpclient.js +0 -147
  98. package/dist/commonjs/lib/parallel/agent.d.ts +0 -20
  99. package/dist/commonjs/lib/parallel/agent.js +0 -125
  100. package/dist/commonjs/lib/parallel/app.d.ts +0 -20
  101. package/dist/commonjs/lib/parallel/app.js +0 -115
  102. package/dist/commonjs/lib/parallel/util.d.ts +0 -3
  103. package/dist/commonjs/lib/parallel/util.js +0 -77
  104. package/dist/commonjs/lib/prerequire.d.ts +0 -1
  105. package/dist/commonjs/lib/prerequire.js +0 -26
  106. package/dist/commonjs/lib/request_call_function.d.ts +0 -1
  107. package/dist/commonjs/lib/request_call_function.js +0 -52
  108. package/dist/commonjs/lib/restore.d.ts +0 -1
  109. package/dist/commonjs/lib/restore.js +0 -16
  110. package/dist/commonjs/lib/start-cluster.d.ts +0 -2
  111. package/dist/commonjs/lib/start-cluster.js +0 -23
  112. package/dist/commonjs/lib/supertest.d.ts +0 -11
  113. package/dist/commonjs/lib/supertest.js +0 -48
  114. package/dist/commonjs/lib/tmp/empty.d.ts +0 -1
  115. package/dist/commonjs/lib/tmp/empty.js +0 -3
  116. package/dist/commonjs/lib/types.d.ts +0 -68
  117. package/dist/commonjs/lib/types.js +0 -3
  118. package/dist/commonjs/lib/utils.d.ts +0 -9
  119. package/dist/commonjs/lib/utils.js +0 -80
  120. package/dist/commonjs/package.json +0 -3
  121. package/dist/commonjs/register.d.ts +0 -8
  122. package/dist/commonjs/register.js +0 -80
  123. package/dist/esm/app/extend/agent.d.ts +0 -34
  124. package/dist/esm/app/extend/agent.js +0 -46
  125. package/dist/esm/app/extend/application.d.ts +0 -172
  126. package/dist/esm/app/extend/application.js +0 -444
  127. package/dist/esm/app/middleware/cluster_app_mock.d.ts +0 -3
  128. package/dist/esm/app/middleware/cluster_app_mock.js +0 -99
  129. package/dist/esm/app.d.ts +0 -6
  130. package/dist/esm/app.js +0 -17
  131. package/dist/esm/bootstrap.d.ts +0 -5
  132. package/dist/esm/bootstrap.js +0 -15
  133. package/dist/esm/index.d.ts +0 -77
  134. package/dist/esm/index.js +0 -91
  135. package/dist/esm/lib/agent_handler.d.ts +0 -3
  136. package/dist/esm/lib/agent_handler.js +0 -24
  137. package/dist/esm/lib/app.d.ts +0 -3
  138. package/dist/esm/lib/app.js +0 -295
  139. package/dist/esm/lib/app_handler.d.ts +0 -5
  140. package/dist/esm/lib/app_handler.js +0 -65
  141. package/dist/esm/lib/cluster.d.ts +0 -114
  142. package/dist/esm/lib/cluster.js +0 -328
  143. package/dist/esm/lib/context.d.ts +0 -1
  144. package/dist/esm/lib/context.js +0 -13
  145. package/dist/esm/lib/format_options.d.ts +0 -5
  146. package/dist/esm/lib/format_options.js +0 -94
  147. package/dist/esm/lib/inject_context.d.ts +0 -6
  148. package/dist/esm/lib/inject_context.js +0 -126
  149. package/dist/esm/lib/mock_agent.d.ts +0 -5
  150. package/dist/esm/lib/mock_agent.js +0 -45
  151. package/dist/esm/lib/mock_custom_loader.d.ts +0 -1
  152. package/dist/esm/lib/mock_custom_loader.js +0 -34
  153. package/dist/esm/lib/mock_http_server.d.ts +0 -2
  154. package/dist/esm/lib/mock_http_server.js +0 -18
  155. package/dist/esm/lib/mock_httpclient.d.ts +0 -36
  156. package/dist/esm/lib/mock_httpclient.js +0 -144
  157. package/dist/esm/lib/parallel/agent.d.ts +0 -20
  158. package/dist/esm/lib/parallel/agent.js +0 -117
  159. package/dist/esm/lib/parallel/app.d.ts +0 -20
  160. package/dist/esm/lib/parallel/app.js +0 -110
  161. package/dist/esm/lib/parallel/util.d.ts +0 -3
  162. package/dist/esm/lib/parallel/util.js +0 -73
  163. package/dist/esm/lib/prerequire.d.ts +0 -1
  164. package/dist/esm/lib/prerequire.js +0 -25
  165. package/dist/esm/lib/request_call_function.d.ts +0 -1
  166. package/dist/esm/lib/request_call_function.js +0 -47
  167. package/dist/esm/lib/restore.d.ts +0 -1
  168. package/dist/esm/lib/restore.js +0 -13
  169. package/dist/esm/lib/start-cluster.d.ts +0 -2
  170. package/dist/esm/lib/start-cluster.js +0 -18
  171. package/dist/esm/lib/supertest.d.ts +0 -11
  172. package/dist/esm/lib/supertest.js +0 -40
  173. package/dist/esm/lib/tmp/empty.d.ts +0 -1
  174. package/dist/esm/lib/tmp/empty.js +0 -2
  175. package/dist/esm/lib/types.d.ts +0 -68
  176. package/dist/esm/lib/types.js +0 -2
  177. package/dist/esm/lib/utils.d.ts +0 -9
  178. package/dist/esm/lib/utils.js +0 -69
  179. package/dist/esm/package.json +0 -3
  180. package/dist/esm/register.d.ts +0 -8
  181. package/dist/esm/register.js +0 -75
  182. package/dist/package.json +0 -4
  183. package/src/app/extend/agent.ts +0 -57
  184. package/src/app/extend/application.ts +0 -512
  185. package/src/app/middleware/cluster_app_mock.ts +0 -102
  186. package/src/app.ts +0 -18
  187. package/src/bootstrap.ts +0 -25
  188. package/src/index.ts +0 -112
  189. package/src/lib/agent_handler.ts +0 -28
  190. package/src/lib/app.ts +0 -314
  191. package/src/lib/app_handler.ts +0 -77
  192. package/src/lib/cluster.ts +0 -363
  193. package/src/lib/context.ts +0 -14
  194. package/src/lib/format_options.ts +0 -103
  195. package/src/lib/inject_context.ts +0 -134
  196. package/src/lib/mock_agent.ts +0 -57
  197. package/src/lib/mock_custom_loader.ts +0 -36
  198. package/src/lib/mock_http_server.ts +0 -19
  199. package/src/lib/mock_httpclient.ts +0 -183
  200. package/src/lib/parallel/agent.ts +0 -128
  201. package/src/lib/parallel/app.ts +0 -123
  202. package/src/lib/parallel/util.ts +0 -66
  203. package/src/lib/prerequire.ts +0 -25
  204. package/src/lib/request_call_function.ts +0 -49
  205. package/src/lib/restore.ts +0 -14
  206. package/src/lib/start-cluster.ts +0 -23
  207. package/src/lib/supertest.ts +0 -45
  208. package/src/lib/tmp/.gitkeep +0 -0
  209. package/src/lib/tmp/empty.ts +0 -0
  210. package/src/lib/utils.ts +0 -82
  211. package/src/register.ts +0 -80
  212. package/src/typings/index.d.ts +0 -4
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMockAgent = getMockAgent;
4
- exports.restoreMockAgent = restoreMockAgent;
5
- const node_util_1 = require("node:util");
6
- const urllib_1 = require("urllib");
7
- const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/mock_agent');
8
- globalThis.__mockAgent = null;
9
- globalThis.__httpClientDispatchers = new Map();
10
- function getMockAgent(app) {
11
- debug('getMockAgent');
12
- if (!globalThis.__globalDispatcher) {
13
- globalThis.__globalDispatcher = (0, urllib_1.getGlobalDispatcher)();
14
- debug('create global dispatcher');
15
- }
16
- if (app?.httpClient && !globalThis.__httpClientDispatchers.has(app.httpClient)) {
17
- globalThis.__httpClientDispatchers.set(app.httpClient, app.httpClient.getDispatcher());
18
- debug('add new httpClient, size: %d', globalThis.__httpClientDispatchers.size);
19
- }
20
- if (!globalThis.__mockAgent) {
21
- globalThis.__mockAgent = new urllib_1.MockAgent();
22
- (0, urllib_1.setGlobalDispatcher)(globalThis.__mockAgent);
23
- if (typeof app?.httpClient?.setDispatcher === 'function') {
24
- app.httpClient.setDispatcher(globalThis.__mockAgent);
25
- }
26
- debug('create new mockAgent');
27
- }
28
- return globalThis.__mockAgent;
29
- }
30
- async function restoreMockAgent() {
31
- debug('restoreMockAgent start');
32
- if (globalThis.__globalDispatcher) {
33
- (0, urllib_1.setGlobalDispatcher)(globalThis.__globalDispatcher);
34
- debug('restore global dispatcher');
35
- }
36
- debug('restore httpClient, size: %d', globalThis.__httpClientDispatchers.size);
37
- for (const [httpClient, dispatcher] of globalThis.__httpClientDispatchers) {
38
- httpClient.setDispatcher(dispatcher);
39
- }
40
- globalThis.__httpClientDispatchers.clear();
41
- if (globalThis.__mockAgent) {
42
- const agent = globalThis.__mockAgent;
43
- globalThis.__mockAgent = null;
44
- await agent.close();
45
- debug('close mockAgent');
46
- }
47
- debug('restoreMockAgent end');
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbW9ja19hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxvQ0FtQkM7QUFFRCw0Q0FrQkM7QUF4REQseUNBQXFDO0FBQ3JDLG1DQUdnQjtBQUVoQixNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsNEJBQTRCLENBQUMsQ0FBQztBQVFyRCxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztBQUM5QixVQUFVLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7QUFFdkUsU0FBZ0IsWUFBWSxDQUFDLEdBQWlDO0lBQzVELEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkMsVUFBVSxDQUFDLGtCQUFrQixHQUFHLElBQUEsNEJBQW1CLEdBQUUsQ0FBQztRQUN0RCxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxHQUFHLEVBQUUsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUMvRSxVQUFVLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUNELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsVUFBVSxDQUFDLFdBQVcsR0FBRyxJQUFJLGtCQUFTLEVBQUUsQ0FBQztRQUN6QyxJQUFBLDRCQUFtQixFQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxJQUFJLE9BQU8sR0FBRyxFQUFFLFVBQVUsRUFBRSxhQUFhLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDekQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQ2hDLENBQUM7QUFFTSxLQUFLLFVBQVUsZ0JBQWdCO0lBQ3BDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2hDLElBQUksVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbEMsSUFBQSw0QkFBbUIsRUFBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRSxLQUFLLE1BQU0sQ0FBRSxVQUFVLEVBQUUsVUFBVSxDQUFFLElBQUksVUFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDNUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDckMsVUFBVSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2hDLENBQUMifQ==
@@ -1 +0,0 @@
1
- export declare function setCustomLoader(app: any): void;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setCustomLoader = setCustomLoader;
4
- const node_util_1 = require("node:util");
5
- const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/mock_custom_loader');
6
- function setCustomLoader(app) {
7
- const customLoader = app.config.customLoader;
8
- if (!customLoader)
9
- return;
10
- for (const field of Object.keys(customLoader)) {
11
- const loaderConfig = Object.assign({}, customLoader[field]);
12
- loaderConfig.field = field;
13
- addMethod(loaderConfig);
14
- }
15
- function addMethod(loaderConfig) {
16
- const field = loaderConfig.field;
17
- const appMethodName = 'mock' + field.replace(/^[a-z]/i, s => s.toUpperCase());
18
- if (app[appMethodName]) {
19
- app.coreLogger.warn('Can\'t override app.%s', appMethodName);
20
- return;
21
- }
22
- debug('[addMethod] %s => %j', appMethodName, loaderConfig);
23
- app[appMethodName] = function (service, methodName, fn) {
24
- if (typeof service === 'string') {
25
- const arr = service.split('.');
26
- service = loaderConfig.inject === 'ctx' ? this[field + 'Classes'] : this[field];
27
- for (const key of arr) {
28
- service = service[key];
29
- }
30
- service = service.prototype || service;
31
- }
32
- this._mockFn(service, methodName, fn);
33
- return this;
34
- };
35
- }
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19jdXN0b21fbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb2NrX2N1c3RvbV9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSwwQ0ErQkM7QUFuQ0QseUNBQXFDO0FBRXJDLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyxvQ0FBb0MsQ0FBQyxDQUFDO0FBRTdELFNBQWdCLGVBQWUsQ0FBQyxHQUFRO0lBQ3RDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzdDLElBQUksQ0FBQyxZQUFZO1FBQUUsT0FBTztJQUUxQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1RCxZQUFZLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUMzQixTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLFlBQWlCO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFlLENBQUM7UUFDM0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUM3RCxPQUFPO1FBQ1QsQ0FBQztRQUNELEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0QsR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLFVBQVMsT0FBWSxFQUFFLFVBQWtCLEVBQUUsRUFBTztZQUNyRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEYsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsQ0FBQztnQkFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUM7WUFDekMsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIn0=
@@ -1,2 +0,0 @@
1
- import { Server } from 'node:http';
2
- export declare function createServer(app: any): Server;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createServer = createServer;
7
- const node_http_1 = __importDefault(require("node:http"));
8
- const SERVER = Symbol('http_server');
9
- function createServer(app) {
10
- let server = app[SERVER] || app.callback();
11
- if (typeof server === 'function') {
12
- server = node_http_1.default.createServer(server);
13
- // cache server, avoid create many times
14
- app[SERVER] = server;
15
- if (!app.server) {
16
- app.server = server;
17
- }
18
- // emit server event just like egg-cluster does
19
- // https://github.com/eggjs/egg-cluster/blob/master/lib/app_worker.js#L52
20
- app.emit('server', server);
21
- }
22
- return server;
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19odHRwX3NlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbW9ja19odHRwX3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLG9DQWNDO0FBbEJELDBEQUF5QztBQUV6QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFckMsU0FBZ0IsWUFBWSxDQUFDLEdBQVE7SUFDbkMsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sR0FBRyxtQkFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyx3Q0FBd0M7UUFDeEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLENBQUM7UUFDRCwrQ0FBK0M7UUFDL0MseUVBQXlFO1FBQ3pFLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=
@@ -1,36 +0,0 @@
1
- import type { Dispatcher, Headers, BodyInit } from 'urllib';
2
- export interface MockResultOptions {
3
- data: string | Buffer | Record<string, any>;
4
- /**
5
- * http status
6
- */
7
- status?: number;
8
- /**
9
- * response header
10
- */
11
- headers?: Record<string, string>;
12
- /**
13
- * delay the associated reply by a set amount in ms
14
- */
15
- delay?: number;
16
- /**
17
- * any matching request will always reply with the defined response indefinitely
18
- */
19
- persist?: boolean;
20
- /**
21
- * any matching request will reply with the defined response a fixed amount of times
22
- */
23
- repeats?: number;
24
- }
25
- export type ResultObject = MockResultOptions;
26
- export interface MockResponseCallbackOptions {
27
- path: string;
28
- method: string;
29
- headers?: Headers | Record<string, string>;
30
- origin?: string;
31
- body?: BodyInit | Dispatcher.DispatchOptions['body'] | null;
32
- maxRedirections?: number;
33
- }
34
- export type MockResultFunction = (url: string, options: MockResponseCallbackOptions) => MockResultOptions | string;
35
- export declare function createMockHttpClient(app: any): (mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string) => void;
36
- export type MockHttpClientMethod = ReturnType<typeof createMockHttpClient>;
@@ -1,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMockHttpClient = createMockHttpClient;
4
- const mm_1 = require("mm");
5
- const extend2_1 = require("extend2");
6
- const mock_agent_js_1 = require("./mock_agent.js");
7
- function normalizeResult(result) {
8
- if (typeof result === 'string') {
9
- result = { data: result };
10
- }
11
- if (!result.status) {
12
- result.status = 200;
13
- }
14
- result.data = result.data || '';
15
- if (Buffer.isBuffer(result.data)) {
16
- // do nothing
17
- }
18
- else if (typeof result.data === 'object') {
19
- // json
20
- result.data = Buffer.from(JSON.stringify(result.data));
21
- }
22
- else if (typeof result.data === 'string') {
23
- // string
24
- result.data = Buffer.from(result.data);
25
- }
26
- else {
27
- throw new Error('`mockResult.data` must be buffer, string or json');
28
- }
29
- result.headers = result.headers ?? {};
30
- return result;
31
- }
32
- const MOCK_CONFIGS = Symbol('MOCK_CONFIGS');
33
- const MOCK_CONFIG_INDEX = Symbol('MOCK_CONFIG_INDEX');
34
- function createMockHttpClient(app) {
35
- /**
36
- * mock httpclient
37
- * @function mockHttpclient
38
- * @param {String} mockUrl - url
39
- * @param {String|Array} mockMethod - http method, default is '*'
40
- * @param {Object|Function} mockResult - you data
41
- * - data - buffer / string / json
42
- * - status - http status
43
- * - headers - response header
44
- * - delay - delay the associated reply by a set amount in ms.
45
- * - persist - any matching request will always reply with the defined response indefinitely, default is true
46
- * - repeats - number, any matching request will reply with the defined response a fixed amount of times
47
- */
48
- return function mockHttpClient(mockUrl, mockMethod, mockResult) {
49
- let mockMethods = mockMethod;
50
- if (!mockResult) {
51
- // app.mockHttpclient(mockUrl, mockResult)
52
- mockResult = mockMethod;
53
- mockMethods = ['*'];
54
- }
55
- if (!Array.isArray(mockMethods)) {
56
- mockMethods = [mockMethods];
57
- }
58
- mockMethods = mockMethods.map(method => (method || 'GET').toUpperCase());
59
- // use MockAgent on undici
60
- let mockConfigs = app[MOCK_CONFIGS];
61
- if (!mockConfigs) {
62
- mockConfigs = [];
63
- (0, mm_1.mm)(app, MOCK_CONFIGS, mockConfigs);
64
- }
65
- let mockConfigIndex = -1;
66
- let origin = mockUrl;
67
- let originMethod;
68
- const pathname = mockUrl;
69
- let pathMethod;
70
- if (typeof mockUrl === 'string') {
71
- const urlObject = new URL(mockUrl);
72
- origin = urlObject.origin;
73
- const originalPathname = urlObject.pathname;
74
- pathMethod = path => {
75
- if (path === originalPathname)
76
- return true;
77
- // should match /foo?a=1 including query
78
- if (path.includes('?'))
79
- return path.startsWith(originalPathname);
80
- return false;
81
- };
82
- }
83
- else if (mockUrl instanceof RegExp) {
84
- let requestOrigin = '';
85
- originMethod = value => {
86
- requestOrigin = value;
87
- return true;
88
- };
89
- pathMethod = path => {
90
- for (const config of mockConfigs) {
91
- if (config.mockUrl.test(`${requestOrigin}${path}`)) {
92
- (0, mm_1.mm)(app, MOCK_CONFIG_INDEX, config.mockConfigIndex);
93
- return true;
94
- }
95
- }
96
- return false;
97
- };
98
- mockConfigIndex = mockConfigs.length;
99
- mockConfigs.push({ mockUrl, mockResult, mockConfigIndex });
100
- }
101
- const mockPool = originMethod
102
- ? (0, mock_agent_js_1.getMockAgent)(app).get(originMethod)
103
- : (0, mock_agent_js_1.getMockAgent)(app).get(originMethod ?? origin);
104
- // persist default is true
105
- let persist = true;
106
- if (typeof mockResult === 'object' && typeof mockResult.persist === 'boolean') {
107
- persist = mockResult.persist;
108
- }
109
- mockMethods.forEach(function (method) {
110
- const mockScope = mockPool.intercept({
111
- path: pathMethod ?? pathname,
112
- method: method === '*' ? () => true : method,
113
- }).reply(options => {
114
- // not support mockResult as an async function
115
- const requestUrl = `${options.origin}${options.path}`;
116
- let mockRequestResult;
117
- if (mockConfigIndex >= 0) {
118
- mockResult = mockConfigs[app[MOCK_CONFIG_INDEX]].mockResult;
119
- mockRequestResult = typeof mockResult === 'function' ? mockResult(requestUrl, options) : mockResult;
120
- }
121
- else {
122
- mockRequestResult = typeof mockResult === 'function' ? mockResult(requestUrl, options) : mockResult;
123
- }
124
- const result = (0, extend2_1.extend)(true, {}, normalizeResult(mockRequestResult));
125
- return {
126
- statusCode: result.status,
127
- data: result.data,
128
- responseOptions: {
129
- headers: result.headers,
130
- },
131
- };
132
- });
133
- if (typeof mockResult === 'object') {
134
- if (mockResult.delay && mockResult.delay > 0) {
135
- mockScope.delay(mockResult.delay);
136
- }
137
- }
138
- if (persist) {
139
- mockScope.persist();
140
- }
141
- else if (typeof mockResult === 'object' && mockResult.repeats && mockResult.repeats > 0) {
142
- mockScope.times(mockResult.repeats);
143
- }
144
- });
145
- };
146
- }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19odHRwY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb2NrX2h0dHBjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF1RUEsb0RBNkdDO0FBcExELDJCQUF3QjtBQUN4QixxQ0FBaUM7QUFFakMsbURBQStDO0FBd0MvQyxTQUFTLGVBQWUsQ0FBQyxNQUFrQztJQUN6RCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakMsYUFBYTtJQUNmLENBQUM7U0FBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxPQUFPO1FBQ1AsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztTQUFNLElBQUksT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNDLFNBQVM7UUFDVCxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQ3RF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
@@ -1,20 +0,0 @@
1
- import { Base } from 'sdk-base';
2
- import type { EggCore } from '@eggjs/core';
3
- import { MockOptions, MockApplicationOptions } from '../types.js';
4
- import { APP_INIT } from './util.js';
5
- export declare class MockAgent extends Base {
6
- #private;
7
- options: MockApplicationOptions;
8
- baseDir: string;
9
- [APP_INIT]: boolean;
10
- _instance: EggCore;
11
- constructor(options: MockApplicationOptions);
12
- _init(): Promise<void>;
13
- on(...args: any[]): this;
14
- once(...args: any[]): this;
15
- /**
16
- * close agent
17
- */
18
- _close(): Promise<void>;
19
- }
20
- export declare function createAgent(options: MockOptions): MockAgent;
@@ -1,125 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MockAgent = void 0;
7
- exports.createAgent = createAgent;
8
- const node_util_1 = require("node:util");
9
- const node_path_1 = __importDefault(require("node:path"));
10
- const sdk_base_1 = require("sdk-base");
11
- const detect_port_1 = require("detect-port");
12
- const utils_1 = require("@eggjs/utils");
13
- const context_js_1 = require("../context.js");
14
- const format_options_js_1 = require("../format_options.js");
15
- const utils_js_1 = require("../utils.js");
16
- const mock_custom_loader_js_1 = require("../mock_custom_loader.js");
17
- const util_js_1 = require("./util.js");
18
- const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/parallel/agent');
19
- class MockAgent extends sdk_base_1.Base {
20
- baseDir;
21
- [util_js_1.APP_INIT] = false;
22
- #initOnListeners = new Set();
23
- #initOnceListeners = new Set();
24
- _instance;
25
- constructor(options) {
26
- super({ initMethod: '_init' });
27
- this.options = options;
28
- this.baseDir = this.options.baseDir;
29
- }
30
- async _init() {
31
- if (this.options.beforeInit) {
32
- await this.options.beforeInit(this);
33
- delete this.options.beforeInit;
34
- }
35
- if (this.options.clean !== false) {
36
- const logDir = node_path_1.default.join(this.options.baseDir, 'logs');
37
- try {
38
- await (0, utils_js_1.rimraf)(logDir);
39
- }
40
- catch (err) {
41
- console.error(`remove log dir ${logDir} failed: ${err.stack}`);
42
- }
43
- const runDir = node_path_1.default.join(this.options.baseDir, 'run');
44
- try {
45
- await (0, utils_js_1.rimraf)(runDir);
46
- }
47
- catch (err) {
48
- console.error(`remove run dir ${runDir} failed: ${err.stack}`);
49
- }
50
- }
51
- this.options.clusterPort = await (0, detect_port_1.detectPort)();
52
- process.env.CLUSTER_PORT = String(this.options.clusterPort);
53
- debug('get clusterPort %s', this.options.clusterPort);
54
- const { Agent } = await (0, utils_1.importModule)(this.options.framework);
55
- const agent = this._instance = new Agent({ ...this.options });
56
- // egg-mock plugin need to override egg context
57
- Object.assign(agent.context, context_js_1.context);
58
- (0, mock_custom_loader_js_1.setCustomLoader)(agent);
59
- debug('agent instantiate');
60
- this[util_js_1.APP_INIT] = true;
61
- debug('this[APP_INIT] = true');
62
- this.#bindEvents();
63
- await agent.ready();
64
- const msg = {
65
- action: 'egg-ready',
66
- data: this.options,
67
- };
68
- agent.messenger.onMessage(msg);
69
- debug('agent ready');
70
- }
71
- #bindEvents() {
72
- debug('bind cache events to agent');
73
- for (const args of this.#initOnListeners) {
74
- debug('on(%s), use cache and pass to agent', args);
75
- this._instance.on(args[0], args[1]);
76
- this.removeListener(args[0], args[1]);
77
- }
78
- for (const args of this.#initOnceListeners) {
79
- debug('once(%s), use cache and pass to agent', args);
80
- this._instance.once(args[0], args[1]);
81
- this.removeListener(args[0], args[1]);
82
- }
83
- }
84
- on(...args) {
85
- if (this[util_js_1.APP_INIT]) {
86
- debug('on(%s), pass to agent', args);
87
- this._instance.on(args[0], args[1]);
88
- }
89
- else {
90
- debug('on(%s), cache it because agent has not init', args);
91
- this.#initOnListeners.add(args);
92
- super.on(args[0], args[1]);
93
- }
94
- return this;
95
- }
96
- once(...args) {
97
- if (this[util_js_1.APP_INIT]) {
98
- debug('once(%s), pass to agent', args);
99
- this._instance.once(args[0], args[1]);
100
- }
101
- else {
102
- debug('once(%s), cache it because agent has not init', args);
103
- this.#initOnceListeners.add(args);
104
- super.on(args[0], args[1]);
105
- }
106
- return this;
107
- }
108
- /**
109
- * close agent
110
- */
111
- async _close() {
112
- if (this._instance) {
113
- await this._instance.close();
114
- }
115
- else {
116
- // when agent init throws an exception, must wait for agent quit gracefully
117
- await (0, utils_js_1.sleep)(200);
118
- }
119
- }
120
- }
121
- exports.MockAgent = MockAgent;
122
- function createAgent(options) {
123
- return new MockAgent((0, format_options_js_1.formatOptions)(options));
124
- }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BhcmFsbGVsL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQTZIQSxrQ0FFQztBQS9IRCx5Q0FBcUM7QUFDckMsMERBQTZCO0FBQzdCLHVDQUFnQztBQUNoQyw2Q0FBeUM7QUFDekMsd0NBQTRDO0FBRTVDLDhDQUF3QztBQUN4Qyw0REFBcUQ7QUFFckQsMENBQTRDO0FBQzVDLG9FQUEyRDtBQUMzRCx1Q0FBcUM7QUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFFekQsTUFBYSxTQUFVLFNBQVEsZUFBSTtJQUVqQyxPQUFPLENBQVM7SUFDaEIsQ0FBQyxrQkFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFTLENBQUM7SUFDcEMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVMsQ0FBQztJQUN0QyxTQUFTLENBQVU7SUFFbkIsWUFBWSxPQUErQjtRQUN6QyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDakMs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
@@ -1,20 +0,0 @@
1
- import { Base } from 'sdk-base';
2
- import type { EggCore } from '@eggjs/core';
3
- import { MockOptions, MockApplicationOptions } from '../types.js';
4
- import { APP_INIT } from './util.js';
5
- export declare class MockParallelApplication extends Base {
6
- #private;
7
- options: MockApplicationOptions;
8
- baseDir: string;
9
- [APP_INIT]: boolean;
10
- _instance: EggCore;
11
- constructor(options: MockApplicationOptions);
12
- _init(): Promise<void>;
13
- on(...args: any[]): this;
14
- once(...args: any[]): this;
15
- /**
16
- * close app
17
- */
18
- _close(): Promise<void>;
19
- }
20
- export declare function createApp(initOptions: MockOptions): any;
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockParallelApplication = void 0;
4
- exports.createApp = createApp;
5
- const node_util_1 = require("node:util");
6
- const sdk_base_1 = require("sdk-base");
7
- const utils_1 = require("@eggjs/utils");
8
- const context_js_1 = require("../context.js");
9
- const format_options_js_1 = require("../format_options.js");
10
- const utils_js_1 = require("../utils.js");
11
- const mock_custom_loader_js_1 = require("../mock_custom_loader.js");
12
- const mock_http_server_js_1 = require("../mock_http_server.js");
13
- const util_js_1 = require("./util.js");
14
- const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/parallel/app');
15
- class MockParallelApplication extends sdk_base_1.Base {
16
- baseDir;
17
- [util_js_1.APP_INIT] = false;
18
- #initOnListeners = new Set();
19
- #initOnceListeners = new Set();
20
- _instance;
21
- constructor(options) {
22
- super({ initMethod: '_init' });
23
- this.options = options;
24
- this.baseDir = options.baseDir;
25
- }
26
- async _init() {
27
- if (this.options.beforeInit) {
28
- await this.options.beforeInit(this);
29
- delete this.options.beforeInit;
30
- }
31
- if (!this.options.clusterPort) {
32
- this.options.clusterPort = parseInt(process.env.CLUSTER_PORT);
33
- }
34
- if (!this.options.clusterPort) {
35
- throw new Error('cannot get env.CLUSTER_PORT, parallel run fail');
36
- }
37
- debug('get clusterPort %s', this.options.clusterPort);
38
- const { Application } = await (0, utils_1.importModule)(this.options.framework);
39
- const app = this._instance = new Application({ ...this.options });
40
- // egg-mock plugin need to override egg context
41
- Object.assign(app.context, context_js_1.context);
42
- (0, mock_custom_loader_js_1.setCustomLoader)(app);
43
- debug('app instantiate');
44
- this[util_js_1.APP_INIT] = true;
45
- debug('this[APP_INIT] = true');
46
- this.#bindEvents();
47
- debug('http server instantiate');
48
- (0, mock_http_server_js_1.createServer)(app);
49
- await app.ready();
50
- const msg = {
51
- action: 'egg-ready',
52
- data: this.options,
53
- };
54
- app.messenger.onMessage(msg);
55
- debug('app ready');
56
- }
57
- #bindEvents() {
58
- for (const args of this.#initOnListeners) {
59
- debug('on(%s), use cache and pass to app', args);
60
- this._instance.on(args[0], args[1]);
61
- this.removeListener(args[0], args[1]);
62
- }
63
- for (const args of this.#initOnceListeners) {
64
- debug('once(%s), use cache and pass to app', args);
65
- this._instance.once(args[0], args[1]);
66
- this.removeListener(args[0], args[1]);
67
- }
68
- }
69
- on(...args) {
70
- if (this[util_js_1.APP_INIT]) {
71
- debug('on(%s), pass to app', args);
72
- this._instance.on(args[0], args[1]);
73
- }
74
- else {
75
- debug('on(%s), cache it because app has not init', args);
76
- if (this.#initOnListeners) {
77
- this.#initOnListeners.add(args);
78
- }
79
- super.on(args[0], args[1]);
80
- }
81
- return this;
82
- }
83
- once(...args) {
84
- if (this[util_js_1.APP_INIT]) {
85
- debug('once(%s), pass to app', args);
86
- this._instance.once(args[0], args[1]);
87
- }
88
- else {
89
- debug('once(%s), cache it because app has not init', args);
90
- if (this.#initOnceListeners) {
91
- this.#initOnceListeners.add(args);
92
- }
93
- super.on(args[0], args[1]);
94
- }
95
- return this;
96
- }
97
- /**
98
- * close app
99
- */
100
- async _close() {
101
- if (this._instance) {
102
- await this._instance.close();
103
- }
104
- else {
105
- // when app init throws an exception, must wait for app quit gracefully
106
- await (0, utils_js_1.sleep)(200);
107
- }
108
- }
109
- }
110
- exports.MockParallelApplication = MockParallelApplication;
111
- function createApp(initOptions) {
112
- const app = new MockParallelApplication((0, format_options_js_1.formatOptions)(initOptions));
113
- return (0, util_js_1.proxyApp)(app);
114
- }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9wYXJhbGxlbC9hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUhBLDhCQUdDO0FBMUhELHlDQUFxQztBQUNyQyx1Q0FBZ0M7QUFDaEMsd0NBQTRDO0FBRTVDLDhDQUF3QztBQUN4Qyw0REFBcUQ7QUFFckQsMENBQW9DO0FBQ3BDLG9FQUEyRDtBQUMzRCxnRUFBc0Q7QUFDdEQsdUNBQStDO0FBRS9DLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBRXZELE1BQWEsdUJBQXdCLFNBQVEsZUFBSTtJQUUvQyxPQUFPLENBQVM7SUFDaEIsQ0FBQyxrQkFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFTLENBQUM7SUFDcEMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVMsQ0FBQztJQUN0QyxTQUFTLENBQVU7SUFFbkIsWUFBWSxPQUErQjtRQUN6QyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsUUFB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
@@ -1,3 +0,0 @@
1
- export declare const MOCK_APP_METHOD: string[];
2
- export declare const APP_INIT: unique symbol;
3
- export declare function proxyApp(app: any): any;