@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,375 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StoreRegistry = void 0;
4
- const utils = require("../define");
5
- const errors_1 = require("../errors");
6
- const StoreValidator_1 = require("./StoreValidator");
7
- class StoreRegistry {
8
- constructor(store) {
9
- this.store = store;
10
- this.tasks = new Map();
11
- this.resources = new Map();
12
- this.events = new Map();
13
- this.taskMiddlewares = new Map();
14
- this.resourceMiddlewares = new Map();
15
- this.hooks = new Map();
16
- this.tags = new Map();
17
- this.validator = new StoreValidator_1.StoreValidator(this);
18
- }
19
- getValidator() {
20
- return this.validator;
21
- }
22
- storeGenericItem(item) {
23
- if (utils.isTask(item)) {
24
- this.storeTask(item);
25
- }
26
- else if (utils.isHook && utils.isHook(item)) {
27
- this.storeHook(item);
28
- }
29
- else if (utils.isResource(item)) {
30
- this.storeResource(item);
31
- }
32
- else if (utils.isEvent(item)) {
33
- this.storeEvent(item);
34
- }
35
- else if (utils.isTaskMiddleware(item)) {
36
- this.storeTaskMiddleware(item);
37
- }
38
- else if (utils.isResourceMiddleware(item)) {
39
- this.storeResourceMiddleware(item);
40
- }
41
- else if (utils.isResourceWithConfig(item)) {
42
- this.storeResourceWithConfig(item);
43
- }
44
- else if (utils.isTag(item)) {
45
- this.storeTag(item);
46
- }
47
- else {
48
- throw new errors_1.UnknownItemTypeError(item);
49
- }
50
- }
51
- storeTag(item) {
52
- this.validator.checkIfIDExists(item.id);
53
- this.tags.set(item.id, item);
54
- }
55
- storeHook(item, overrideMode = "normal") {
56
- overrideMode === "normal" && this.validator.checkIfIDExists(item.id);
57
- const hook = this.getFreshValue(item, this.hooks, "hook", overrideMode);
58
- // store separately
59
- this.hooks.set(hook.id, {
60
- hook,
61
- computedDependencies: {},
62
- });
63
- }
64
- storeTaskMiddleware(item, storingMode = "normal") {
65
- storingMode === "normal" && this.validator.checkIfIDExists(item.id);
66
- const middleware = this.getFreshValue(item, this.taskMiddlewares, "middleware", storingMode);
67
- this.taskMiddlewares.set(item.id, {
68
- middleware,
69
- computedDependencies: {},
70
- isInitialized: false,
71
- });
72
- }
73
- storeResourceMiddleware(item, overrideMode = "normal") {
74
- overrideMode === "normal" && this.validator.checkIfIDExists(item.id);
75
- const middleware = this.getFreshValue(item, this.resourceMiddlewares, "middleware", overrideMode);
76
- this.resourceMiddlewares.set(item.id, {
77
- middleware,
78
- computedDependencies: {},
79
- isInitialized: false,
80
- });
81
- }
82
- storeEvent(item) {
83
- this.validator.checkIfIDExists(item.id);
84
- this.events.set(item.id, { event: item });
85
- }
86
- storeResourceWithConfig(item, storingMode = "normal") {
87
- storingMode === "normal" &&
88
- this.validator.checkIfIDExists(item.resource.id);
89
- const prepared = this.getFreshValue(item.resource, this.resources, "resource", storingMode, item.config);
90
- this.resources.set(prepared.id, {
91
- resource: prepared,
92
- config: item.config,
93
- value: undefined,
94
- isInitialized: false,
95
- context: {},
96
- });
97
- this.computeRegistrationDeeply(prepared, item.config);
98
- return prepared;
99
- }
100
- computeRegistrationDeeply(element, config) {
101
- const items = typeof element.register === "function"
102
- ? element.register(config)
103
- : element.register;
104
- element.register = items;
105
- for (const item of items) {
106
- // will call registration if it detects another resource.
107
- this.storeGenericItem(item);
108
- }
109
- }
110
- storeResource(item, overrideMode = "normal") {
111
- overrideMode === "normal" && this.validator.checkIfIDExists(item.id);
112
- const prepared = this.getFreshValue(item, this.resources, "resource", overrideMode);
113
- this.resources.set(prepared.id, {
114
- resource: prepared,
115
- config: {},
116
- value: undefined,
117
- isInitialized: false,
118
- context: prepared.context?.() || {},
119
- });
120
- this.computeRegistrationDeeply(prepared, {});
121
- return prepared;
122
- }
123
- storeTask(item, storingMode = "normal") {
124
- storingMode === "normal" && this.validator.checkIfIDExists(item.id);
125
- const task = this.getFreshValue(item, this.tasks, "task", storingMode);
126
- this.tasks.set(task.id, {
127
- task,
128
- computedDependencies: {},
129
- isInitialized: false,
130
- });
131
- }
132
- // Feels like a dependencyProcessor task?
133
- getDependentNodes() {
134
- const depenedants = [];
135
- // First, create all nodes
136
- const nodeMap = new Map();
137
- // Create nodes for tasks
138
- this.setupBlankNodes(nodeMap, depenedants);
139
- // Now, populate dependencies with references to actual nodes
140
- for (const task of this.tasks.values()) {
141
- const node = nodeMap.get(task.task.id);
142
- // Add task dependencies
143
- if (task.task.dependencies) {
144
- for (const [depKey, depItem] of Object.entries(task.task.dependencies)) {
145
- const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
146
- const depNode = nodeMap.get(candidate.id);
147
- if (depNode) {
148
- node.dependencies[depKey] = depNode;
149
- }
150
- }
151
- }
152
- // Add local middleware dependencies for tasks (hooks have no middleware)
153
- const t = task.task;
154
- for (const middleware of t.middleware) {
155
- const middlewareNode = nodeMap.get(middleware.id);
156
- if (middlewareNode) {
157
- node.dependencies[middleware.id] = middlewareNode;
158
- }
159
- }
160
- }
161
- // Populate task middleware dependencies
162
- for (const storeTaskMiddleware of this.taskMiddlewares.values()) {
163
- const node = nodeMap.get(storeTaskMiddleware.middleware.id);
164
- const { middleware } = storeTaskMiddleware;
165
- if (middleware.dependencies) {
166
- for (const [depKey, depItem] of Object.entries(middleware.dependencies)) {
167
- const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
168
- const depNode = nodeMap.get(candidate.id);
169
- if (depNode) {
170
- node.dependencies[depKey] = depNode;
171
- }
172
- }
173
- }
174
- if (middleware.everywhere) {
175
- const filter = typeof middleware.everywhere === "function"
176
- ? middleware.everywhere
177
- : () => true;
178
- for (const task of this.tasks.values()) {
179
- if (filter(task.task)) {
180
- const taskNode = nodeMap.get(task.task.id);
181
- // node.dependencies[task.task.id] = taskNode;
182
- taskNode.dependencies[`__middleware.${middleware.id}`] = node;
183
- }
184
- }
185
- }
186
- }
187
- // Populate resource middleware dependencies
188
- for (const storeResourceMiddleware of this.resourceMiddlewares.values()) {
189
- const node = nodeMap.get(storeResourceMiddleware.middleware.id);
190
- const { middleware } = storeResourceMiddleware;
191
- if (middleware.dependencies) {
192
- for (const [depKey, depItem] of Object.entries(middleware.dependencies)) {
193
- const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
194
- const depNode = nodeMap.get(candidate.id);
195
- if (depNode) {
196
- node.dependencies[depKey] = depNode;
197
- }
198
- }
199
- }
200
- if (middleware.everywhere) {
201
- const filter = typeof middleware.everywhere === "function"
202
- ? middleware.everywhere
203
- : () => true;
204
- for (const resource of this.resources.values()) {
205
- if (filter(resource.resource)) {
206
- const resourceNode = nodeMap.get(resource.resource.id);
207
- // node.dependencies[resource.resource.id] = resourceNode;
208
- resourceNode.dependencies[`__middleware.${middleware.id}`] = node;
209
- }
210
- }
211
- }
212
- }
213
- // Populate resource dependencies
214
- for (const resource of this.resources.values()) {
215
- const node = nodeMap.get(resource.resource.id);
216
- // Add resource dependencies
217
- if (resource.resource.dependencies) {
218
- for (const [depKey, depItem] of Object.entries(resource.resource.dependencies)) {
219
- const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
220
- const depNode = nodeMap.get(candidate.id);
221
- if (depNode) {
222
- node.dependencies[depKey] = depNode;
223
- }
224
- }
225
- }
226
- // Add local middleware dependencies
227
- for (const middleware of resource.resource.middleware) {
228
- const middlewareNode = nodeMap.get(middleware.id);
229
- if (middlewareNode) {
230
- node.dependencies[middleware.id] = middlewareNode;
231
- }
232
- }
233
- }
234
- for (const hook of this.hooks.values()) {
235
- const node = nodeMap.get(hook.hook.id);
236
- if (hook.hook.dependencies) {
237
- for (const [depKey, depItem] of Object.entries(hook.hook.dependencies)) {
238
- const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
239
- const depNode = nodeMap.get(candidate.id);
240
- if (depNode) {
241
- node.dependencies[depKey] = depNode;
242
- }
243
- }
244
- }
245
- }
246
- return depenedants;
247
- }
248
- /**
249
- * Builds a directed graph of event emissions based on hooks listening to events
250
- * and their dependencies on events (emission capability). Ignores wildcard hooks by default.
251
- */
252
- buildEventEmissionGraph() {
253
- const nodes = new Map();
254
- // Create nodes for all events
255
- for (const e of this.events.values()) {
256
- nodes.set(e.event.id, { id: e.event.id, dependencies: {} });
257
- }
258
- // For each hook, if it listens to concrete event(s) and depends on events, add edges listenedEvent -> depEvent
259
- for (const h of this.hooks.values()) {
260
- const listened = [];
261
- const on = h.hook.on;
262
- if (on === "*")
263
- continue; // avoid over-reporting for global hooks
264
- if (Array.isArray(on))
265
- listened.push(...on.map((e) => e.id));
266
- else
267
- listened.push(on.id);
268
- // Collect event dependencies from the hook
269
- const depEvents = [];
270
- const deps = h.hook.dependencies;
271
- if (deps) {
272
- for (const value of Object.values(deps)) {
273
- const candidate = utils.isOptional(value) ? value.inner : value;
274
- if (candidate && utils.isEvent(candidate)) {
275
- depEvents.push(candidate.id);
276
- }
277
- }
278
- }
279
- // Add edges
280
- for (const srcId of listened) {
281
- const srcNode = nodes.get(srcId);
282
- if (!srcNode)
283
- continue; // skip unknown/unregistered events
284
- for (const dstId of depEvents) {
285
- if (srcId === dstId)
286
- continue; // ignore trivial self edge
287
- const dstNode = nodes.get(dstId);
288
- if (dstNode) {
289
- srcNode.dependencies[dstId] = dstNode;
290
- }
291
- }
292
- }
293
- }
294
- return Array.from(nodes.values());
295
- }
296
- setupBlankNodes(nodeMap, depenedants) {
297
- for (const task of this.tasks.values()) {
298
- const node = {
299
- id: task.task.id,
300
- dependencies: {},
301
- };
302
- nodeMap.set(task.task.id, node);
303
- depenedants.push(node);
304
- }
305
- for (const middleware of this.taskMiddlewares.values()) {
306
- const node = {
307
- id: middleware.middleware.id,
308
- dependencies: {},
309
- };
310
- nodeMap.set(middleware.middleware.id, node);
311
- depenedants.push(node);
312
- }
313
- for (const middleware of this.resourceMiddlewares.values()) {
314
- const node = {
315
- id: middleware.middleware.id,
316
- dependencies: {},
317
- };
318
- nodeMap.set(middleware.middleware.id, node);
319
- depenedants.push(node);
320
- }
321
- // Create nodes for resources
322
- for (const resource of this.resources.values()) {
323
- const node = {
324
- id: resource.resource.id,
325
- dependencies: {},
326
- };
327
- nodeMap.set(resource.resource.id, node);
328
- depenedants.push(node);
329
- }
330
- for (const hook of this.hooks.values()) {
331
- const node = {
332
- id: hook.hook.id,
333
- dependencies: {},
334
- };
335
- nodeMap.set(hook.hook.id, node);
336
- depenedants.push(node);
337
- }
338
- }
339
- getTasksWithTag(tag) {
340
- const tagId = typeof tag === "string" ? tag : tag.id;
341
- return Array.from(this.tasks.values())
342
- .filter((x) => {
343
- return x.task.tags.some((t) => t.id === tagId);
344
- })
345
- .map((x) => x.task);
346
- }
347
- getResourcesWithTag(tag) {
348
- const tagId = typeof tag === "string" ? tag : tag.id;
349
- return Array.from(this.resources.values())
350
- .filter((x) => {
351
- return x.resource.tags.some((t) => t.id === tagId);
352
- })
353
- .map((x) => x.resource);
354
- }
355
- /**
356
- * Used to fetch the value cloned, and if we're dealing with an override, we need to extend the previous value.
357
- */
358
- getFreshValue(item, collection, key, overrideMode, config) {
359
- let currentItem;
360
- if (overrideMode === "override") {
361
- const existing = collection.get(item.id)[key];
362
- currentItem = { ...existing, ...item };
363
- }
364
- else {
365
- currentItem = { ...item };
366
- }
367
- currentItem.dependencies =
368
- typeof currentItem.dependencies === "function"
369
- ? currentItem.dependencies(config || currentItem.config)
370
- : currentItem.dependencies;
371
- return currentItem;
372
- }
373
- }
374
- exports.StoreRegistry = StoreRegistry;
375
- //# sourceMappingURL=StoreRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StoreRegistry.js","sourceRoot":"","sources":["../../src/models/StoreRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { StoreRegistry } from "./StoreRegistry";
2
- export declare class StoreValidator {
3
- private registry;
4
- constructor(registry: StoreRegistry);
5
- checkIfIDExists(id: string): void | never;
6
- runSanityChecks(): void;
7
- ensureAllTagsUsedAreRegistered(): void;
8
- }
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StoreValidator = void 0;
4
- const errors_1 = require("../errors");
5
- class StoreValidator {
6
- constructor(registry) {
7
- this.registry = registry;
8
- }
9
- checkIfIDExists(id) {
10
- if (this.registry.tasks.has(id)) {
11
- throw new errors_1.DuplicateRegistrationError("Task", id);
12
- }
13
- if (this.registry.resources.has(id)) {
14
- throw new errors_1.DuplicateRegistrationError("Resource", id);
15
- }
16
- if (this.registry.events.has(id)) {
17
- throw new errors_1.DuplicateRegistrationError("Event", id);
18
- }
19
- if (this.registry.taskMiddlewares.has(id)) {
20
- throw new errors_1.DuplicateRegistrationError("Middleware", id);
21
- }
22
- if (this.registry.resourceMiddlewares.has(id)) {
23
- throw new errors_1.DuplicateRegistrationError("Middleware", id);
24
- }
25
- if (this.registry.tags.has(id)) {
26
- throw new errors_1.DuplicateRegistrationError("Tag", id);
27
- }
28
- if (this.registry.hooks.has(id)) {
29
- throw new errors_1.DuplicateRegistrationError("Hook", id);
30
- }
31
- }
32
- runSanityChecks() {
33
- for (const task of this.registry.tasks.values()) {
34
- const middlewares = task.task.middleware;
35
- middlewares.forEach((middlewareAttachment) => {
36
- if (!this.registry.taskMiddlewares.has(middlewareAttachment.id)) {
37
- throw new errors_1.MiddlewareNotRegisteredError("task", task.task.id, middlewareAttachment.id);
38
- }
39
- });
40
- }
41
- for (const resource of this.registry.resources.values()) {
42
- const middlewares = resource.resource.middleware;
43
- middlewares.forEach((middlewareAttachment) => {
44
- if (!this.registry.resourceMiddlewares.has(middlewareAttachment.id)) {
45
- throw new errors_1.MiddlewareNotRegisteredError("resource", resource.resource.id, middlewareAttachment.id);
46
- }
47
- });
48
- }
49
- this.ensureAllTagsUsedAreRegistered();
50
- }
51
- ensureAllTagsUsedAreRegistered() {
52
- const taggables = [
53
- ...Array.from(this.registry.tasks.values()).map((x) => x.task),
54
- ...Array.from(this.registry.resources.values()).map((x) => x.resource),
55
- ...Array.from(this.registry.events.values()).map((x) => x.event),
56
- ...Array.from(this.registry.taskMiddlewares.values()).map((x) => x.middleware),
57
- ...Array.from(this.registry.resourceMiddlewares.values()).map((x) => x.middleware),
58
- ...Array.from(this.registry.hooks.values()).map((x) => x.hook),
59
- ];
60
- for (const taggable of taggables) {
61
- const tags = taggable.tags;
62
- if (tags) {
63
- for (const tag of tags) {
64
- if (!this.registry.tags.has(tag.id)) {
65
- throw new errors_1.TagNotFoundError(tag.id);
66
- }
67
- }
68
- }
69
- }
70
- }
71
- }
72
- exports.StoreValidator = StoreValidator;
73
- //# sourceMappingURL=StoreValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StoreValidator.js","sourceRoot":"","sources":["../../src/models/StoreValidator.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { DependencyMapType, ITask } from "../defs";
2
- import { EventManager } from "./EventManager";
3
- import { Store } from "./Store";
4
- import { Logger } from "./Logger";
5
- export declare class TaskRunner {
6
- protected readonly store: Store;
7
- protected readonly eventManager: EventManager;
8
- protected readonly logger: Logger;
9
- protected readonly runnerStore: Map<string | symbol, (input: any) => Promise<any>>;
10
- constructor(store: Store, eventManager: EventManager, logger: Logger);
11
- private readonly middlewareManager;
12
- /**
13
- * Begins the execution of an task. These are registered tasks and all sanity checks have been performed at this stage to ensure consistency of the object.
14
- * This function can throw only if any of the event listeners or run function throws
15
- * @param task the task to be run
16
- * @param input the input to be passed to the task
17
- */
18
- run<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>, input?: TInput): Promise<TOutput | undefined>;
19
- /**
20
- * Creates the function with the chain of middleware.
21
- * @param task
22
- * @param input
23
- * @param taskDependencies
24
- * @returns
25
- */
26
- protected createRunnerWithMiddleware<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>): (input: any) => Promise<TOutput | (TOutput extends Promise<infer U> ? U : never)>;
27
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskRunner = void 0;
4
- class TaskRunner {
5
- constructor(store, eventManager, logger) {
6
- this.store = store;
7
- this.eventManager = eventManager;
8
- this.logger = logger;
9
- this.runnerStore = new Map();
10
- // Use the same MiddlewareManager instance from the Store so that
11
- // any interceptors registered via resources (like debug) affect task runs.
12
- this.middlewareManager = this.store.getMiddlewareManager();
13
- }
14
- /**
15
- * Begins the execution of an task. These are registered tasks and all sanity checks have been performed at this stage to ensure consistency of the object.
16
- * This function can throw only if any of the event listeners or run function throws
17
- * @param task the task to be run
18
- * @param input the input to be passed to the task
19
- */
20
- async run(task, input) {
21
- let runner = this.runnerStore.get(task.id);
22
- if (!runner) {
23
- runner = this.createRunnerWithMiddleware(task);
24
- this.runnerStore.set(task.id, runner);
25
- }
26
- try {
27
- return await runner(input);
28
- }
29
- catch (error) {
30
- try {
31
- await this.store.onUnhandledError({
32
- error,
33
- kind: "task",
34
- source: task.id,
35
- });
36
- }
37
- catch (_) { }
38
- throw error;
39
- }
40
- }
41
- /**
42
- * Creates the function with the chain of middleware.
43
- * @param task
44
- * @param input
45
- * @param taskDependencies
46
- * @returns
47
- */
48
- createRunnerWithMiddleware(task) {
49
- return this.middlewareManager.composeTaskRunner(task);
50
- }
51
- }
52
- exports.TaskRunner = TaskRunner;
53
- //# sourceMappingURL=TaskRunner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/models/TaskRunner.ts"],"names":[],"mappings":";;;AAQA,MAAa,UAAU;IAMrB,YACqB,KAAY,EACZ,YAA0B,EAC1B,MAAc;QAFd,UAAK,GAAL,KAAK,CAAO;QACZ,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QARhB,gBAAW,GAAG,IAAI,GAAG,EAGrC,CAAC;QAOF,iEAAiE;QACjE,2EAA2E;QAC3E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC7D,CAAC;IAID;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAKd,IAAmC,EACnC,KAAc;QAEd,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAyB,IAAI,CAAC,CAAC;YAEvE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBAChC,KAAK;oBACL,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,IAAI,CAAC,EAAE;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YACd,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,0BAA0B,CAIlC,IAAmC;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;CACF;AAnED,gCAmEC"}
@@ -1,11 +0,0 @@
1
- import { Logger } from "./Logger";
2
- export type UnhandledErrorKind = "process" | "task" | "middleware" | "resourceInit" | "hook" | "run";
3
- export interface OnUnhandledErrorInfo {
4
- error: unknown;
5
- kind?: UnhandledErrorKind;
6
- source?: string;
7
- }
8
- export type OnUnhandledError = (info: OnUnhandledErrorInfo) => void | Promise<void>;
9
- export declare function createDefaultUnhandledError(logger: Logger): OnUnhandledError;
10
- export declare function bindProcessErrorHandler(handler: OnUnhandledError): (error: unknown, source: "uncaughtException" | "unhandledRejection") => void | Promise<void>;
11
- export declare function safeReportUnhandledError(handler: OnUnhandledError, info: OnUnhandledErrorInfo): Promise<void>;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDefaultUnhandledError = createDefaultUnhandledError;
4
- exports.bindProcessErrorHandler = bindProcessErrorHandler;
5
- exports.safeReportUnhandledError = safeReportUnhandledError;
6
- function createDefaultUnhandledError(logger) {
7
- return async ({ error, kind, source }) => {
8
- const normalizedError = error instanceof Error ? error : new Error(String(error));
9
- await logger.error(`${normalizedError.toString()}`, {
10
- source,
11
- error: normalizedError,
12
- data: {
13
- kind,
14
- },
15
- });
16
- };
17
- }
18
- function bindProcessErrorHandler(handler) {
19
- return async (error, source) => {
20
- try {
21
- await handler({ error, kind: "process", source });
22
- }
23
- catch { }
24
- };
25
- }
26
- async function safeReportUnhandledError(handler, info) {
27
- try {
28
- await handler(info);
29
- }
30
- catch { }
31
- }
32
- //# sourceMappingURL=UnhandledError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnhandledError.js","sourceRoot":"","sources":["../../src/models/UnhandledError.ts"],"names":[],"mappings":";;AAoBA,kEAaC;AAED,0DAWC;AAED,4DAOC;AAnCD,SAAgB,2BAA2B,CAAC,MAAc;IACxD,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAwB,EAAE,EAAE;QAC7D,MAAM,eAAe,GACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5D,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM;YACN,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE;gBACJ,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAyB;IAKzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,OAAyB,EACzB,IAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC"}
@@ -1,11 +0,0 @@
1
- export * from "./DependencyProcessor";
2
- export * from "./EventManager";
3
- export * from "./Logger";
4
- export * from "./Store";
5
- export * from "./TaskRunner";
6
- export * from "./ResourceInitializer";
7
- export * from "./MiddlewareManager";
8
- export * from "./Semaphore";
9
- export * from "./Queue";
10
- export * from "./UnhandledError";
11
- export * from "./RunResult";