@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
package/dist/errors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValidationError = exports.StoreAlreadyInitializedError = exports.LockedError = exports.MiddlewareAlreadyGlobalError = exports.EventNotFoundError = exports.CircularDependenciesError = exports.UnknownItemTypeError = exports.DependencyNotFoundError = exports.DuplicateRegistrationError = exports.RuntimeError = void 0;
3
+ exports.ValidationError = exports.StoreAlreadyInitializedError = exports.LockedError = exports.TagNotFoundError = exports.MiddlewareNotRegisteredError = exports.ResourceNotFoundError = exports.EventNotFoundError = exports.CircularDependenciesError = exports.ContextError = exports.UnknownItemTypeError = exports.DependencyNotFoundError = exports.DuplicateRegistrationError = exports.RuntimeError = void 0;
4
4
  /**
5
5
  * Base error class for all BlueLibs Runner errors
6
6
  */
@@ -16,7 +16,7 @@ exports.RuntimeError = RuntimeError;
16
16
  */
17
17
  class DuplicateRegistrationError extends RuntimeError {
18
18
  constructor(type, id) {
19
- super(`${type} "${id.toString()}" already registered`);
19
+ super(`${type} "${id.toString()}" already registered. You might have used the same 'id' in two different components or you may have registered the same element twice.`);
20
20
  this.name = "DuplicateRegistrationError";
21
21
  }
22
22
  }
@@ -41,12 +41,34 @@ class UnknownItemTypeError extends RuntimeError {
41
41
  }
42
42
  }
43
43
  exports.UnknownItemTypeError = UnknownItemTypeError;
44
+ /**
45
+ * Error thrown whenever a requested context is not available.
46
+ */
47
+ class ContextError extends Error {
48
+ constructor(message) {
49
+ super(message);
50
+ this.name = "ContextError";
51
+ }
52
+ }
53
+ exports.ContextError = ContextError;
44
54
  /**
45
55
  * Error thrown when circular dependencies are detected
46
56
  */
47
57
  class CircularDependenciesError extends RuntimeError {
48
58
  constructor(cycles) {
49
- super(`Circular dependencies detected: ${cycles.join(", ")}`);
59
+ const cycleDetails = cycles.map((cycle) => ` • ${cycle}`).join("\n");
60
+ const hasMiddleware = cycles.some((cycle) => cycle.includes("middleware"));
61
+ let guidance = "\n\nTo resolve circular dependencies:";
62
+ guidance +=
63
+ "\n • Consider refactoring to reduce coupling between components";
64
+ guidance += "\n • Extract shared dependencies into separate resources";
65
+ if (hasMiddleware) {
66
+ guidance +=
67
+ "\n • For middleware: you can filter out tasks/resources using everywhere(fn)";
68
+ guidance +=
69
+ "\n • Consider using events for communication instead of direct dependencies";
70
+ }
71
+ super(`Circular dependencies detected:\n${cycleDetails}${guidance}`);
50
72
  this.name = "CircularDependenciesError";
51
73
  }
52
74
  }
@@ -62,16 +84,32 @@ class EventNotFoundError extends RuntimeError {
62
84
  }
63
85
  exports.EventNotFoundError = EventNotFoundError;
64
86
  /**
65
- * Error thrown when attempting to make a middleware global when it's already global
87
+ * Error thrown when a resource is not found in the store
88
+ */
89
+ class ResourceNotFoundError extends RuntimeError {
90
+ constructor(id) {
91
+ super(`Resource "${id.toString()}" not found. Did you forget to register it or are you using the correct id?`);
92
+ this.name = "ResourceNotFoundError";
93
+ }
94
+ }
95
+ exports.ResourceNotFoundError = ResourceNotFoundError;
96
+ class MiddlewareNotRegisteredError extends RuntimeError {
97
+ constructor(type, source, middlewareId) {
98
+ super(`Middleware inside ${type} "${source}" depends on "${middlewareId}" but it's not registered. Did you forget to register it?`);
99
+ this.name = `MiddlewareNotRegisteredError: ${type} ${source} ${middlewareId}`;
100
+ }
101
+ }
102
+ exports.MiddlewareNotRegisteredError = MiddlewareNotRegisteredError;
103
+ /**
104
+ * Error thrown when a tag is not found in the registry
66
105
  */
