@bluelibs/runner 4.5.0-alpha → 4.5.0-alpha.2

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 (228) hide show
  1. package/dist/index.cjs +4265 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.mts +1734 -0
  4. package/dist/index.d.ts +1696 -45
  5. package/dist/index.mjs +4233 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +11 -14
  8. package/dist/context.d.ts +0 -29
  9. package/dist/context.js +0 -52
  10. package/dist/context.js.map +0 -1
  11. package/dist/define.d.ts +0 -9
  12. package/dist/define.js +0 -32
  13. package/dist/define.js.map +0 -1
  14. package/dist/definers/defineEvent.d.ts +0 -2
  15. package/dist/definers/defineEvent.js +0 -23
  16. package/dist/definers/defineEvent.js.map +0 -1
  17. package/dist/definers/defineHook.d.ts +0 -6
  18. package/dist/definers/defineHook.js +0 -24
  19. package/dist/definers/defineHook.js.map +0 -1
  20. package/dist/definers/defineOverride.d.ts +0 -14
  21. package/dist/definers/defineOverride.js +0 -13
  22. package/dist/definers/defineOverride.js.map +0 -1
  23. package/dist/definers/defineResource.d.ts +0 -2
  24. package/dist/definers/defineResource.js +0 -69
  25. package/dist/definers/defineResource.js.map +0 -1
  26. package/dist/definers/defineResourceMiddleware.d.ts +0 -2
  27. package/dist/definers/defineResourceMiddleware.js +0 -42
  28. package/dist/definers/defineResourceMiddleware.js.map +0 -1
  29. package/dist/definers/defineTag.d.ts +0 -12
  30. package/dist/definers/defineTag.js +0 -107
  31. package/dist/definers/defineTag.js.map +0 -1
  32. package/dist/definers/defineTask.d.ts +0 -15
  33. package/dist/definers/defineTask.js +0 -42
  34. package/dist/definers/defineTask.js.map +0 -1
  35. package/dist/definers/defineTaskMiddleware.d.ts +0 -2
  36. package/dist/definers/defineTaskMiddleware.js +0 -42
  37. package/dist/definers/defineTaskMiddleware.js.map +0 -1
  38. package/dist/definers/tools.d.ts +0 -45
  39. package/dist/definers/tools.js +0 -75
  40. package/dist/definers/tools.js.map +0 -1
  41. package/dist/defs.d.ts +0 -29
  42. package/dist/defs.js +0 -45
  43. package/dist/defs.js.map +0 -1
  44. package/dist/errors.d.ts +0 -96
  45. package/dist/errors.js +0 -178
  46. package/dist/errors.js.map +0 -1
  47. package/dist/globals/globalEvents.d.ts +0 -17
  48. package/dist/globals/globalEvents.js +0 -33
  49. package/dist/globals/globalEvents.js.map +0 -1
  50. package/dist/globals/globalMiddleware.d.ts +0 -31
  51. package/dist/globals/globalMiddleware.js +0 -25
  52. package/dist/globals/globalMiddleware.js.map +0 -1
  53. package/dist/globals/globalResources.d.ts +0 -30
  54. package/dist/globals/globalResources.js +0 -55
  55. package/dist/globals/globalResources.js.map +0 -1
  56. package/dist/globals/globalTags.d.ts +0 -9
  57. package/dist/globals/globalTags.js +0 -23
  58. package/dist/globals/globalTags.js.map +0 -1
  59. package/dist/globals/middleware/cache.middleware.d.ts +0 -27
  60. package/dist/globals/middleware/cache.middleware.js +0 -73
  61. package/dist/globals/middleware/cache.middleware.js.map +0 -1
  62. package/dist/globals/middleware/requireContext.middleware.d.ts +0 -6
  63. package/dist/globals/middleware/requireContext.middleware.js +0 -16
  64. package/dist/globals/middleware/requireContext.middleware.js.map +0 -1
  65. package/dist/globals/middleware/retry.middleware.d.ts +0 -21
  66. package/dist/globals/middleware/retry.middleware.js +0 -61
  67. package/dist/globals/middleware/retry.middleware.js.map +0 -1
  68. package/dist/globals/middleware/timeout.middleware.d.ts +0 -9
  69. package/dist/globals/middleware/timeout.middleware.js +0 -61
  70. package/dist/globals/middleware/timeout.middleware.js.map +0 -1
  71. package/dist/globals/resources/debug/debug.resource.d.ts +0 -7
  72. package/dist/globals/resources/debug/debug.resource.js +0 -29
  73. package/dist/globals/resources/debug/debug.resource.js.map +0 -1
  74. package/dist/globals/resources/debug/debug.tag.d.ts +0 -2
  75. package/dist/globals/resources/debug/debug.tag.js +0 -12
  76. package/dist/globals/resources/debug/debug.tag.js.map +0 -1
  77. package/dist/globals/resources/debug/debugConfig.resource.d.ts +0 -22
  78. package/dist/globals/resources/debug/debugConfig.resource.js +0 -20
  79. package/dist/globals/resources/debug/debugConfig.resource.js.map +0 -1
  80. package/dist/globals/resources/debug/executionTracker.middleware.d.ts +0 -50
  81. package/dist/globals/resources/debug/executionTracker.middleware.js +0 -78
  82. package/dist/globals/resources/debug/executionTracker.middleware.js.map +0 -1
  83. package/dist/globals/resources/debug/globalEvent.hook.d.ts +0 -27
  84. package/dist/globals/resources/debug/globalEvent.hook.js +0 -38
  85. package/dist/globals/resources/debug/globalEvent.hook.js.map +0 -1
  86. package/dist/globals/resources/debug/hook.hook.d.ts +0 -30
  87. package/dist/globals/resources/debug/hook.hook.js +0 -48
  88. package/dist/globals/resources/debug/hook.hook.js.map +0 -1
  89. package/dist/globals/resources/debug/index.d.ts +0 -6
  90. package/dist/globals/resources/debug/index.js +0 -23
  91. package/dist/globals/resources/debug/index.js.map +0 -1
  92. package/dist/globals/resources/debug/middleware.hook.d.ts +0 -30
  93. package/dist/globals/resources/debug/middleware.hook.js +0 -75
  94. package/dist/globals/resources/debug/middleware.hook.js.map +0 -1
  95. package/dist/globals/resources/debug/types.d.ts +0 -25
  96. package/dist/globals/resources/debug/types.js +0 -65
  97. package/dist/globals/resources/debug/types.js.map +0 -1
  98. package/dist/globals/resources/debug/utils.d.ts +0 -2
  99. package/dist/globals/resources/debug/utils.js +0 -13
  100. package/dist/globals/resources/debug/utils.js.map +0 -1
  101. package/dist/globals/resources/queue.resource.d.ts +0 -10
  102. package/dist/globals/resources/queue.resource.js +0 -31
  103. package/dist/globals/resources/queue.resource.js.map +0 -1
  104. package/dist/globals/types.d.ts +0 -1
  105. package/dist/globals/types.js +0 -18
  106. package/dist/globals/types.js.map +0 -1
  107. package/dist/index.js +0 -48
  108. package/dist/index.js.map +0 -1
  109. package/dist/models/DependencyProcessor.d.ts +0 -48
  110. package/dist/models/DependencyProcessor.js +0 -276
  111. package/dist/models/DependencyProcessor.js.map +0 -1
  112. package/dist/models/EventManager.d.ts +0 -153
  113. package/dist/models/EventManager.js +0 -421
  114. package/dist/models/EventManager.js.map +0 -1
  115. package/dist/models/LogPrinter.d.ts +0 -55
  116. package/dist/models/LogPrinter.js +0 -202
  117. package/dist/models/LogPrinter.js.map +0 -1
  118. package/dist/models/Logger.d.ts +0 -85
  119. package/dist/models/Logger.js +0 -194
  120. package/dist/models/Logger.js.map +0 -1
  121. package/dist/models/MiddlewareManager.d.ts +0 -86
  122. package/dist/models/MiddlewareManager.js +0 -391
  123. package/dist/models/MiddlewareManager.js.map +0 -1
  124. package/dist/models/OverrideManager.d.ts +0 -13
  125. package/dist/models/OverrideManager.js +0 -84
  126. package/dist/models/OverrideManager.js.map +0 -1
  127. package/dist/models/Queue.d.ts +0 -25
  128. package/dist/models/Queue.js +0 -56
  129. package/dist/models/Queue.js.map +0 -1
  130. package/dist/models/ResourceInitializer.d.ts +0 -20
  131. package/dist/models/ResourceInitializer.js +0 -34
  132. package/dist/models/ResourceInitializer.js.map +0 -1
  133. package/dist/models/RunResult.d.ts +0 -35
  134. package/dist/models/RunResult.js +0 -62
  135. package/dist/models/RunResult.js.map +0 -1
  136. package/dist/models/Semaphore.d.ts +0 -61
  137. package/dist/models/Semaphore.js +0 -164
  138. package/dist/models/Semaphore.js.map +0 -1
  139. package/dist/models/Store.d.ts +0 -56
  140. package/dist/models/Store.js +0 -209
  141. package/dist/models/Store.js.map +0 -1
  142. package/dist/models/StoreRegistry.d.ts +0 -43
  143. package/dist/models/StoreRegistry.js +0 -375
  144. package/dist/models/StoreRegistry.js.map +0 -1
  145. package/dist/models/StoreValidator.d.ts +0 -8
  146. package/dist/models/StoreValidator.js +0 -73
  147. package/dist/models/StoreValidator.js.map +0 -1
  148. package/dist/models/TaskRunner.d.ts +0 -27
  149. package/dist/models/TaskRunner.js +0 -53
  150. package/dist/models/TaskRunner.js.map +0 -1
  151. package/dist/models/UnhandledError.d.ts +0 -11
  152. package/dist/models/UnhandledError.js +0 -32
  153. package/dist/models/UnhandledError.js.map +0 -1
  154. package/dist/models/index.d.ts +0 -11
  155. package/dist/models/index.js +0 -28
  156. package/dist/models/index.js.map +0 -1
  157. package/dist/models/utils/findCircularDependencies.d.ts +0 -16
  158. package/dist/models/utils/findCircularDependencies.js +0 -45
  159. package/dist/models/utils/findCircularDependencies.js.map +0 -1
  160. package/dist/models/utils/safeStringify.d.ts +0 -3
  161. package/dist/models/utils/safeStringify.js +0 -45
  162. package/dist/models/utils/safeStringify.js.map +0 -1
  163. package/dist/platform/browser.d.ts +0 -15
  164. package/dist/platform/browser.js +0 -98
  165. package/dist/platform/browser.js.map +0 -1
  166. package/dist/platform/index.d.ts +0 -8
  167. package/dist/platform/index.js +0 -47
  168. package/dist/platform/index.js.map +0 -1
  169. package/dist/platform/node.d.ts +0 -11
  170. package/dist/platform/node.js +0 -45
  171. package/dist/platform/node.js.map +0 -1
  172. package/dist/platform/types.d.ts +0 -28
  173. package/dist/platform/types.js +0 -19
  174. package/dist/platform/types.js.map +0 -1
  175. package/dist/platform/universal.d.ts +0 -16
  176. package/dist/platform/universal.js +0 -57
  177. package/dist/platform/universal.js.map +0 -1
  178. package/dist/processHooks.d.ts +0 -2
  179. package/dist/processHooks.js +0 -79
  180. package/dist/processHooks.js.map +0 -1
  181. package/dist/run.d.ts +0 -14
  182. package/dist/run.js +0 -126
  183. package/dist/run.js.map +0 -1
  184. package/dist/testing.d.ts +0 -25
  185. package/dist/testing.js +0 -42
  186. package/dist/testing.js.map +0 -1
  187. package/dist/tools/getCallerFile.d.ts +0 -1
  188. package/dist/tools/getCallerFile.js +0 -30
  189. package/dist/tools/getCallerFile.js.map +0 -1
  190. package/dist/types/contracts.d.ts +0 -55
  191. package/dist/types/contracts.js +0 -4
  192. package/dist/types/contracts.js.map +0 -1
  193. package/dist/types/event.d.ts +0 -74
  194. package/dist/types/event.js +0 -17
  195. package/dist/types/event.js.map +0 -1
  196. package/dist/types/hook.d.ts +0 -23
  197. package/dist/types/hook.js +0 -4
  198. package/dist/types/hook.js.map +0 -1
  199. package/dist/types/meta.d.ts +0 -18
  200. package/dist/types/meta.js +0 -7
  201. package/dist/types/meta.js.map +0 -1
  202. package/dist/types/resource.d.ts +0 -84
  203. package/dist/types/resource.js +0 -4
  204. package/dist/types/resource.js.map +0 -1
  205. package/dist/types/resourceMiddleware.d.ts +0 -47
  206. package/dist/types/resourceMiddleware.js +0 -4
  207. package/dist/types/resourceMiddleware.js.map +0 -1
  208. package/dist/types/runner.d.ts +0 -55
  209. package/dist/types/runner.js +0 -3
  210. package/dist/types/runner.js.map +0 -1
  211. package/dist/types/storeTypes.d.ts +0 -40
  212. package/dist/types/storeTypes.js +0 -3
  213. package/dist/types/storeTypes.js.map +0 -1
  214. package/dist/types/symbols.d.ts +0 -30
  215. package/dist/types/symbols.js +0 -40
  216. package/dist/types/symbols.js.map +0 -1
  217. package/dist/types/tag.d.ts +0 -46
  218. package/dist/types/tag.js +0 -4
  219. package/dist/types/tag.js.map +0 -1
  220. package/dist/types/task.d.ts +0 -44
  221. package/dist/types/task.js +0 -4
  222. package/dist/types/task.js.map +0 -1
  223. package/dist/types/taskMiddleware.d.ts +0 -48
  224. package/dist/types/taskMiddleware.js +0 -4
  225. package/dist/types/taskMiddleware.js.map +0 -1
  226. package/dist/types/utilities.d.ts +0 -110
  227. package/dist/types/utilities.js +0 -19
  228. package/dist/types/utilities.js.map +0 -1
