@bluelibs/runner 3.4.2 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/AI.md +621 -0
  2. package/README.md +1024 -577
  3. package/dist/context.d.ts +4 -8
  4. package/dist/context.js +5 -12
  5. package/dist/context.js.map +1 -1
  6. package/dist/define.d.ts +9 -113
  7. package/dist/define.js +29 -358
  8. package/dist/define.js.map +1 -1
  9. package/dist/definers/defineEvent.d.ts +2 -0
  10. package/dist/definers/defineEvent.js +23 -0
  11. package/dist/definers/defineEvent.js.map +1 -0
  12. package/dist/definers/defineHook.d.ts +6 -0
  13. package/dist/definers/defineHook.js +24 -0
  14. package/dist/definers/defineHook.js.map +1 -0
  15. package/dist/definers/defineOverride.d.ts +14 -0
  16. package/dist/definers/defineOverride.js +13 -0
  17. package/dist/definers/defineOverride.js.map +1 -0
  18. package/dist/definers/defineResource.d.ts +2 -0
  19. package/dist/definers/defineResource.js +69 -0
  20. package/dist/definers/defineResource.js.map +1 -0
  21. package/dist/definers/defineResourceMiddleware.d.ts +2 -0
  22. package/dist/definers/defineResourceMiddleware.js +42 -0
  23. package/dist/definers/defineResourceMiddleware.js.map +1 -0
  24. package/dist/definers/defineTag.d.ts +12 -0
  25. package/dist/definers/defineTag.js +106 -0
  26. package/dist/definers/defineTag.js.map +1 -0
  27. package/dist/definers/defineTask.d.ts +15 -0
  28. package/dist/definers/defineTask.js +42 -0
  29. package/dist/definers/defineTask.js.map +1 -0
  30. package/dist/definers/defineTaskMiddleware.d.ts +2 -0
  31. package/dist/definers/defineTaskMiddleware.js +42 -0
  32. package/dist/definers/defineTaskMiddleware.js.map +1 -0
  33. package/dist/definers/tools.d.ts +45 -0
  34. package/dist/definers/tools.js +75 -0
  35. package/dist/definers/tools.js.map +1 -0
  36. package/dist/defs.d.ts +16 -424
  37. package/dist/defs.js +26 -38
  38. package/dist/defs.js.map +1 -1
  39. package/dist/errors.d.ts +23 -8
  40. package/dist/errors.js +50 -10
  41. package/dist/errors.js.map +1 -1
  42. package/dist/globals/globalEvents.d.ts +15 -39
  43. package/dist/globals/globalEvents.js +20 -81
  44. package/dist/globals/globalEvents.js.map +1 -1
  45. package/dist/globals/globalMiddleware.d.ts +24 -17
  46. package/dist/globals/globalMiddleware.js +12 -4
  47. package/dist/globals/globalMiddleware.js.map +1 -1
  48. package/dist/globals/globalResources.d.ts +13 -28
  49. package/dist/globals/globalResources.js +15 -7
  50. package/dist/globals/globalResources.js.map +1 -1
  51. package/dist/globals/globalTags.d.ts +9 -0
  52. package/dist/globals/globalTags.js +23 -0
  53. package/dist/globals/globalTags.js.map +1 -0
  54. package/dist/globals/middleware/cache.middleware.d.ts +10 -17
  55. package/dist/globals/middleware/cache.middleware.js +4 -16
  56. package/dist/globals/middleware/cache.middleware.js.map +1 -1
  57. package/dist/globals/middleware/requireContext.middleware.d.ts +1 -1
  58. package/dist/globals/middleware/requireContext.middleware.js +5 -14
  59. package/dist/globals/middleware/requireContext.middleware.js.map +1 -1
  60. package/dist/globals/middleware/retry.middleware.d.ts +2 -1
  61. package/dist/globals/middleware/retry.middleware.js +32 -5
  62. package/dist/globals/middleware/retry.middleware.js.map +1 -1
  63. package/dist/globals/middleware/timeout.middleware.d.ts +2 -1
  64. package/dist/globals/middleware/timeout.middleware.js +31 -5
  65. package/dist/globals/middleware/timeout.middleware.js.map +1 -1
  66. package/dist/globals/resources/debug/debug.resource.d.ts +7 -0
  67. package/dist/globals/resources/debug/debug.resource.js +29 -0
  68. package/dist/globals/resources/debug/debug.resource.js.map +1 -0
  69. package/dist/globals/resources/debug/debug.tag.d.ts +2 -0
  70. package/dist/globals/resources/debug/debug.tag.js +12 -0
  71. package/dist/globals/resources/debug/debug.tag.js.map +1 -0
  72. package/dist/globals/resources/debug/debugConfig.resource.d.ts +22 -0
  73. package/dist/globals/resources/debug/debugConfig.resource.js +20 -0
  74. package/dist/globals/resources/debug/debugConfig.resource.js.map +1 -0
  75. package/dist/globals/resources/debug/executionTracker.middleware.d.ts +50 -0
  76. package/dist/globals/resources/debug/executionTracker.middleware.js +87 -0
  77. package/dist/globals/resources/debug/executionTracker.middleware.js.map +1 -0
  78. package/dist/globals/resources/debug/globalEvent.hook.d.ts +27 -0
  79. package/dist/globals/resources/debug/globalEvent.hook.js +38 -0
  80. package/dist/globals/resources/debug/globalEvent.hook.js.map +1 -0
  81. package/dist/globals/resources/debug/hook.hook.d.ts +25 -0
  82. package/dist/globals/resources/debug/hook.hook.js +42 -0
  83. package/dist/globals/resources/debug/hook.hook.js.map +1 -0
  84. package/dist/globals/resources/debug/index.d.ts +6 -0
  85. package/dist/{types → globals/resources/debug}/index.js +6 -11
  86. package/dist/globals/resources/debug/index.js.map +1 -0
  87. package/dist/globals/resources/debug/middleware.hook.d.ts +25 -0
  88. package/dist/globals/resources/debug/middleware.hook.js +71 -0
  89. package/dist/globals/resources/debug/middleware.hook.js.map +1 -0
  90. package/dist/globals/resources/debug/types.d.ts +25 -0
  91. package/dist/globals/resources/debug/types.js +65 -0
  92. package/dist/globals/resources/debug/types.js.map +1 -0
  93. package/dist/globals/resources/debug/utils.d.ts +2 -0
  94. package/dist/globals/resources/debug/utils.js +9 -0
  95. package/dist/globals/resources/debug/utils.js.map +1 -0
  96. package/dist/globals/resources/queue.resource.d.ts +3 -3
  97. package/dist/globals/resources/queue.resource.js.map +1 -1
  98. package/dist/globals/types.d.ts +1 -0
  99. package/dist/{task.types.js → globals/types.js} +2 -7
  100. package/dist/globals/types.js.map +1 -0
  101. package/dist/index.d.ts +58 -85
  102. package/dist/index.js +23 -10
  103. package/dist/index.js.map +1 -1
  104. package/dist/models/DependencyProcessor.d.ts +8 -6
  105. package/dist/models/DependencyProcessor.js +116 -33
  106. package/dist/models/DependencyProcessor.js.map +1 -1
  107. package/dist/models/EventManager.d.ts +127 -7
  108. package/dist/models/EventManager.js +251 -78
  109. package/dist/models/EventManager.js.map +1 -1
  110. package/dist/models/LogPrinter.d.ts +55 -0
  111. package/dist/models/LogPrinter.js +196 -0
  112. package/dist/models/LogPrinter.js.map +1 -0
  113. package/dist/models/Logger.d.ts +47 -27
  114. package/dist/models/Logger.js +133 -155
  115. package/dist/models/Logger.js.map +1 -1
  116. package/dist/models/MiddlewareManager.d.ts +86 -0
  117. package/dist/models/MiddlewareManager.js +409 -0
  118. package/dist/models/MiddlewareManager.js.map +1 -0
  119. package/dist/models/OverrideManager.d.ts +3 -3
  120. package/dist/models/OverrideManager.js +22 -7
  121. package/dist/models/OverrideManager.js.map +1 -1
  122. package/dist/models/ResourceInitializer.d.ts +4 -3
  123. package/dist/models/ResourceInitializer.js +12 -68
  124. package/dist/models/ResourceInitializer.js.map +1 -1
  125. package/dist/models/RunResult.d.ts +35 -0
  126. package/dist/models/RunResult.js +68 -0
  127. package/dist/models/RunResult.js.map +1 -0
  128. package/dist/models/Store.d.ts +30 -17
  129. package/dist/models/Store.js +87 -25
  130. package/dist/models/Store.js.map +1 -1
  131. package/dist/models/StoreRegistry.d.ts +34 -19
  132. package/dist/models/StoreRegistry.js +248 -100
  133. package/dist/models/StoreRegistry.js.map +1 -1
  134. package/dist/models/StoreValidator.d.ts +5 -7
  135. package/dist/models/StoreValidator.js +50 -17
  136. package/dist/models/StoreValidator.js.map +1 -1
  137. package/dist/models/TaskRunner.d.ts +3 -2
  138. package/dist/models/TaskRunner.js +6 -103
  139. package/dist/models/TaskRunner.js.map +1 -1
  140. package/dist/models/UnhandledError.d.ts +11 -0
  141. package/dist/models/UnhandledError.js +30 -0
  142. package/dist/models/UnhandledError.js.map +1 -0
  143. package/dist/models/index.d.ts +3 -0
  144. package/dist/models/index.js +3 -0
  145. package/dist/models/index.js.map +1 -1
  146. package/dist/{tools → models/utils}/findCircularDependencies.js +8 -16
  147. package/dist/models/utils/findCircularDependencies.js.map +1 -0
  148. package/dist/models/utils/safeStringify.d.ts +3 -0
  149. package/dist/models/utils/safeStringify.js +45 -0
  150. package/dist/models/utils/safeStringify.js.map +1 -0
  151. package/dist/processHooks.d.ts +2 -0
  152. package/dist/processHooks.js +70 -0
  153. package/dist/processHooks.js.map +1 -0
  154. package/dist/run.d.ts +14 -27
  155. package/dist/run.js +100 -36
  156. package/dist/run.js.map +1 -1
  157. package/dist/testing.d.ts +5 -4
  158. package/dist/testing.js +3 -2
  159. package/dist/testing.js.map +1 -1
  160. package/dist/tools/getCallerFile.d.ts +0 -8
  161. package/dist/tools/getCallerFile.js +0 -51
  162. package/dist/tools/getCallerFile.js.map +1 -1
  163. package/dist/types/contracts.d.ts +55 -0
  164. package/dist/types/contracts.js +4 -0
  165. package/dist/types/contracts.js.map +1 -0
  166. package/dist/types/event.d.ts +26 -7
  167. package/dist/types/event.js +1 -1
  168. package/dist/types/event.js.map +1 -1
  169. package/dist/types/hook.d.ts +21 -0
  170. package/dist/{models/StoreTypes.js → types/hook.js} +2 -1
  171. package/dist/types/hook.js.map +1 -0
  172. package/dist/types/meta.d.ts +6 -1
  173. package/dist/types/meta.js +4 -2
  174. package/dist/types/meta.js.map +1 -1
  175. package/dist/types/resource.d.ts +40 -52
  176. package/dist/types/resource.js +1 -0
  177. package/dist/types/resource.js.map +1 -1
  178. package/dist/types/resourceMiddleware.d.ts +47 -0
  179. package/dist/{middleware.types.js → types/resourceMiddleware.js} +1 -1
  180. package/dist/types/resourceMiddleware.js.map +1 -0
  181. package/dist/types/runner.d.ts +37 -0
  182. package/dist/types/{base.js → runner.js} +1 -1
  183. package/dist/types/runner.js.map +1 -0
  184. package/dist/types/storeTypes.d.ts +40 -0
  185. package/dist/types/{metadata.js → storeTypes.js} +1 -1
  186. package/dist/types/storeTypes.js.map +1 -0
  187. package/dist/types/symbols.d.ts +10 -21
  188. package/dist/types/symbols.js +17 -22
  189. package/dist/types/symbols.js.map +1 -1
  190. package/dist/types/tag.d.ts +46 -0
  191. package/dist/{resource.types.js → types/tag.js} +2 -1
  192. package/dist/types/tag.js.map +1 -0
  193. package/dist/types/task.d.ts +28 -52
  194. package/dist/types/task.js +1 -0
  195. package/dist/types/task.js.map +1 -1
  196. package/dist/types/taskMiddleware.d.ts +48 -0
  197. package/dist/{event.types.js → types/taskMiddleware.js} +1 -1
  198. package/dist/types/taskMiddleware.js.map +1 -0
  199. package/dist/types/utilities.d.ts +105 -6
  200. package/dist/types/utilities.js +16 -2
  201. package/dist/types/utilities.js.map +1 -1
  202. package/package.json +14 -5
  203. package/dist/cli/extract-docs.d.ts +0 -2
  204. package/dist/cli/extract-docs.js +0 -88
  205. package/dist/cli/extract-docs.js.map +0 -1
  206. package/dist/common.types.d.ts +0 -20
  207. package/dist/common.types.js +0 -4
  208. package/dist/common.types.js.map +0 -1
  209. package/dist/defs/core.d.ts +0 -144
  210. package/dist/defs/core.js +0 -6
  211. package/dist/defs/core.js.map +0 -1
  212. package/dist/defs/symbols.d.ts +0 -42
  213. package/dist/defs/symbols.js +0 -45
  214. package/dist/defs/symbols.js.map +0 -1
  215. package/dist/defs/tags.d.ts +0 -70
  216. package/dist/defs/tags.js +0 -6
  217. package/dist/defs/tags.js.map +0 -1
  218. package/dist/defs.returnTag.d.ts +0 -36
  219. package/dist/defs.returnTag.js +0 -4
  220. package/dist/defs.returnTag.js.map +0 -1
  221. package/dist/docs/introspect.d.ts +0 -7
  222. package/dist/docs/introspect.js +0 -199
  223. package/dist/docs/introspect.js.map +0 -1
  224. package/dist/docs/markdown.d.ts +0 -2
  225. package/dist/docs/markdown.js +0 -148
  226. package/dist/docs/markdown.js.map +0 -1
  227. package/dist/docs/model.d.ts +0 -62
  228. package/dist/docs/model.js +0 -33
  229. package/dist/docs/model.js.map +0 -1
  230. package/dist/event.types.d.ts +0 -18
  231. package/dist/event.types.js.map +0 -1
  232. package/dist/examples/express-mongo/index.d.ts +0 -0
  233. package/dist/examples/express-mongo/index.js +0 -3
  234. package/dist/examples/express-mongo/index.js.map +0 -1
  235. package/dist/examples/registrator-example.d.ts +0 -122
  236. package/dist/examples/registrator-example.js +0 -147
  237. package/dist/examples/registrator-example.js.map +0 -1
  238. package/dist/express/docsRouter.d.ts +0 -12
  239. package/dist/express/docsRouter.js +0 -54
  240. package/dist/express/docsRouter.js.map +0 -1
  241. package/dist/globalEvents.d.ts +0 -40
  242. package/dist/globalEvents.js +0 -94
  243. package/dist/globalEvents.js.map +0 -1
  244. package/dist/globalResources.d.ts +0 -10
  245. package/dist/globalResources.js +0 -43
  246. package/dist/globalResources.js.map +0 -1
  247. package/dist/middleware.types.d.ts +0 -40
  248. package/dist/middleware.types.js.map +0 -1
  249. package/dist/models/StoreConstants.d.ts +0 -14
  250. package/dist/models/StoreConstants.js +0 -19
  251. package/dist/models/StoreConstants.js.map +0 -1
  252. package/dist/models/StoreTypes.d.ts +0 -21
  253. package/dist/models/StoreTypes.js.map +0 -1
  254. package/dist/models/VarStore.d.ts +0 -17
  255. package/dist/models/VarStore.js +0 -60
  256. package/dist/models/VarStore.js.map +0 -1
  257. package/dist/resource.types.d.ts +0 -31
  258. package/dist/resource.types.js.map +0 -1
  259. package/dist/symbols.d.ts +0 -24
  260. package/dist/symbols.js +0 -29
  261. package/dist/symbols.js.map +0 -1
  262. package/dist/t1.d.ts +0 -1
  263. package/dist/t1.js +0 -13
  264. package/dist/t1.js.map +0 -1
  265. package/dist/task.types.d.ts +0 -55
  266. package/dist/task.types.js.map +0 -1
  267. package/dist/tools/findCircularDependencies.js.map +0 -1
  268. package/dist/tools/registratorId.d.ts +0 -4
  269. package/dist/tools/registratorId.js +0 -40
  270. package/dist/tools/registratorId.js.map +0 -1
  271. package/dist/tools/simpleHash.d.ts +0 -9
  272. package/dist/tools/simpleHash.js +0 -34
  273. package/dist/tools/simpleHash.js.map +0 -1
  274. package/dist/types/base-interfaces.d.ts +0 -18
  275. package/dist/types/base-interfaces.js +0 -6
  276. package/dist/types/base-interfaces.js.map +0 -1
  277. package/dist/types/base.d.ts +0 -13
  278. package/dist/types/base.js.map +0 -1
  279. package/dist/types/dependencies.d.ts +0 -51
  280. package/dist/types/dependencies.js +0 -3
  281. package/dist/types/dependencies.js.map +0 -1
  282. package/dist/types/dependency-core.d.ts +0 -14
  283. package/dist/types/dependency-core.js +0 -5
  284. package/dist/types/dependency-core.js.map +0 -1
  285. package/dist/types/events.d.ts +0 -52
  286. package/dist/types/events.js +0 -6
  287. package/dist/types/events.js.map +0 -1
  288. package/dist/types/hooks.d.ts +0 -16
  289. package/dist/types/hooks.js +0 -5
  290. package/dist/types/hooks.js.map +0 -1
  291. package/dist/types/index.d.ts +0 -8
  292. package/dist/types/index.js.map +0 -1
  293. package/dist/types/metadata.d.ts +0 -75
  294. package/dist/types/metadata.js.map +0 -1
  295. package/dist/types/middleware.d.ts +0 -63
  296. package/dist/types/middleware.js +0 -3
  297. package/dist/types/middleware.js.map +0 -1
  298. package/dist/types/registerable.d.ts +0 -10
  299. package/dist/types/registerable.js +0 -5
  300. package/dist/types/registerable.js.map +0 -1
  301. package/dist/types/resources.d.ts +0 -44
  302. package/dist/types/resources.js +0 -5
  303. package/dist/types/resources.js.map +0 -1
  304. package/dist/types/tasks.d.ts +0 -41
  305. package/dist/types/tasks.js +0 -5
  306. package/dist/types/tasks.js.map +0 -1
  307. package/src/__tests__/benchmark/benchmark.test.ts +0 -148
  308. package/src/__tests__/benchmark/task-benchmark.test.ts +0 -132
  309. package/src/__tests__/context.test.ts +0 -91
  310. package/src/__tests__/createTestResource.test.ts +0 -139
  311. package/src/__tests__/errors.test.ts +0 -341
  312. package/src/__tests__/globalEvents.test.ts +0 -542
  313. package/src/__tests__/globals/cache.middleware.test.ts +0 -772
  314. package/src/__tests__/globals/queue.resource.test.ts +0 -141
  315. package/src/__tests__/globals/requireContext.middleware.test.ts +0 -98
  316. package/src/__tests__/globals/retry.middleware.test.ts +0 -157
  317. package/src/__tests__/globals/timeout.middleware.test.ts +0 -88
  318. package/src/__tests__/index.helper.test.ts +0 -55
  319. package/src/__tests__/models/EventManager.test.ts +0 -585
  320. package/src/__tests__/models/Logger.test.ts +0 -519
  321. package/src/__tests__/models/Queue.test.ts +0 -189
  322. package/src/__tests__/models/ResourceInitializer.test.ts +0 -148
  323. package/src/__tests__/models/Semaphore.test.ts +0 -713
  324. package/src/__tests__/models/Store.test.ts +0 -227
  325. package/src/__tests__/models/TaskRunner.test.ts +0 -221
  326. package/src/__tests__/override.test.ts +0 -104
  327. package/src/__tests__/recursion/README.md +0 -3
  328. package/src/__tests__/recursion/a.resource.ts +0 -25
  329. package/src/__tests__/recursion/b.resource.ts +0 -33
  330. package/src/__tests__/recursion/c.resource.ts +0 -18
  331. package/src/__tests__/run.anonymous.test.ts +0 -706
  332. package/src/__tests__/run.dynamic-register-and-dependencies.test.ts +0 -1185
  333. package/src/__tests__/run.middleware.test.ts +0 -549
  334. package/src/__tests__/run.overrides.test.ts +0 -424
  335. package/src/__tests__/run.test.ts +0 -1040
  336. package/src/__tests__/setOutput.test.ts +0 -244
  337. package/src/__tests__/tags.test.ts +0 -396
  338. package/src/__tests__/tools/findCircularDependencies.test.ts +0 -217
  339. package/src/__tests__/tools/getCallerFile.test.ts +0 -179
  340. package/src/__tests__/typesafety.test.ts +0 -423
  341. package/src/__tests__/validation-edge-cases.test.ts +0 -111
  342. package/src/__tests__/validation-interface.test.ts +0 -428
  343. package/src/context.ts +0 -86
  344. package/src/define.ts +0 -480
  345. package/src/defs.returnTag.ts +0 -91
  346. package/src/defs.ts +0 -596
  347. package/src/errors.ts +0 -105
  348. package/src/globals/globalEvents.ts +0 -125
  349. package/src/globals/globalMiddleware.ts +0 -16
  350. package/src/globals/globalResources.ts +0 -53
  351. package/src/globals/middleware/cache.middleware.ts +0 -115
  352. package/src/globals/middleware/requireContext.middleware.ts +0 -36
  353. package/src/globals/middleware/retry.middleware.ts +0 -56
  354. package/src/globals/middleware/timeout.middleware.ts +0 -46
  355. package/src/globals/resources/queue.resource.ts +0 -34
  356. package/src/index.ts +0 -39
  357. package/src/models/DependencyProcessor.ts +0 -257
  358. package/src/models/EventManager.ts +0 -210
  359. package/src/models/Logger.ts +0 -282
  360. package/src/models/OverrideManager.ts +0 -79
  361. package/src/models/Queue.ts +0 -66
  362. package/src/models/ResourceInitializer.ts +0 -165
  363. package/src/models/Semaphore.ts +0 -208
  364. package/src/models/Store.ts +0 -193
  365. package/src/models/StoreConstants.ts +0 -18
  366. package/src/models/StoreRegistry.ts +0 -253
  367. package/src/models/StoreTypes.ts +0 -47
  368. package/src/models/StoreValidator.ts +0 -43
  369. package/src/models/TaskRunner.ts +0 -203
  370. package/src/models/index.ts +0 -8
  371. package/src/run.ts +0 -116
  372. package/src/testing.ts +0 -66
  373. package/src/tools/findCircularDependencies.ts +0 -69
  374. package/src/tools/getCallerFile.ts +0 -96
  375. /package/dist/{tools → models/utils}/findCircularDependencies.d.ts +0 -0