67
- class MiddlewareAlreadyGlobalError extends RuntimeError {
106
+ class TagNotFoundError extends RuntimeError {
68
107
  constructor(id) {
69
- super("Cannot call .everywhere() on an already global middleware: " +
70
- id.toString());
71
- this.name = "MiddlewareAlreadyGlobalError";
108
+ super(`Tag "${id}" not registered. Did you forget to register it inside a resource?`);
109
+ this.name = "TagNotRegisteredError";
72
110
  }
73
111
  }
74
- exports.MiddlewareAlreadyGlobalError = MiddlewareAlreadyGlobalError;
112
+ exports.TagNotFoundError = TagNotFoundError;
75
113
  /**
76
114
  * Error thrown when attempting to modify a locked component
77
115
  */
@@ -97,7 +135,9 @@ exports.StoreAlreadyInitializedError = StoreAlreadyInitializedError;
97
135
  */
98
136
  class ValidationError extends RuntimeError {
99
137
  constructor(type, id, originalError) {
100
- const errorMessage = originalError instanceof Error ? originalError.message : String(originalError);
138
+ const errorMessage = originalError instanceof Error
139
+ ? originalError.message
140
+ : String(originalError);
101
141
  super(`${type} validation failed for ${id.toString()}: ${errorMessage}`);
102
142
  this.name = "ValidationError";
103
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC;AAED;;GAEG;AACH,MAAa,0BAA2B,SAAQ,YAAY;IAC1D,YAAY,IAAY,EAAE,EAAmB;QAC3C,KAAK,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AALD,gEAKC;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,YAAY;IACvD,YAAY,GAAoB;QAC9B,KAAK,CACH,cAAc,GAAG,CAAC,QAAQ,EAAE,+DAA+D,CAC5F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAPD,0DAOC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,YAAY;IACpD,YAAY,IAAS;QACnB,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,YAAY;IACzD,YAAY,MAAgB;QAC1B,KAAK,CAAC,mCAAmC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,EAAmB;QAC7B,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,6CAA6C,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;GAEG;AACH,MAAa,4BAA6B,SAAQ,YAAY;IAC5D,YAAY,EAAmB;QAC7B,KAAK,CACH,6DAA6D;YAC3D,EAAE,CAAC,QAAQ,EAAE,CAChB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AARD,oEAQC;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,YAAY;IAC3C,YAAY,IAAqB;QAC/B,KAAK,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AALD,kCAKC;AAED;;GAEG;AACH,MAAa,4BAA6B,SAAQ,YAAY;IAC5D;QACE,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AALD,oEAKC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAY,EAAE,EAAmB,EAAE,aAA6B;QAC1E,MAAM,YAAY,GAAG,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACpG,KAAK,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC,QAAQ,EAAE,KAAK,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAND,0CAMC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,17 @@
1
- import { ITask, IResource, IEvent } from "../defs";
2
- import { ILog } from "../models/Logger";
1
+ import { IEvent, IResource } from "../defs";
3
2
  export declare const globalEvents: {
4
- beforeInit: IEvent<void>;
5
- afterInit: IEvent<void>;
6
- log: IEvent<ILog>;
7
- tasks: {
8
- beforeRun: IEvent<{
9
- task: ITask<any, any, any>;
10
- input: any;
11
- }>;
12
- afterRun: IEvent<{
13
- task: ITask<any, any, any>;
14
- input: any;
15
- output: any;
16
- setOutput: (newOutput: any) => void;
17
- }>;
18
- onError: IEvent<{
19
- error: any;
20
- suppress: () => void;
21
- task: ITask<any, any, any>;
22
- }>;
23
- };
24
- resources: {
25
- beforeInit: IEvent<{
26
- resource: IResource<any, any, any>;
27
- config: any;
28
- }>;
29
- afterInit: IEvent<{
30
- resource: IResource<any, any, any>;
31
- config: any;
32
- value: any;
33
- }>;
34
- onError: IEvent<{
35
- error: Error;
36
- suppress: () => void;
37
- resource: IResource<any, any, any>;
38
- }>;
39
- };
3
+ /**
4
+ * Emitted when the system is fully initialized and ready for work.
5
+ */
6
+ readonly ready: IEvent<{
7
+ root: IResource<any, any, any, any>;
8
+ }>;
9
+ /**
10
+ * Central error boundary event for any thrown error across the runner.
11
+ */
12
+ readonly unhandledError: IEvent<{
13
+ kind: "task" | "middleware" | "resourceInit" | "hook" | "process" | "run";
14
+ error: any;
15
+ }>;
40
16
  };
41
- export declare const globalEventsArray: IEvent<void>[];
17
+ export declare const globalEventsArray: IEvent<any>[];
@@ -2,93 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.globalEventsArray = exports.globalEvents = void 0;
4
4
  const define_1 = require("../define");
5
+ const globalTags_1 = require("./globalTags");
6
+ const systemTag = globalTags_1.globalTags.system;
5
7
  exports.globalEvents = {
6
- beforeInit: (0, define_1.defineEvent)({
7
- id: "globals.events.beforeInit",
8
+ // Minimal core events retained if any (custom events can still be defined by users)
9
+ /**
10
+ * Emitted when the system is fully initialized and ready for work.
11
+ */
12
+ ready: (0, define_1.defineEvent)({
13
+ id: "globals.events.ready",
8
14
  meta: {
9
- title: "Before Initialization",
10
- description: "Triggered before any resource or system-wide initialization occurs.",
11
- tags: ["system"],
15
+ title: "System Ready",
16
+ description: "Emitted when the system has completed boot and is ready for listeners to start work." +
17
+ "This runs right before returning value for run().",
12
18
  },
13
19
  }),
14
- afterInit: (0, define_1.defineEvent)({
15
- id: "globals.events.afterInit",
20
+ /**
21
+ * Central error boundary event for any thrown error across the runner.
22
+ */
23
+ unhandledError: (0, define_1.defineEvent)({
24
+ id: "globals.events.unhandledError",
16
25
  meta: {
17
- title: "After Initialization",
18
- description: "Fired after the system or resource initialization is completed.",
19
- tags: ["system"],
26
+ title: "Unhandled Error",
27
+ description: "Central error boundary event for any thrown error across the runner.",
20
28
  },
29
+ tags: [systemTag, globalTags_1.globalTags.excludeFromGlobalHooks],
21
30
  }),
22
- log: (0, define_1.defineEvent)({
23
- id: "globals.events.log",
24
- meta: {
25
- title: "Log Event",
26
- description: "Used to log events and messages across the system.",
27
- tags: ["system"],
28
- },
29
- }),
30
- tasks: {
31
- beforeRun: (0, define_1.defineEvent)({
32
- id: "globals.events.tasks.beforeRun",
33
- meta: {
34
- title: "Before Task Execution",
35
- description: "Triggered before a task starts running, providing access to the input data.",
36
- tags: ["system"],
37
- },
38
- }),
39
- afterRun: (0, define_1.defineEvent)({
40
- id: "globals.events.tasks.afterRun",
41
- meta: {
42
- title: "After Task Execution",
43
- description: "Fired after a task has completed, providing both the input and output data.",
44
- tags: ["system"],
45
- },
46
- }),
47
- onError: (0, define_1.defineEvent)({
48
- id: "globals.events.tasks.onError",
49
- meta: {
50
- title: "Task Error",
51
- description: "Triggered when an error occurs during task execution. Allows error suppression.",
52
- tags: ["system"],
53
- },
54
- }),
55
- },
56
- resources: {
57
- beforeInit: (0, define_1.defineEvent)({
58
- id: "globals.events.resources.beforeInit",
59
- meta: {
60
- title: "Before Resource Initialization",
61
- description: "Fired before a resource is initialized, with access to the configuration.",
62
- tags: ["system"],
63
- },
64
- }),
65
- afterInit: (0, define_1.defineEvent)({
66
- id: "globals.events.resources.afterInit",
67
- meta: {
68
- title: "After Resource Initialization",
69
- description: "Fired after a resource has been initialized, providing the final value.",
70
- tags: ["system"],
71
- },
72
- }),
73
- onError: (0, define_1.defineEvent)({
74
- id: "globals.events.resources.onError",
75
- meta: {
76
- title: "Resource Error",
77
- description: "Triggered when an error occurs during resource initialization. Allows error suppression.",
78
- tags: ["system"],
79
- },
80
- }),
81
- },
82
31
  };
83
- exports.globalEventsArray = [
84
- exports.globalEvents.log,
85
- exports.globalEvents.beforeInit,
86
- exports.globalEvents.afterInit,
87
- exports.globalEvents.tasks.beforeRun,
88
- exports.globalEvents.tasks.afterRun,
89
- exports.globalEvents.tasks.onError,
90
- exports.globalEvents.resources.beforeInit,
91
- exports.globalEvents.resources.afterInit,
92
- exports.globalEvents.resources.onError,
93
- ];
32
+ exports.globalEventsArray = [exports.globalEvents.ready];
94
33
  //# sourceMappingURL=globalEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalEvents.js","sourceRoot":"","sources":["../../src/globals/globalEvents.ts"],"names":[],"mappings":";;;AAAA,sCAAwC;AAI3B,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE,IAAA,oBAAW,EAAC;QACtB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE;YACJ,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACT,qEAAqE;YACvE,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB;KACF,CAAC;IACF,SAAS,EAAE,IAAA,oBAAW,EAAC;QACrB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE;YACJ,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,iEAAiE;YACnE,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB;KACF,CAAC;IACF,GAAG,EAAE,IAAA,oBAAW,EAAO;QACrB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE;YACJ,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,oDAAoD;YACjE,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB;KACF,CAAC;IACF,KAAK,EAAE;QACL,SAAS,EAAE,IAAA,oBAAW,EAGnB;YACD,EAAE,EAAE,gCAAgC;YACpC,IAAI,EAAE;gBACJ,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EACT,6EAA6E;gBAC/E,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB;SACF,CAAC;QACF,QAAQ,EAAE,IAAA,oBAAW,EAKlB;YACD,EAAE,EAAE,+BAA+B;YACnC,IAAI,EAAE;gBACJ,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EACT,6EAA6E;gBAC/E,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB;SACF,CAAC;QACF,OAAO,EAAE,IAAA,oBAAW,EAIjB;YACD,EAAE,EAAE,8BAA8B;YAClC,IAAI,EAAE;gBACJ,KAAK,EAAE,YAAY;gBACnB,WAAW,EACT,iFAAiF;gBACnF,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB;SACF,CAAC;KACH;IACD,SAAS,EAAE;QACT,UAAU,EAAE,IAAA,oBAAW,EAGpB;YACD,EAAE,EAAE,qCAAqC;YACzC,IAAI,EAAE;gBACJ,KAAK,EAAE,gCAAgC;gBACvC,WAAW,EACT,2EAA2E;gBAC7E,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB;SACF,CAAC;QACF,SAAS,EAAE,IAAA,oBAAW,EAInB;YACD,EAAE,EAAE,oCAAoC;YACxC,IAAI,EAAE;gBACJ,KAAK,EAAE,+BAA+B;gBACtC,WAAW,EACT,yEAAyE;gBAC3E,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB;SACF,CAAC;QACF,OAAO,EAAE,IAAA,oBAAW,EAIjB;YACD,EAAE,EAAE,kCAAkC;YACtC,IAAI,EAAE;gBACJ,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,0FAA0F;gBAC5F,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB;SACF,CAAC;KACH;CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC/B,oBAAY,CAAC,GAAG;IAChB,oBAAY,CAAC,UAAU;IACvB,oBAAY,CAAC,SAAS;IACtB,oBAAY,CAAC,KAAK,CAAC,SAAS;IAC5B,oBAAY,CAAC,KAAK,CAAC,QAAQ;IAC3B,oBAAY,CAAC,KAAK,CAAC,OAAO;IAC1B,oBAAY,CAAC,SAAS,CAAC,UAAU;IACjC,oBAAY,CAAC,SAAS,CAAC,SAAS;IAChC,oBAAY,CAAC,SAAS,CAAC,OAAO;CAC/B,CAAC"}
1
+ {"version":3,"file":"globalEvents.js","sourceRoot":"","sources":["../../src/globals/globalEvents.ts"],"names":[],"mappings":";;;AAAA,sCAAwC;AAQxC,6CAA0C;AAE1C,MAAM,SAAS,GAAG,uBAAU,CAAC,MAAM,CAAC;AAEvB,QAAA,YAAY,GAAG;IAC1B,oFAAoF;IACpF;;OAEG;IACH,KAAK,EAAE,IAAA,oBAAW,EAEf;QACD,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE;YACJ,KAAK,EAAE,cAAc;YACrB,WAAW,EACT,sFAAsF;gBACtF,mDAAmD;SACtD;KACF,CAAC;IACF;;OAEG;IACH,cAAc,EAAE,IAAA,oBAAW,EAGxB;QACD,EAAE,EAAE,+BAA+B;QACnC,IAAI,EAAE;YACJ,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,sEAAsE;SACzE;QACD,IAAI,EAAE,CAAC,SAAS,EAAE,uBAAU,CAAC,sBAAsB,CAAC;KACrD,CAAC;CACM,CAAC;AAEE,QAAA,iBAAiB,GAAkB,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC"}
@@ -3,22 +3,29 @@ import { Context } from "../context";
3
3
  * Global middlewares
4
4
  */
5
5
  export declare const globalMiddlewares: {
6
- requireContext: import("../defs").IMiddleware<{
6
+ requireContext: import("../defs").ITaskMiddleware<{
7
7
  context: Context<any>;
8
- }, import("../defs").DependencyMapType>;
9
- retry: import("../defs").IMiddleware<import("./middleware/retry.middleware").RetryMiddlewareConfig, import("../defs").DependencyMapType>;
10
- cache: import("../defs").IMiddleware<any, {
11
- cache: import("../defs").IResource<{
12
- defaultOptions?: any;
13
- async?: boolean;
14
- }, Promise<{
15
- map: Map<string | symbol, import("./middleware/cache.middleware").ICacheInstance>;
16
- cacheFactoryTask: (...args: [] | [any]) => Promise<import("./middleware/cache.middleware").ICacheInstance>;
17
- async: boolean | undefined;
18
- defaultOptions: any;
19
- }>, {
20
- cacheFactoryTask: import("../defs").ITask<any, Promise<import("./middleware/cache.middleware").ICacheInstance>, any, undefined, any>;
21
- }, any, any>;
22
- }>;
23
- timeout: import("../defs").IMiddleware<import("./middleware/timeout.middleware").TimeoutMiddlewareConfig, import("../defs").DependencyMapType>;
8
+ }, void, void, any>;
9
+ task: {
10
+ requireContext: import("../defs").ITaskMiddleware<{
11
+ context: Context<any>;
12
+ }, void, void, any>;
13
+ cache: import("../defs").ITaskMiddleware<any, void, void, {
14
+ cache: import("../defs").IResource<{
15
+ defaultOptions?: any;
16
+ }, Promise<{
17
+ map: Map<string, import("./middleware/cache.middleware").ICacheInstance>;
18
+ cacheFactoryTask: import("../defs").TaskDependencyWithIntercept<any, Promise<import("./middleware/cache.middleware").ICacheInstance>>;
19
+ defaultOptions: any;
20
+ }>, {
21
+ cacheFactoryTask: import("../defs").ITask<any, Promise<import("./middleware/cache.middleware").ICacheInstance>, any, any, import("../defs").TagType[], import("../defs").TaskMiddlewareAttachmentType[]>;
22
+ }, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
23
+ }>;
24
+ retry: import("../defs").ITaskMiddleware<import("./middleware/retry.middleware").RetryMiddlewareConfig, void, void, any>;
25
+ timeout: import("../defs").ITaskMiddleware<import("./middleware/timeout.middleware").TimeoutMiddlewareConfig, void, void, any>;
26
+ };
27
+ resource: {
28
+ retry: import("../defs").IResourceMiddleware<import("./middleware/retry.middleware").RetryMiddlewareConfig, void, void, any>;
29
+ timeout: import("../defs").IResourceMiddleware<import("./middleware/timeout.middleware").TimeoutMiddlewareConfig, void, void, any>;
30
+ };
24
31
  };
@@ -9,9 +9,17 @@ const timeout_middleware_1 = require("./middleware/timeout.middleware");
9
9
  * Global middlewares
10
10
  */
11
11
  exports.globalMiddlewares = {
12
- requireContext: requireContext_middleware_1.requireContextMiddleware,
13
- retry: retry_middleware_1.retryMiddleware,
14
- cache: cache_middleware_1.cacheMiddleware,
15
- timeout: timeout_middleware_1.timeoutMiddleware,
12
+ requireContext: requireContext_middleware_1.requireContextTaskMiddleware,
13
+ task: {
14
+ requireContext: requireContext_middleware_1.requireContextTaskMiddleware,
15
+ cache: cache_middleware_1.cacheMiddleware,
16
+ // common with resources
17
+ retry: retry_middleware_1.retryTaskMiddleware,
18
+ timeout: timeout_middleware_1.timeoutTaskMiddleware,
19
+ },
20
+ resource: {
21
+ retry: retry_middleware_1.retryResourceMiddleware,
22
+ timeout: timeout_middleware_1.timeoutResourceMiddleware,
23
+ },
16
24
  };
17
25
  //# sourceMappingURL=globalMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalMiddleware.js","sourceRoot":"","sources":["../../src/globals/globalMiddleware.ts"],"names":[],"mappings":";;;AAEA,oEAAgE;AAChE,sFAAkF;AAClF,oEAAgE;AAChE,wEAAoE;AAEpE;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,cAAc,EAAE,oDAAwB;IACxC,KAAK,EAAE,kCAAe;IACtB,KAAK,EAAE,kCAAe;IACtB,OAAO,EAAE,sCAAiB;CAC3B,CAAC"}
1
+ {"version":3,"file":"globalMiddleware.js","sourceRoot":"","sources":["../../src/globals/globalMiddleware.ts"],"names":[],"mappings":";;;AACA,oEAAgE;AAChE,sFAAsF;AACtF,oEAGuC;AACvC,wEAGyC;AAEzC;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,cAAc,EAAE,wDAA4B;IAC5C,IAAI,EAAE;QACJ,cAAc,EAAE,wDAA4B;QAC5C,KAAK,EAAE,kCAAe;QACtB,wBAAwB;QACxB,KAAK,EAAE,sCAAmB;QAC1B,OAAO,EAAE,0CAAqB;KAC/B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,0CAAuB;QAC9B,OAAO,EAAE,8CAAyB;KACnC;CACF,CAAC"}
@@ -2,44 +2,29 @@ import { EventManager } from "../models/EventManager";
2
2
  import { Logger } from "../models/Logger";
3
3
  import { Store } from "../models/Store";
4
4
  import { TaskRunner } from "../models/TaskRunner";
5
+ import { MiddlewareManager } from "../models/MiddlewareManager";
5
6
  export declare const globalResources: {
6
- store: import("../defs").IResource<Store, Promise<Store>, {}, any, {
7
- title: string;
8
- description: string;
9
- tags: string[];
10
- }>;
11
- eventManager: import("../defs").IResource<EventManager, Promise<EventManager>, {}, any, {
12
- title: string;
13
- description: string;
14
- tags: string[];
15
- }>;
16
- taskRunner: import("../defs").IResource<TaskRunner, Promise<TaskRunner>, {}, any, {
17
- title: string;
18
- description: string;
19
- tags: string[];
20
- }>;
21
- logger: import("../defs").IResource<Logger, Promise<Logger>, {}, any, {
22
- title: string;
23
- description: string;
24
- }>;
7
+ store: import("../defs").IResource<void, Promise<Store>, {}, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
8
+ middlewareManager: import("../defs").IResource<void, Promise<MiddlewareManager>, {}, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
9
+ eventManager: import("../defs").IResource<void, Promise<EventManager>, {}, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
10
+ taskRunner: import("../defs").IResource<void, Promise<TaskRunner>, {}, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
11
+ logger: import("../defs").IResource<void, Promise<Logger>, {}, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
25
12
  cache: import("../defs").IResource<{
26
13
  defaultOptions?: any;
27
- async?: boolean;
28
14
  }, Promise<{
29
- map: Map<string | symbol, import("./middleware/cache.middleware").ICacheInstance>;
30
- cacheFactoryTask: (...args: [] | [any]) => Promise<import("./middleware/cache.middleware").ICacheInstance>;
31
- async: boolean | undefined;
15
+ map: Map<string, import("./middleware/cache.middleware").ICacheInstance>;
16
+ cacheFactoryTask: import("../defs").TaskDependencyWithIntercept<any, Promise<import("./middleware/cache.middleware").ICacheInstance>>;
32
17
  defaultOptions: any;
33
18
  }>, {
34
- cacheFactoryTask: import("../defs").ITask<any, Promise<import("./middleware/cache.middleware").ICacheInstance>, any, undefined, any>;
35
- }, any, any>;
19
+ cacheFactoryTask: import("../defs").ITask<any, Promise<import("./middleware/cache.middleware").ICacheInstance>, any, any, import("../defs").TagType[], import("../defs").TaskMiddlewareAttachmentType[]>;
20
+ }, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
36
21
  queue: import("../defs").IResource<void, Promise<{
37
- map: Map<string | symbol, import("..").Queue>;
22
+ map: Map<string, import("..").Queue>;
38
23
  run: <T>(id: string, task: (signal: AbortSignal) => Promise<T>) => Promise<T>;
39
24
  }>, {}, {
40
- map: Map<string | symbol, import("..").Queue>;
25
+ map: Map<string, import("..").Queue>;
41
26
  }, {
42
27
  title: string;
43
28
  description: string;
44
- }>;
29
+ }, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
45
30
  };
@@ -4,42 +4,50 @@ exports.globalResources = void 0;
4
4
  const define_1 = require("../define");
5
5
  const cache_middleware_1 = require("./middleware/cache.middleware");
6
6
  const queue_resource_1 = require("./resources/queue.resource");
7
+ const globalTags_1 = require("./globalTags");
8
+ const systemTag = globalTags_1.globalTags.system;
7
9
  const store = (0, define_1.defineResource)({
8
10
  id: "globals.resources.store",
9
- init: async (store) => store,
10
11
  meta: {
11
12
  title: "Store",
12
13
  description: "A global store that can be used to store and retrieve tasks, resources, events and middleware",
13
- tags: ["internal"],
14
14
  },
15
+ tags: [systemTag],
15
16
  });
16
17
  exports.globalResources = {
17
18
  store,
19
+ middlewareManager: (0, define_1.defineResource)({
20
+ id: "globals.resources.middlewareManager",
21
+ meta: {
22
+ title: "Middleware Manager",
23
+ description: "Manages all middleware and middleware interceptors.",
24
+ },
25
+ tags: [systemTag],
26
+ }),
18
27
  eventManager: (0, define_1.defineResource)({
19
28
  id: "globals.resources.eventManager",
20
- init: async (em) => em,
21
29
  meta: {
22
30
  title: "Event Manager",
23
31
  description: "Manages all events and event listeners. This is meant to be used internally for most use-cases.",
24
- tags: ["internal"],
25
32
  },
33
+ tags: [systemTag],
26
34
  }),
27
35
  taskRunner: (0, define_1.defineResource)({
28
36
  id: "globals.resources.taskRunner",
29
- init: async (runner) => runner,
30
37
  meta: {
31
38
  title: "Task Runner",
32
39
  description: "Manages the execution of tasks and task dependencies. This is meant to be used internally for most use-cases.",
33
- tags: ["internal"],
34
40
  },
41
+ tags: [systemTag],
35
42
  }),
36
43
  logger: (0, define_1.defineResource)({
37
44
  id: "globals.resources.logger",
38
- init: async (logger) => logger,
39
45
  meta: {
46
+ // We skip system tag for logger because it's part of the utility toolkit.
40
47
  title: "Logger",
41
48
  description: "Logs all events and errors. This is meant to be used internally for most use-cases. Emits a globals.log event for each log.",
42
49
  },
50
+ tags: [systemTag],
43
51
  }),
44
52
  cache: cache_middleware_1.cacheResource,
45
53
  queue: queue_resource_1.queueResource,
@@ -1 +1 @@
1
- {"version":3,"file":"globalResources.js","sourceRoot":"","sources":["../../src/globals/globalResources.ts"],"names":[],"mappings":";;;AAAA,sCAA2C;AAK3C,oEAA8D;AAC9D,+DAA2D;AAE3D,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC;IAC3B,EAAE,EAAE,yBAAyB;IAC7B,IAAI,EAAE,KAAK,EAAE,KAAY,EAAE,EAAE,CAAC,KAAK;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,WAAW,EACT,+FAA+F;QACjG,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB;CACF,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG;IAC7B,KAAK;IACL,YAAY,EAAE,IAAA,uBAAc,EAAC;QAC3B,EAAE,EAAE,gCAAgC;QACpC,IAAI,EAAE,KAAK,EAAE,EAAgB,EAAE,EAAE,CAAC,EAAE;QACpC,IAAI,EAAE;YACJ,KAAK,EAAE,eAAe;YACtB,WAAW,EACT,iGAAiG;YACnG,IAAI,EAAE,CAAC,UAAU,CAAC;SACnB;KACF,CAAC;IACF,UAAU,EAAE,IAAA,uBAAc,EAAC;QACzB,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE,KAAK,EAAE,MAAkB,EAAE,EAAE,CAAC,MAAM;QAC1C,IAAI,EAAE;YACJ,KAAK,EAAE,aAAa;YACpB,WAAW,EACT,+GAA+G;YACjH,IAAI,EAAE,CAAC,UAAU,CAAC;SACnB;KACF,CAAC;IACF,MAAM,EAAE,IAAA,uBAAc,EAAC;QACrB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,CAAC,MAAM;QACtC,IAAI,EAAE;YACJ,KAAK,EAAE,QAAQ;YACf,WAAW,EACT,6HAA6H;SAChI;KACF,CAAC;IACF,KAAK,EAAE,gCAAa;IACpB,KAAK,EAAE,8BAAa;CACrB,CAAC"}
1
+ {"version":3,"file":"globalResources.js","sourceRoot":"","sources":["../../src/globals/globalResources.ts"],"names":[],"mappings":";;;AAAA,sCAA2C;AAK3C,oEAA8D;AAC9D,+DAA2D;AAC3D,6CAA0C;AAG1C,MAAM,SAAS,GAAG,uBAAU,CAAC,MAAM,CAAC;AAEpC,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAuB;IACjD,EAAE,EAAE,yBAAyB;IAC7B,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,WAAW,EACT,+FAA+F;KAClG;IACD,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG;IAC7B,KAAK;IACL,iBAAiB,EAAE,IAAA,uBAAc,EAAmC;QAClE,EAAE,EAAE,qCAAqC;QACzC,IAAI,EAAE;YACJ,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,qDAAqD;SACnE;QACD,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,IAAA,uBAAc,EAA8B;QACxD,EAAE,EAAE,gCAAgC;QACpC,IAAI,EAAE;YACJ,KAAK,EAAE,eAAe;YACtB,WAAW,EACT,iGAAiG;SACpG;QACD,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC;IACF,UAAU,EAAE,IAAA,uBAAc,EAA4B;QACpD,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE;YACJ,KAAK,EAAE,aAAa;YACpB,WAAW,EACT,+GAA+G;SAClH;QACD,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,IAAA,uBAAc,EAAwB;QAC5C,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE;YACJ,0EAA0E;YAC1E,KAAK,EAAE,QAAQ;YACf,WAAW,EACT,6HAA6H;SAChI;QACD,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,gCAAa;IACpB,KAAK,EAAE,8BAAa;CACrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const globalTags: {
2
+ system: import("../defs").ITag<{
3
+ metadata?: Record<string, any>;
4
+ }, void, void>;
5
+ excludeFromGlobalHooks: import("../defs").ITag<{
6
+ metadata?: Record<string, any>;
7
+ }, void, void>;
8
+ debug: import("../defs").ITag<import("./resources/debug").DebugFriendlyConfig, void, void>;
9
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalTags = void 0;
4
+ const define_1 = require("../define");
5
+ const debug_tag_1 = require("./resources/debug/debug.tag");
6
+ exports.globalTags = {
7
+ system: (0, define_1.defineTag)({
8
+ id: "globals.tags.system",
9
+ meta: {
10
+ title: "System",
11
+ description: "System-wide tags. Used for filtering out noise when you're focusing on your application.",
12
+ },
13
+ }),
14
+ excludeFromGlobalHooks: (0, define_1.defineTag)({
15
+ id: "globals.tags.excludeFromGlobalHooks",
16
+ meta: {
17
+ title: "Exclude Event From Global Hooks",
18
+ description: "Marks events that should not be dispatched to global hooks (on: '*').",
19
+ },
20
+ }),
21
+ debug: debug_tag_1.debugTag,
22
+ };
23
+ //# sourceMappingURL=globalTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalTags.js","sourceRoot":"","sources":["../../src/globals/globalTags.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AAEtC,2DAAuD;AAE1C,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE,IAAA,kBAAS,EAEd;QACD,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE;YACJ,KAAK,EAAE,QAAQ;YACf,WAAW,EACT,0FAA0F;SAC7F;KACF,CAAC;IACF,sBAAsB,EAAE,IAAA,kBAAS,EAE9B;QACD,EAAE,EAAE,qCAAqC;QACzC,IAAI,EAAE;YACJ,KAAK,EAAE,iCAAiC;YACxC,WAAW,EACT,uEAAuE;SAC1E;KACF,CAAC;IACF,KAAK,EAAE,oBAAQ;CAChB,CAAC"}
@@ -4,31 +4,24 @@ export interface ICacheInstance {
4
4
  get(key: string): any;
5
5
  clear(): void;
6
6
  }
7
- export declare const cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, undefined, any>;
7
+ export declare const cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, any, import("../../defs").TagType[], import("../../defs").TaskMiddlewareAttachmentType[]>;
8
8
  type CacheResourceConfig = {
9
9
  defaultOptions?: any;
10
- /**
11
- * This specifies whether the cache handler is async or not (get, set, clear)
12
- * This is for speed purposes.
13
- */
14
- async?: boolean;
15
10
  };
16
11
  export declare const cacheResource: IResource<CacheResourceConfig, Promise<{
17
- map: Map<string | symbol, ICacheInstance>;
18
- cacheFactoryTask: (...args: [] | [any]) => Promise<ICacheInstance>;
19
- async: boolean | undefined;
12
+ map: Map<string, ICacheInstance>;
13
+ cacheFactoryTask: import("../../defs").TaskDependencyWithIntercept<any, Promise<ICacheInstance>>;
20
14
  defaultOptions: any;
21
15
  }>, {
22
- cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, undefined, any>;
23
- }, any, any>;
24
- export declare const cacheMiddleware: import("../../defs").IMiddleware<any, {
16
+ cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, any, import("../../defs").TagType[], import("../../defs").TaskMiddlewareAttachmentType[]>;
17
+ }, any, any, import("../../defs").TagType[], import("../../defs").ResourceMiddlewareAttachmentType[]>;
18
+ export declare const cacheMiddleware: import("../../defs").ITaskMiddleware<any, void, void, {
25
19
  cache: IResource<CacheResourceConfig, Promise<{
26
- map: Map<string | symbol, ICacheInstance>;
27
- cacheFactoryTask: (...args: [] | [any]) => Promise<ICacheInstance>;
28
- async: boolean | undefined;
20
+ map: Map<string, ICacheInstance>;
21
+ cacheFactoryTask: import("../../defs").TaskDependencyWithIntercept<any, Promise<ICacheInstance>>;
29
22
  defaultOptions: any;
30
23
  }>, {
31
- cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, undefined, any>;
32
- }, any, any>;
24
+ cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, any, import("../../defs").TagType[], import("../../defs").TaskMiddlewareAttachmentType[]>;
25
+ }, any, any, import("../../defs").TagType[], import("../../defs").ResourceMiddlewareAttachmentType[]>;
33
26
  }>;
34
27
  export {};