@@ -1,421 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _EventManager_isLocked;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.EventManager = void 0;
16
- const errors_1 = require("../errors");
17
- const globalTags_1 = require("../globals/globalTags");
18
- const platform_1 = require("../platform");
19
- /**
20
- * Default options for event handlers
21
- */
22
- const HandlerOptionsDefaults = { order: 0 };
23
- /**
24
- * EventManager handles event emission, listener registration, and event processing.
25
- * It supports both specific event listeners and global listeners that handle all events.
26
- * Listeners are processed in order based on their priority.
27
- */
28
- class EventManager {
29
- constructor(options) {
30
- // Core storage for event listeners
31
- this.listeners = new Map();
32
- this.globalListeners = [];
33
- // Caching system for merged listeners to improve performance
34
- this.cachedMergedListeners = new Map();
35
- this.globalListenersCacheValid = true;
36
- // Interceptors storage
37
- this.emissionInterceptors = [];
38
- this.hookInterceptors = [];
39
- // Tracks the current emission chain to detect cycles
40
- this.emissionStack = (0, platform_1.getPlatform)().createAsyncLocalStorage();
41
- // Tracks currently executing hook id (if any)
42
- this.currentHookIdContext = (0, platform_1.getPlatform)().createAsyncLocalStorage();
43
- // Locking mechanism to prevent modifications after initialization
44
- _EventManager_isLocked.set(this, false);
45
- this.runtimeCycleDetection = options?.runtimeCycleDetection ?? true;
46
- }
47
- // ==================== PUBLIC API ====================
48
- /**
49
- * Gets the current lock status of the EventManager
50
- */
51
- get isLocked() {
52
- return __classPrivateFieldGet(this, _EventManager_isLocked, "f");
53
- }
54
- /**
55
- * Locks the EventManager, preventing any further modifications to listeners
56
- */
57
- lock() {
58
- __classPrivateFieldSet(this, _EventManager_isLocked, true, "f");
59
- }
60
- /**
61
- * Emits an event to all registered listeners for that event type.
62
- * Listeners are processed in order of priority and can stop event propagation.
63
- *
64
- * @param eventDefinition - The event definition to emit
65
- * @param data - The event payload data
66
- * @param source - The source identifier of the event emitter
67
- */
68
- async emit(eventDefinition, data, source) {
69
- // Validate payload with schema if provided
70
- if (eventDefinition.payloadSchema) {
71
- try {
72
- data = eventDefinition.payloadSchema.parse(data);
73
- }
74
- catch (error) {
75
- throw new errors_1.ValidationError("Event payload", eventDefinition.id, error instanceof Error ? error : new Error(String(error)));
76
- }
77
- }
78
- const frame = { id: eventDefinition.id, source };
79
- const processEmission = async () => {
80
- // Determine whether this emission should be excluded from global listeners
81
- /* istanbul ignore next */
82
- const pseudoForExclude = {
83
- id: eventDefinition.id,
84
- data,
85
- timestamp: new Date(),
86
- source,
87
- meta: eventDefinition.meta || {},
88
- stopPropagation: () => { },
89
- isPropagationStopped: () => false,
90
- tags: eventDefinition.tags,
91
- };
92
- const excludeFromGlobal = this.isExcludedFromGlobal(pseudoForExclude);
93
- // Choose listeners: if globals are excluded, only use event-specific listeners
94
- const allListeners = excludeFromGlobal
95
- ? this.listeners.get(eventDefinition.id) || []
96
- : this.getCachedMergedListeners(eventDefinition.id);
97
- let propagationStopped = false;
98
- const event = {
99
- id: eventDefinition.id,
100
- data,
101
- timestamp: new Date(),
102
- source,
103
- meta: eventDefinition.meta || {},
104
- stopPropagation: () => {
105
- propagationStopped = true;
106
- },
107
- isPropagationStopped: () => propagationStopped,
108
- tags: eventDefinition.tags,
109
- };
110
- // Create the base emission function
111
- const baseEmit = async (eventToEmit) => {
112
- if (allListeners.length === 0) {
113
- return;
114
- }
115
- const excludeFromGlobal = this.isExcludedFromGlobal(eventToEmit);
116
- for (const listener of allListeners) {
117
- if (propagationStopped) {
118
- break;
119
- }
120
- // Skip handlers that identify themselves as the source of this event
121
- // (prevents a listener from re-invoking itself).
122
- if (listener.id && listener.id === eventToEmit.source) {
123
- continue;
124
- }
125
- if (!listener.filter || listener.filter(eventToEmit)) {
126
- await listener.handler(eventToEmit);
127
- }
128
- }
129
- };
130
- // Apply emission interceptors (last added runs first)
131
- let emitWithInterceptors = baseEmit;
132
- // Reverse the interceptors so the last added runs first
133
- const reversedInterceptors = [...this.emissionInterceptors].reverse();
134
- for (const interceptor of reversedInterceptors) {
135
- const nextFunction = emitWithInterceptors;
136
- emitWithInterceptors = async (eventToEmit) => interceptor(nextFunction, eventToEmit);
137
- }
138
- // Execute the emission with interceptors
139
- await emitWithInterceptors(event);
140
- };
141
- if (this.runtimeCycleDetection) {
142
- // Detect re-entrant event cycles: same event id appearing in the current chain
143
- const currentStack = this.emissionStack.getStore();
144
- if (currentStack) {
145
- const cycleStart = currentStack.findIndex((f) => f.id === frame.id);
146
- if (cycleStart !== -1) {
147
- const top = currentStack[currentStack.length - 1];
148
- const currentHookId = this.currentHookIdContext.getStore();
149
- const safeReEmitBySameHook = top.id === frame.id && currentHookId && currentHookId === source;
150
- if (!safeReEmitBySameHook) {
151
- throw new errors_1.EventCycleError([
152
- ...currentStack.slice(cycleStart),
153
- frame,
154
- ]);
155
- }
156
- }
157
- }
158
- const nextStack = currentStack ? [...currentStack, frame] : [frame];
159
- await this.emissionStack.run(nextStack, processEmission);
160
- }
161
- else {
162
- // Fast path without AsyncLocalStorage context tracking
163
- await processEmission();
164
- }
165
- }
166
- /**
167
- * Registers an event listener for specific event(s).
168
- * Listeners are ordered by priority and executed in ascending order.
169
- *
170
- * @param event - The event definition(s) to listen for
171
- * @param handler - The callback function to handle the event
172
- * @param options - Configuration options for the listener
173
- */
174
- addListener(event, handler, options = HandlerOptionsDefaults) {
175
- this.checkLock();
176
- const newListener = {
177
- handler,
178
- order: options.order || 0,
179
- filter: options.filter,
180
- id: options.id,
181
- isGlobal: false,
182
- };
183
- if (Array.isArray(event)) {
184
- event.forEach((id) => this.addListener(id, handler, options));
185
- }
186
- else {
187
- const eventId = event.id;
188
- const listeners = this.listeners.get(eventId);
189
- if (listeners) {
190
- this.insertListener(listeners, newListener);
191
- }
192
- else {
193
- this.listeners.set(eventId, [newListener]);
194
- }
195
- this.invalidateCache(eventId);
196
- }
197
- }
198
- /**
199
- * Registers a global event listener that handles all events.
200
- * Global listeners are mixed with specific listeners and ordered by priority.
201
- *
202
- * @param handler - The callback function to handle events
203
- * @param options - Configuration options for the listener
204
- */
205
- addGlobalListener(handler, options = HandlerOptionsDefaults) {
206
- this.checkLock();
207
- const newListener = {
208
- handler,
209
- order: options.order || 0,
210
- filter: options.filter,
211
- id: options.id,
212
- isGlobal: true,
213
- };
214
- this.insertListener(this.globalListeners, newListener);
215
- this.invalidateCache();
216
- }
217
- /**
218
- * Checks if there are any listeners registered for the given event
219
- *
220
- * @param eventDefinition - The event definition to check
221
- * @returns true if listeners exist, false otherwise
222
- */
223
- hasListeners(eventDefinition) {
224
- const eventListeners = this.listeners.get(eventDefinition.id) || [];
225
- if (eventListeners.length > 0) {
226
- return true;
227
- }
228
- if (this.globalListeners.length === 0) {
229
- return false;
230
- }
231
- // If the event definition carries the tag that excludes it from global
232
- // listeners, report no listeners (since globals would be skipped at emit).
233
- /* istanbul ignore next */
234
- const pseudoEmission = {
235
- id: eventDefinition.id,
236
- data: undefined,
237
- timestamp: new Date(),
238
- source: "",
239
- meta: eventDefinition.meta || {},
240
- stopPropagation: () => { },
241
- isPropagationStopped: () => false,
242
- tags: eventDefinition.tags,
243
- };
244
- if (this.isExcludedFromGlobal(pseudoEmission)) {
245
- return false;
246
- }
247
- return true;
248
- }
249
- /**
250
- * Adds an interceptor for all event emissions
251
- * Interceptors are executed in the order they are added, with the ability to
252
- * modify, log, or prevent event emissions
253
- *
254
- * @param interceptor - The interceptor function to add
255
- */
256
- intercept(interceptor) {
257
- this.checkLock();
258
- this.emissionInterceptors.push(interceptor);
259
- }
260
- /**
261
- * Adds an interceptor for hook execution
262
- * Interceptors are executed in the order they are added, with the ability to
263
- * modify, log, or prevent hook execution
264
- *
265
- * @param interceptor - The interceptor function to add
266
- */
267
- interceptHook(interceptor) {
268
- this.checkLock();
269
- this.hookInterceptors.push(interceptor);
270
- }
271
- /**
272
- * Executes a hook with all registered hook interceptors applied
273
- * This method should be used by TaskRunner when executing hooks
274
- *
275
- * @param hook - The hook to execute
276
- * @param event - The event that triggered the hook
277
- * @param computedDependencies - The computed dependencies for the hook
278
- * @returns Promise resolving to the hook execution result
279
- */
280
- async executeHookWithInterceptors(hook, event, computedDependencies) {
281
- // Base hook execution function
282
- const baseExecute = async (hookToExecute, eventForHook) => {
283
- try {
284
- const result = await hookToExecute.run(eventForHook, computedDependencies);
285
- return result;
286
- }
287
- catch (err) {
288
- throw err;
289
- }
290
- };
291
- // Apply hook interceptors (last added runs first)
292
- let executeWithInterceptors = baseExecute;
293
- // Reverse the interceptors so the last added runs first
294
- const reversedInterceptors = [...this.hookInterceptors].reverse();
295
- for (const interceptor of reversedInterceptors) {
296
- const nextFunction = executeWithInterceptors;
297
- executeWithInterceptors = async (hookToExecute, eventForHook) => interceptor(nextFunction, hookToExecute, eventForHook);
298
- }
299
- // Execute the hook with interceptors within current hook context
300
- if (this.runtimeCycleDetection) {
301
- return await this.currentHookIdContext.run(hook.id, async () => await executeWithInterceptors(hook, event));
302
- }
303
- else {
304
- return await executeWithInterceptors(hook, event);
305
- }
306
- }
307
- // ==================== PRIVATE METHODS ====================
308
- /**
309
- * Throws an error if the EventManager is locked
310
- */
311
- checkLock() {
312
- if (__classPrivateFieldGet(this, _EventManager_isLocked, "f")) {
313
- throw new errors_1.LockedError("EventManager");
314
- }
315
- }
316
- /**
317
- * Merges two sorted arrays of listeners while maintaining order.
318
- * Used to combine event-specific listeners with global listeners.
319
- *
320
- * @param a - First array of listeners
321
- * @param b - Second array of listeners
322
- * @returns Merged and sorted array of listeners
323
- */
324
- mergeSortedListeners(a, b) {
325
- const result = [];
326
- let i = 0, j = 0;
327
- while (i < a.length && j < b.length) {
328
- if (a[i].order <= b[j].order) {
329
- result.push(a[i++]);
330
- }
331
- else {
332
- result.push(b[j++]);
333
- }
334
- }
335
- while (i < a.length)
336
- result.push(a[i++]);
337
- while (j < b.length)
338
- result.push(b[j++]);
339
- return result;
340
- }
341
- /**
342
- * Inserts a new listener into a sorted array using binary search.
343
- * Maintains order based on listener priority.
344
- *
345
- * @param listeners - Array to insert into
346
- * @param newListener - Listener to insert
347
- */
348
- insertListener(listeners, newListener) {
349
- let low = 0;
350
- let high = listeners.length;
351
- while (low < high) {
352
- const mid = (low + high) >>> 1;
353
- if (listeners[mid].order < newListener.order) {
354
- low = mid + 1;
355
- }
356
- else {
357
- high = mid;
358
- }
359
- }
360
- listeners.splice(low, 0, newListener);
361
- }
362
- /**
363
- * Returns true if the given emission carries the tag that marks
364
- * it as excluded from global ("*") listeners.
365
- *
366
- * @param event - The event emission to check
367
- * @returns true if event should exclude global listeners
368
- */
369
- isExcludedFromGlobal(event) {
370
- return globalTags_1.globalTags.excludeFromGlobalHooks.exists(event);
371
- }
372
- /**
373
- * Retrieves cached merged listeners for an event, or creates them if not cached.
374
- * Combines event-specific listeners with global listeners and sorts them by priority.
375
- *
376
- * @param eventId - The event ID to get listeners for
377
- * @returns Array of merged listeners sorted by priority
378
- */
379
- getCachedMergedListeners(eventId) {
380
- if (!this.globalListenersCacheValid) {
381
- this.cachedMergedListeners.clear();
382
- this.globalListenersCacheValid = true;
383
- }
384
- let cached = this.cachedMergedListeners.get(eventId);
385
- if (!cached) {
386
- const eventListeners = this.listeners.get(eventId) || [];
387
- if (eventListeners.length === 0 && this.globalListeners.length === 0) {
388
- cached = [];
389
- }
390
- else if (eventListeners.length === 0) {
391
- cached = this.globalListeners;
392
- }
393
- else if (this.globalListeners.length === 0) {
394
- cached = eventListeners;
395
- }
396
- else {
397
- cached = this.mergeSortedListeners(eventListeners, this.globalListeners);
398
- }
399
- this.cachedMergedListeners.set(eventId, cached);
400
- }
401
- return cached;
402
- }
403
- /**
404
- * Invalidates the cached merged listeners.
405
- * If eventId is provided, only invalidates cache for that specific event.
406
- * Otherwise, invalidates the global cache.
407
- *
408
- * @param eventId - Optional specific event ID to invalidate
409
- */
410
- invalidateCache(eventId) {
411
- if (eventId) {
412
- this.cachedMergedListeners.delete(eventId);
413
- }
414
- else {
415
- this.globalListenersCacheValid = false;
416
- }
417
- }
418
- }
419
- exports.EventManager = EventManager;
420
- _EventManager_isLocked = new WeakMap();
421
- //# sourceMappingURL=EventManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../src/models/EventManager.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- export type PrintStrategy = "pretty" | "plain" | "json" | "json_pretty";
2
- export type LogLevels = "trace" | "debug" | "info" | "warn" | "error" | "critical";
3
- export interface PrintableLog {
4
- level: LogLevels;
5
- source?: string;
6
- message: any;
7
- timestamp: Date;
8
- error?: {
9
- name: string;
10
- message: string;
11
- stack?: string;
12
- };
13
- data?: Record<string, any>;
14
- context?: Record<string, any>;
15
- }
16
- export type ColorTheme = {
17
- trace: string;
18
- debug: string;
19
- info: string;
20
- warn: string;
21
- error: string;
22
- critical: string;
23
- reset: string;
24
- bold: string;
25
- dim: string;
26
- blue: string;
27
- cyan: string;
28
- gray: string;
29
- };
30
- export declare class LogPrinter {
31
- private strategy;
32
- private colors;
33
- constructor(options: {
34
- strategy: PrintStrategy;
35
- useColors: boolean;
36
- colorTheme?: Partial<ColorTheme>;
37
- });
38
- print(log: PrintableLog): void;
39
- private pickWriter;
40
- private formatTime;
41
- private formatLevel;
42
- private formatSource;
43
- private formatMessage;
44
- private formatError;
45
- private formatData;
46
- private formatContext;
47
- private normalizeForJson;
48
- private static NO_COLORS;
49
- private static writers;
50
- static setWriters(writers: Partial<{
51
- log: (msg: any) => void;
52
- error?: (msg: any) => void;
53
- }>): void;
54
- static resetWriters(): void;
55
- }