@@ -1,18 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StoreRegistry = void 0;
4
- const defs_1 = require("../defs");
5
4
  const utils = require("../define");
6
5
  const errors_1 = require("../errors");
7
6
  const StoreValidator_1 = require("./StoreValidator");
8
7
  class StoreRegistry {
8
+ store;
9
9
  tasks = new Map();
10
10
  resources = new Map();
11
11
  events = new Map();
12
- middlewares = new Map();
12
+ taskMiddlewares = new Map();
13
+ resourceMiddlewares = new Map();
14
+ hooks = new Map();
15
+ tags = new Map();
13
16
  validator;
14
- constructor() {
15
- this.validator = new StoreValidator_1.StoreValidator(this.tasks, this.resources, this.events, this.middlewares);
17
+ constructor(store) {
18
+ this.store = store;
19
+ this.validator = new StoreValidator_1.StoreValidator(this);
16
20
  }
17
21
  getValidator() {
18
22
  return this.validator;
@@ -21,167 +25,311 @@ class StoreRegistry {
21
25
  if (utils.isTask(item)) {
22
26
  this.storeTask(item);
23
27
  }
28
+ else if (utils.isHook && utils.isHook(item)) {
29
+ this.storeHook(item);
30
+ }
24
31
  else if (utils.isResource(item)) {
25
32
  this.storeResource(item);
26
33
  }
27
34
  else if (utils.isEvent(item)) {
28
35
  this.storeEvent(item);
29
36
  }
30
- else if (utils.isMiddleware(item)) {
31
- this.storeMiddleware(item);
37
+ else if (utils.isTaskMiddleware(item)) {
38
+ this.storeTaskMiddleware(item);
39
+ }
40
+ else if (utils.isResourceMiddleware(item)) {
41
+ this.storeResourceMiddleware(item);
32
42
  }
33
43
  else if (utils.isResourceWithConfig(item)) {
34
44
  this.storeResourceWithConfig(item);
35
45
  }
46
+ else if (utils.isTag(item)) {
47
+ this.storeTag(item);
48
+ }
36
49
  else {
37
50
  throw new errors_1.UnknownItemTypeError(item);
38
51
  }
39
52
  }
40
- storeMiddleware(item, check = true) {
41
- check && this.validator.checkIfIDExists(item.id);
42
- item.dependencies =
43
- typeof item.dependencies === "function"
44
- ? item.dependencies(item.config)
45
- : item.dependencies;
46
- this.middlewares.set(item.id, {
47
- middleware: item,
53
+ storeTag(item) {
54
+ this.validator.checkIfIDExists(item.id);
55
+ this.tags.set(item.id, item);
56
+ }
57
+ storeHook(item, overrideMode = "normal") {
58
+ overrideMode === "normal" && this.validator.checkIfIDExists(item.id);
59
+ const hook = this.getFreshValue(item, this.hooks, "hook", overrideMode);
60
+ // store separately
61
+ this.hooks.set(hook.id, {
62
+ hook,
63
+ computedDependencies: {},
64
+ });
65
+ }
66
+ storeTaskMiddleware(item, storingMode = "normal") {
67
+ storingMode === "normal" && this.validator.checkIfIDExists(item.id);
68
+ const middleware = this.getFreshValue(item, this.taskMiddlewares, "middleware", storingMode);
69
+ this.taskMiddlewares.set(item.id, {
70
+ middleware,
71
+ computedDependencies: {},
72
+ isInitialized: false,
73
+ });
74
+ }
75
+ storeResourceMiddleware(item, overrideMode = "normal") {
76
+ overrideMode === "normal" && this.validator.checkIfIDExists(item.id);
77
+ const middleware = this.getFreshValue(item, this.resourceMiddlewares, "middleware", overrideMode);
78
+ this.resourceMiddlewares.set(item.id, {
79
+ middleware,
48
80
  computedDependencies: {},
81
+ isInitialized: false,
49
82
  });
50
83
  }
51
84
  storeEvent(item) {
52
85
  this.validator.checkIfIDExists(item.id);
53
86
  this.events.set(item.id, { event: item });
54
87
  }
55
- storeResourceWithConfig(item, check = true) {
56
- check && this.validator.checkIfIDExists(item.resource.id);
57
- this.prepareResource(item.resource, item.config);
58
- this.resources.set(item.resource.id, {
59
- resource: item.resource,
88
+ storeResourceWithConfig(item, storingMode = "normal") {
89
+ storingMode === "normal" &&
90
+ this.validator.checkIfIDExists(item.resource.id);
91
+ const prepared = this.getFreshValue(item.resource, this.resources, "resource", storingMode, item.config);
92
+ this.resources.set(prepared.id, {
93
+ resource: prepared,
60
94
  config: item.config,
61
95
  value: undefined,
62
96
  isInitialized: false,
63
97
  context: {},
64
98
  });
65
- this.computeRegistrationDeeply(item.resource, item.config);
66
- return item.resource;
99
+ this.computeRegistrationDeeply(prepared, item.config);
100
+ return prepared;
67
101
  }
68
102
  computeRegistrationDeeply(element, config) {
69
103
  const items = typeof element.register === "function"
70
104
  ? element.register(config)
71
105
  : element.register;
72
- // if it was a computed function ensure the registered terms are stored, not the function.
73
106
  element.register = items;
74
107
  for (const item of items) {
75
108
  // will call registration if it detects another resource.
76
109
  this.storeGenericItem(item);
77
110
  }
78
111
  }
79
- storeResource(item, check = true) {
80
- check && this.validator.checkIfIDExists(item.id);
81
- this.prepareResource(item, {});
82
- this.resources.set(item.id, {
83
- resource: item,
112
+ storeResource(item, overrideMode = "normal") {
113
+ overrideMode === "normal" && this.validator.checkIfIDExists(item.id);
114
+ const prepared = this.getFreshValue(item, this.resources, "resource", overrideMode);
115
+ this.resources.set(prepared.id, {
116
+ resource: prepared,
84
117
  config: {},
85
118
  value: undefined,
86
119
  isInitialized: false,
87
- context: item.context?.() || {},
120
+ context: prepared.context?.() || {},
88
121
  });
89
- this.computeRegistrationDeeply(item, {});
90
- return item;
91
- }
92
- storeTask(item, check = true) {
93
- check && this.validator.checkIfIDExists(item.id);
94
- item.dependencies =
95
- typeof item.dependencies === "function"
96
- ? item.dependencies()
97
- : item.dependencies;
98
- this.tasks.set(item.id, {
99
- task: item,
122
+ this.computeRegistrationDeeply(prepared, {});
123
+ return prepared;
124
+ }
125
+ storeTask(item, storingMode = "normal") {
126
+ storingMode === "normal" && this.validator.checkIfIDExists(item.id);
127
+ const task = this.getFreshValue(item, this.tasks, "task", storingMode);
128
+ this.tasks.set(task.id, {
129
+ task,
100
130
  computedDependencies: {},
101
131
  isInitialized: false,
102
132
  });
103
133
  }
104
- storeEventsForAllTasks() {
134
+ /**
135
+ * TRM = tasks, resources and middlewares
136
+ */
137
+ storeEventsForAllTRM() {
138
+ // Lifecycle events removed; no-op retained for API compatibility
139
+ }
140
+ // Feels like a dependencyProcessor task?
141
+ getDependentNodes() {
142
+ const depenedants = [];
143
+ // First, create all nodes
144
+ const nodeMap = new Map();
145
+ // Create nodes for tasks
146
+ this.setupBlankNodes(nodeMap, depenedants);
147
+ // Now, populate dependencies with references to actual nodes
105
148
  for (const task of this.tasks.values()) {
106
- this.storeEvent(task.task.events.beforeRun);
107
- this.storeEvent(task.task.events.afterRun);
108
- this.storeEvent(task.task.events.onError);
149
+ const node = nodeMap.get(task.task.id);
150
+ // Add task dependencies
151
+ if (task.task.dependencies) {
152
+ for (const [depKey, depItem] of Object.entries(task.task.dependencies)) {
153
+ const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
154
+ const depNode = nodeMap.get(candidate.id);
155
+ if (depNode) {
156
+ node.dependencies[depKey] = depNode;
157
+ }
158
+ }
159
+ }
160
+ // Add local middleware dependencies for tasks (hooks have no middleware)
161
+ const t = task.task;
162
+ for (const middleware of t.middleware) {
163
+ const middlewareNode = nodeMap.get(middleware.id);
164
+ if (middlewareNode) {
165
+ node.dependencies[middleware.id] = middlewareNode;
166
+ }
167
+ }
168
+ }
169
+ // Populate task middleware dependencies
170
+ for (const storeTaskMiddleware of this.taskMiddlewares.values()) {
171
+ const node = nodeMap.get(storeTaskMiddleware.middleware.id);
172
+ const { middleware } = storeTaskMiddleware;
173
+ if (middleware.dependencies) {
174
+ for (const [depKey, depItem] of Object.entries(middleware.dependencies)) {
175
+ const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
176
+ const depNode = nodeMap.get(candidate.id);
177
+ if (depNode) {
178
+ node.dependencies[depKey] = depNode;
179
+ }
180
+ }
181
+ }
182
+ if (middleware.everywhere) {
183
+ const filter = typeof middleware.everywhere === "function"
184
+ ? middleware.everywhere
185
+ : () => true;
186
+ for (const task of this.tasks.values()) {
187
+ if (filter(task.task)) {
188
+ const taskNode = nodeMap.get(task.task.id);
189
+ // node.dependencies[task.task.id] = taskNode;
190
+ taskNode.dependencies[`__middleware.${middleware.id}`] = node;
191
+ }
192
+ }
193
+ }
109
194
  }
195
+ // Populate resource middleware dependencies
196
+ for (const storeResourceMiddleware of this.resourceMiddlewares.values()) {
197
+ const node = nodeMap.get(storeResourceMiddleware.middleware.id);
198
+ const { middleware } = storeResourceMiddleware;
199
+ if (middleware.dependencies) {
200
+ for (const [depKey, depItem] of Object.entries(middleware.dependencies)) {
201
+ const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
202
+ const depNode = nodeMap.get(candidate.id);
203
+ if (depNode) {
204
+ node.dependencies[depKey] = depNode;
205
+ }
206
+ }
207
+ }
208
+ if (middleware.everywhere) {
209
+ const filter = typeof middleware.everywhere === "function"
210
+ ? middleware.everywhere
211
+ : () => true;
212
+ for (const resource of this.resources.values()) {
213
+ if (filter(resource.resource)) {
214
+ const resourceNode = nodeMap.get(resource.resource.id);
215
+ // node.dependencies[resource.resource.id] = resourceNode;
216
+ resourceNode.dependencies[`__middleware.${middleware.id}`] = node;
217
+ }
218
+ }
219
+ }
220
+ }
221
+ // Populate resource dependencies
110
222
  for (const resource of this.resources.values()) {
111
- this.storeEvent(resource.resource.events.beforeInit);
112
- this.storeEvent(resource.resource.events.afterInit);
113
- this.storeEvent(resource.resource.events.onError);
114
- }
115
- }
116
- getEverywhereMiddlewareForTasks(excludingIds) {
117
- return Array.from(this.middlewares.values())
118
- .filter((x) => x.middleware[defs_1.symbolMiddlewareEverywhereTasks])
119
- .filter((x) => !excludingIds.includes(x.middleware.id))
120
- .map((x) => x.middleware);
121
- }
122
- getEverywhereMiddlewareForResources(excludingIds) {
123
- return Array.from(this.middlewares.values())
124
- .filter((x) => x.middleware[defs_1.symbolMiddlewareEverywhereResources])
125
- .filter((x) => !excludingIds.includes(x.middleware.id))
126
- .map((x) => x.middleware);
127
- }
128
- prepareResource(item, config) {
129
- item.dependencies =
130
- typeof item.dependencies === "function"
131
- ? item.dependencies(config)
132
- : item.dependencies;
133
- return item;
134
- }
135
- middlewareAsMap(middleware) {
136
- return middleware.reduce((acc, item) => {
137
- acc[item.id] = item;
138
- return acc;
139
- }, {});
223
+ const node = nodeMap.get(resource.resource.id);
224
+ // Add resource dependencies
225
+ if (resource.resource.dependencies) {
226
+ for (const [depKey, depItem] of Object.entries(resource.resource.dependencies)) {
227
+ const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
228
+ const depNode = nodeMap.get(candidate.id);
229
+ if (depNode) {
230
+ node.dependencies[depKey] = depNode;
231
+ }
232
+ }
233
+ }
234
+ // Add local middleware dependencies
235
+ for (const middleware of resource.resource.middleware) {
236
+ const middlewareNode = nodeMap.get(middleware.id);
237
+ if (middlewareNode) {
238
+ node.dependencies[middleware.id] = middlewareNode;
239
+ }
240
+ }
241
+ }
242
+ for (const hook of this.hooks.values()) {
243
+ const node = nodeMap.get(hook.hook.id);
244
+ if (hook.hook.dependencies) {
245
+ for (const [depKey, depItem] of Object.entries(hook.hook.dependencies)) {
246
+ const candidate = utils.isOptional(depItem) ? depItem.inner : depItem;
247
+ const depNode = nodeMap.get(candidate.id);
248
+ if (depNode) {
249
+ node.dependencies[depKey] = depNode;
250
+ }
251
+ }
252
+ }
253
+ }
254
+ return depenedants;
140
255
  }
141
- getDependentNodes() {
142
- const depenedants = [];
256
+ setupBlankNodes(nodeMap, depenedants) {
143
257
  for (const task of this.tasks.values()) {
144
- depenedants.push({
258
+ const node = {
145
259
  id: task.task.id,
146
- dependencies: {
147
- ...task.task.dependencies,
148
- ...this.middlewareAsMap(task.task.middleware),
149
- },
150
- });
151
- }
152
- for (const middleware of this.middlewares.values()) {
153
- depenedants.push({
260
+ dependencies: {},
261
+ };
262
+ nodeMap.set(task.task.id, node);
263
+ depenedants.push(node);
264
+ }
265
+ for (const middleware of this.taskMiddlewares.values()) {
266
+ const node = {
267
+ id: middleware.middleware.id,
268
+ dependencies: {},
269
+ };
270
+ nodeMap.set(middleware.middleware.id, node);
271
+ depenedants.push(node);
272
+ }
273
+ for (const middleware of this.resourceMiddlewares.values()) {
274
+ const node = {
154
275
  id: middleware.middleware.id,
155
- dependencies: middleware.middleware.dependencies,
156
- });
276
+ dependencies: {},
277
+ };
278
+ nodeMap.set(middleware.middleware.id, node);
279
+ depenedants.push(node);
157
280
  }
281
+ // Create nodes for resources
158
282
  for (const resource of this.resources.values()) {
159
- depenedants.push({
283
+ const node = {
160
284
  id: resource.resource.id,
161
- dependencies: {
162
- ...resource.resource.dependencies,
163
- ...this.middlewareAsMap(resource.resource.middleware),
164
- },
165
- });
285
+ dependencies: {},
286
+ };
287
+ nodeMap.set(resource.resource.id, node);
288
+ depenedants.push(node);
289
+ }
290
+ for (const hook of this.hooks.values()) {
291
+ const node = {
292
+ id: hook.hook.id,
293
+ dependencies: {},
294
+ };
295
+ nodeMap.set(hook.hook.id, node);
296
+ depenedants.push(node);
166
297
  }
167
- return depenedants;
168
298
  }
169
299
  getTasksWithTag(tag) {
170
- if (typeof tag === "string") {
171
- return Array.from(this.tasks.values()).filter((x) => x.task.meta?.tags?.includes(tag));
172
- }
300
+ const tagId = typeof tag === "string" ? tag : tag.id;
173
301
  return Array.from(this.tasks.values())
174
- .filter((x) => tag.extract(x.task.meta?.tags))
302
+ .filter((x) => {
303
+ return x.task.tags.some((t) => t.id === tagId);
304
+ })
175
305
  .map((x) => x.task);
176
306
  }
177
307
  getResourcesWithTag(tag) {
178
- if (typeof tag === "string") {
179
- return Array.from(this.resources.values()).filter((x) => x.resource.meta?.tags?.includes(tag));
180
- }
308
+ const tagId = typeof tag === "string" ? tag : tag.id;
181
309
  return Array.from(this.resources.values())
182
- .filter((x) => tag.extract(x.resource.meta?.tags))
310
+ .filter((x) => {
311
+ return x.resource.tags.some((t) => t.id === tagId);
312
+ })
183
313
  .map((x) => x.resource);
184
314
  }
315
+ /**
316
+ * Used to fetch the value cloned, and if we're dealing with an override, we need to extend the previous value.
317
+ */
318
+ getFreshValue(item, collection, key, overrideMode, config) {
319
+ let currentItem;
320
+ if (overrideMode === "override") {
321
+ const existing = collection.get(item.id)[key];
322
+ currentItem = { ...existing, ...item };
323
+ }
324
+ else {
325
+ currentItem = { ...item };
326
+ }
327
+ currentItem.dependencies =
328
+ typeof currentItem.dependencies === "function"
329
+ ? currentItem.dependencies(config || currentItem.config)
330
+ : currentItem.dependencies;
331
+ return currentItem;
332
+ }
185
333
  }
186
334
  exports.StoreRegistry = StoreRegistry;
187
335
  //# sourceMappingURL=StoreRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoreRegistry.js","sourceRoot":"","sources":["../../src/models/StoreRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StoreRegistry.js","sourceRoot":"","sources":["../../src/models/StoreRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import { TaskStoreElementType, MiddlewareStoreElementType, ResourceStoreElementType, EventStoreElementType } from "./StoreTypes";
1
+ import { StoreRegistry } from "./StoreRegistry";
2
2
  export declare class StoreValidator {
3
- private tasks;
4
- private resources;
5
- private events;
6
- private middlewares;
7
- constructor(tasks: Map<string | symbol, TaskStoreElementType>, resources: Map<string | symbol, ResourceStoreElementType>, events: Map<string | symbol, EventStoreElementType>, middlewares: Map<string | symbol, MiddlewareStoreElementType>);
8
- checkIfIDExists(id: string | symbol): void | never;
3
+ private registry;
4
+ constructor(registry: StoreRegistry);
5
+ checkIfIDExists(id: string): void | never;
9
6
  runSanityChecks(): void;
7
+ ensureAllTagsUsedAreRegistered(): void;
10
8
  }
@@ -3,38 +3,71 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StoreValidator = void 0;
4
4
  const errors_1 = require("../errors");
5
5
  class StoreValidator {
6
- tasks;
7
- resources;
8
- events;
9
- middlewares;
10
- constructor(tasks, resources, events, middlewares) {
11
- this.tasks = tasks;
12
- this.resources = resources;
13
- this.events = events;
14
- this.middlewares = middlewares;
6
+ registry;
7
+ constructor(registry) {
8
+ this.registry = registry;
15
9
  }
16
10
  checkIfIDExists(id) {
17
- if (this.tasks.has(id)) {
11
+ if (this.registry.tasks.has(id)) {
18
12
  throw new errors_1.DuplicateRegistrationError("Task", id);
19
13
  }
20
- if (this.resources.has(id)) {
14
+ if (this.registry.resources.has(id)) {
21
15
  throw new errors_1.DuplicateRegistrationError("Resource", id);
22
16
  }
23
- if (this.events.has(id)) {
17
+ if (this.registry.events.has(id)) {
24
18
  throw new errors_1.DuplicateRegistrationError("Event", id);
25
19
  }
26
- if (this.middlewares.has(id)) {
20
+ if (this.registry.taskMiddlewares.has(id)) {
27
21
  throw new errors_1.DuplicateRegistrationError("Middleware", id);
28
22
  }
23
+ if (this.registry.resourceMiddlewares.has(id)) {
24
+ throw new errors_1.DuplicateRegistrationError("Middleware", id);
25
+ }
26
+ if (this.registry.tags.has(id)) {
27
+ throw new errors_1.DuplicateRegistrationError("Tag", id);
28
+ }
29
+ if (this.registry.hooks.has(id)) {
30
+ throw new errors_1.DuplicateRegistrationError("Hook", id);
31
+ }
29
32
  }
30
33
  runSanityChecks() {
31
- for (const task of this.tasks.values()) {
32
- task.task.middleware.forEach((middleware) => {
33
- if (!this.middlewares.has(middleware.id)) {
34
- throw new errors_1.DependencyNotFoundError(`Middleware ${middleware.id.toString()} in Task ${task.task.id.toString()}`);
34
+ for (const task of this.registry.tasks.values()) {
35
+ const middlewares = task.task.middleware;
36
+ middlewares.forEach((middlewareAttachment) => {
37
+ if (!this.registry.taskMiddlewares.has(middlewareAttachment.id)) {
38
+ throw new errors_1.MiddlewareNotRegisteredError("task", task.task.id, middlewareAttachment.id);
39
+ }
40
+ });
41
+ }
42
+ for (const resource of this.registry.resources.values()) {
43
+ const middlewares = resource.resource.middleware;
44
+ middlewares.forEach((middlewareAttachment) => {
45
+ if (!this.registry.resourceMiddlewares.has(middlewareAttachment.id)) {
46
+ throw new errors_1.MiddlewareNotRegisteredError("resource", resource.resource.id, middlewareAttachment.id);
35
47
  }
36
48
  });
37
49
  }
50
+ this.ensureAllTagsUsedAreRegistered();
51
+ }
52
+ ensureAllTagsUsedAreRegistered() {
53
+ const taggables = [
54
+ ...Array.from(this.registry.tasks.values()).map((x) => x.task),
55
+ ...Array.from(this.registry.resources.values()).map((x) => x.resource),
56
+ ...Array.from(this.registry.events.values()).map((x) => x.event),
57
+ ...Array.from(this.registry.taskMiddlewares.values()).map((x) => x.middleware),
58
+ ...Array.from(this.registry.resourceMiddlewares.values()).map((x) => x.middleware),
59
+ ...Array.from(this.registry.hooks.values()).map((x) => x.hook),
60
+ ];
61
+ for (const taggable of taggables) {
62
+ const tags = taggable.tags;
63
+ if (tags) {
64
+ for (const tag of tags) {
65
+ if (!this.registry.tags.has(tag.id)) {
66
+ throw new errors_1.TagNotFoundError(tag.id);
67
+ }
68
+ }
69
+ }
70
+ }
38
71
  }
39
72
  }
40
73
  exports.StoreValidator = StoreValidator;
@@ -1 +1 @@
1
- {"version":3,"file":"StoreValidator.js","sourceRoot":"","sources":["../../src/models/StoreValidator.ts"],"names":[],"mappings":";;;AAAA,sCAAgF;AAQhF,MAAa,cAAc;IAEf;IACA;IACA;IACA;IAJV,YACU,KAAiD,EACjD,SAAyD,EACzD,MAAmD,EACnD,WAA6D;QAH7D,UAAK,GAAL,KAAK,CAA4C;QACjD,cAAS,GAAT,SAAS,CAAgD;QACzD,WAAM,GAAN,MAAM,CAA6C;QACnD,gBAAW,GAAX,WAAW,CAAkD;IACpE,CAAC;IAEJ,eAAe,CAAC,EAAmB;QACjC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,mCAA0B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,mCAA0B,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,mCAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,mCAA0B,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,eAAe;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,gCAAuB,CAC/B,cAAc,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5E,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAlCD,wCAkCC"}
1
+ {"version":3,"file":"StoreValidator.js","sourceRoot":"","sources":["../../src/models/StoreValidator.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,14 @@ export declare class TaskRunner {
8
8
  protected readonly logger: Logger;
9
9
  protected readonly runnerStore: Map<string | symbol, (input: any) => Promise<any>>;
10
10
  constructor(store: Store, eventManager: EventManager, logger: Logger);
11
+ private readonly middlewareManager;
11
12
  /**
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.
13
14
  * This function can throw only if any of the event listeners or run function throws
14
15
  * @param task the task to be run
15
16
  * @param input the input to be passed to the task
16
17
  */
17
- run<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>, input: TInput): Promise<TOutput | undefined>;
18
+ run<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>, input?: TInput): Promise<TOutput | undefined>;
18
19
  /**
19
20
  * Creates the function with the chain of middleware.
20
21
  * @param task
@@ -22,5 +23,5 @@ export declare class TaskRunner {
22
23
  * @param taskDependencies
23
24
  * @returns
24
25
  */
25
- protected createRunnerWithMiddleware<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>): (input: any) => Promise<TOutput>;
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)>;
26
27
  }