@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,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.emailPackage = exports.loggingPackage = exports.userPackage = void 0;
4
- exports.demonstrateRegistrators = demonstrateRegistrators;
5
- const __1 = require("../");
6
- // === USER MANAGEMENT PACKAGE ===
7
- const userCreatedEvent = (0, __1.event)({
8
- id: "user.events.created",
9
- });
10
- const userService = (0, __1.resource)({
11
- id: "user.services.user",
12
- init: async () => ({
13
- createUser: async (email) => ({ id: "123", email }),
14
- getUser: async (id) => ({ id, email: "user@example.com" }),
15
- }),
16
- });
17
- const createUserTask = (0, __1.task)({
18
- id: "user.tasks.create",
19
- dependencies: {
20
- userService,
21
- userCreatedEvent,
22
- },
23
- run: async (email, deps) => {
24
- const user = await deps.userService.createUser(email);
25
- await deps.userCreatedEvent({ userId: user.id, email: user.email });
26
- return user;
27
- },
28
- });
29
- // BEFORE: Had to create a resource just for registration
30
- const userPackageOldWay = (0, __1.resource)({
31
- id: "user.package.old",
32
- register: [userService, createUserTask, userCreatedEvent],
33
- // No init logic needed, just grouping items together
34
- });
35
- // AFTER: Much cleaner with registrator
36
- exports.userPackage = (0, __1.registrator)([
37
- userService,
38
- createUserTask,
39
- userCreatedEvent,
40
- ]);
41
- // === LOGGING PACKAGE ===
42
- const logEvent = (0, __1.event)({
43
- id: "logging.events.log",
44
- });
45
- const logMiddleware = (0, __1.middleware)({
46
- id: "logging.middleware.taskLogger",
47
- dependencies: { logEvent },
48
- run: async (data, deps) => {
49
- await deps.logEvent({
50
- level: "info",
51
- message: `Task ${data.taskDefinition?.id} starting`,
52
- });
53
- const result = await data.next(data.input);
54
- await deps.logEvent({
55
- level: "info",
56
- message: `Task ${data.taskDefinition?.id} completed`,
57
- });
58
- return result;
59
- },
60
- });
61
- const loggerService = (0, __1.resource)({
62
- id: "logging.services.logger",
63
- dependencies: { logEvent },
64
- init: async (_, deps) => {
65
- // Listen to all log events
66
- return {
67
- info: (message) => deps.logEvent({ level: "info", message }),
68
- error: (message) => deps.logEvent({ level: "error", message }),
69
- };
70
- },
71
- });
72
- exports.loggingPackage = (0, __1.registrator)([
73
- logEvent,
74
- logMiddleware,
75
- loggerService,
76
- ]);
77
- // === EMAIL PACKAGE ===
78
- const emailSentEvent = (0, __1.event)({
79
- id: "email.events.sent",
80
- });
81
- const emailService = (0, __1.resource)({
82
- id: "email.services.mailer",
83
- dependencies: { emailSentEvent },
84
- init: async (_, deps) => ({
85
- sendEmail: async (to, subject, body) => {
86
- console.log(`Sending email to ${to}: ${subject}`);
87
- await deps.emailSentEvent({ to, subject });
88
- return { messageId: "msg-123" };
89
- },
90
- }),
91
- });
92
- const sendWelcomeEmailTask = (0, __1.task)({
93
- id: "email.tasks.sendWelcome",
94
- dependencies: { emailService },
95
- on: userCreatedEvent, // Listen to user creation
96
- run: async (event, deps) => {
97
- const { userId, email } = event.data;
98
- return deps.emailService.sendEmail(email, "Welcome!", `Welcome user ${userId}!`);
99
- },
100
- });
101
- exports.emailPackage = (0, __1.registrator)([
102
- emailSentEvent,
103
- emailService,
104
- sendWelcomeEmailTask,
105
- ]);
106
- // === MAIN APPLICATION ===
107
- // Core system services
108
- const coreServices = (0, __1.registrator)([
109
- exports.loggingPackage,
110
- // Could add database, cache, config, etc.
111
- ]);
112
- // Business logic packages
113
- const businessPackages = (0, __1.registrator)([
114
- exports.userPackage,
115
- exports.emailPackage,
116
- // Could add order, payment, inventory packages, etc.
117
- ]);
118
- // Main application
119
- const app = (0, __1.resource)({
120
- id: "app",
121
- register: [coreServices, businessPackages],
122
- dependencies: {
123
- createUserTask,
124
- loggerService,
125
- },
126
- async init(_, deps) {
127
- await deps.loggerService.info("Application starting...");
128
- // Create a test user to demonstrate the system
129
- const user = await deps.createUserTask("john@example.com");
130
- await deps.loggerService.info(`Application ready! Created user: ${user.id}`);
131
- return {
132
- createUser: deps.createUserTask,
133
- logger: deps.loggerService,
134
- };
135
- },
136
- });
137
- // === DEMONSTRATION ===
138
- async function demonstrateRegistrators() {
139
- console.log("=== Registrator Example ===\n");
140
- const appInstance = await (0, __1.run)(app);
141
- console.log("\nCreating another user...");
142
- const newUser = await appInstance.createUser("jane@example.com");
143
- console.log(`\nUser created: ${JSON.stringify(newUser)}`);
144
- console.log("\nCheck the logs above to see the middleware and event system in action!");
145
- return appInstance;
146
- }
147
- //# sourceMappingURL=registrator-example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registrator-example.js","sourceRoot":"","sources":["../../src/examples/registrator-example.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { Router } from "express";
2
- import type { IResource } from "../defs";
3
- type DocsRouterOptions = {
4
- getRoot: () => {
5
- resource: IResource<any, any, any, any>;
6
- config?: any;
7
- };
8
- includeGlobals?: boolean;
9
- enabled?: boolean | (() => boolean);
10
- };
11
- export declare function createDocsRouter(options: DocsRouterOptions): Router;
12
- export {};
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDocsRouter = createDocsRouter;
4
- const express_1 = require("express");
5
- const introspect_1 = require("../docs/introspect");
6
- function createDocsRouter(options) {
7
- const router = express_1.default.Router();
8
- const isEnabled = () => {
9
- if (typeof options.enabled === "function")
10
- return options.enabled();
11
- if (typeof options.enabled === "boolean")
12
- return options.enabled;
13
- return process.env.RUNNER_DOCS === "1";
14
- };
15
- router.get("/docs.json", async (req, res) => {
16
- if (!isEnabled())
17
- return res.status(404).end();
18
- const { resource, config } = options.getRoot();
19
- const graph = await (0, introspect_1.introspectResource)(resource, config ?? {}, {
20
- includeGlobals: options.includeGlobals,
21
- });
22
- res.json(graph);
23
- });
24
- router.get("/docs", (req, res) => {
25
- if (!isEnabled())
26
- return res.status(404).end();
27
- res.setHeader("content-type", "text/html");
28
- res.end(`<!doctype html>
29
- <html>
30
- <head>
31
- <meta charset="utf-8" />
32
- <title>Runner Docs</title>
33
- <style>
34
- body { font-family: -apple-system, Segoe UI, Roboto, sans-serif; margin: 2rem; }
35
- pre { background: #f6f8fa; padding: 1rem; overflow: auto; }
36
- </style>
37
- </head>
38
- <body>
39
- <h1>Runner Docs</h1>
40
- <p>This is a minimal viewer. Fetching <code>/docs.json</code> below:</p>
41
- <pre id="out">Loading...</pre>
42
- <script>
43
- fetch('./docs.json').then(r=>r.json()).then(g=>{
44
- document.getElementById('out').textContent = JSON.stringify(g, null, 2);
45
- }).catch(e=>{
46
- document.getElementById('out').textContent = String(e);
47
- });
48
- </script>
49
- </body>
50
- </html>`);
51
- });
52
- return router;
53
- }
54
- //# sourceMappingURL=docsRouter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docsRouter.js","sourceRoot":"","sources":["../../src/express/docsRouter.ts"],"names":[],"mappings":";;AAUA,4CA8CC;AAxDD,qCAA0C;AAC1C,mDAAwD;AASxD,SAAgB,gBAAgB,CAAC,OAA0B;IACzD,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAkB,EAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE;YAC7D,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/B,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;UAsBF,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,40 +0,0 @@
1
- import { ITask, IResource } from "./defs";
2
- import { ILog } from "./models/Logger";
3
- export declare const globalEvents: {
4
- beforeInit: import("./defs").IEventDefinition<any>;
5
- afterInit: import("./defs").IEventDefinition<any>;
6
- log: import("./defs").IEventDefinition<ILog>;
7
- tasks: {
8
- beforeRun: import("./defs").IEventDefinition<{
9
- task: ITask<any, any, any>;
10
- input: any;
11
- }>;
12
- afterRun: import("./defs").IEventDefinition<{
13
- task: ITask<any, any, any>;
14
- input: any;
15
- output: any;
16
- }>;
17
- onError: import("./defs").IEventDefinition<{
18
- error: any;
19
- suppress: () => void;
20
- task: ITask<any, any, any>;
21
- }>;
22
- };
23
- resources: {
24
- beforeInit: import("./defs").IEventDefinition<{
25
- resource: IResource<any, any, any>;
26
- config: any;
27
- }>;
28
- afterInit: import("./defs").IEventDefinition<{
29
- resource: IResource<any, any, any>;
30
- config: any;
31
- value: any;
32
- }>;
33
- onError: import("./defs").IEventDefinition<{
34
- error: Error;
35
- suppress: () => void;
36
- resource: IResource<any, any, any>;
37
- }>;
38
- };
39
- };
40
- export declare const globalEventsArray: import("./defs").IEventDefinition<any>[];
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.globalEventsArray = exports.globalEvents = void 0;
4
- const define_1 = require("./define");
5
- exports.globalEvents = {
6
- beforeInit: (0, define_1.defineEvent)({
7
- id: "global.events.beforeInit",
8
- meta: {
9
- title: "Before Initialization",
10
- description: "Triggered before any resource or system-wide initialization occurs.",
11
- tags: ["system"],
12
- },
13
- }),
14
- afterInit: (0, define_1.defineEvent)({
15
- id: "global.events.afterInit",
16
- meta: {
17
- title: "After Initialization",
18
- description: "Fired after the system or resource initialization is completed.",
19
- tags: ["system"],
20
- },
21
- }),
22
- log: (0, define_1.defineEvent)({
23
- id: "global.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: "global.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: "global.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: "global.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: "global.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: "global.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: "global.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
- };
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
- ];
94
- //# sourceMappingURL=globalEvents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalEvents.js","sourceRoot":"","sources":["../src/globalEvents.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAI1B,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE,IAAA,oBAAW,EAAC;QACtB,EAAE,EAAE,0BAA0B;QAC9B,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,yBAAyB;QAC7B,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,mBAAmB;QACvB,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,+BAA+B;YACnC,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,EAIlB;YACD,EAAE,EAAE,8BAA8B;YAClC,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,6BAA6B;YACjC,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,oCAAoC;YACxC,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,mCAAmC;YACvC,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,iCAAiC;YACrC,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,10 +0,0 @@
1
- import { EventManager } from "./models/EventManager";
2
- import { Logger } from "./models/Logger";
3
- import { Store } from "./models/Store";
4
- import { TaskRunner } from "./models/TaskRunner";
5
- export declare const globalResources: {
6
- store: import("./defs").IResource<Store, Store, {}>;
7
- eventManager: import("./defs").IResource<EventManager, EventManager, {}>;
8
- taskRunner: import("./defs").IResource<TaskRunner, TaskRunner, {}>;
9
- logger: import("./defs").IResource<Logger, Logger, {}>;
10
- };
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.globalResources = void 0;
4
- const define_1 = require("./define");
5
- const store = (0, define_1.defineResource)({
6
- id: "global.resources.store",
7
- init: async (store) => store,
8
- meta: {
9
- title: "Store",
10
- description: "A global store that can be used to store and retrieve tasks, resources, events and middleware",
11
- tags: ["internal"],
12
- },
13
- });
14
- exports.globalResources = {
15
- store,
16
- eventManager: (0, define_1.defineResource)({
17
- id: "global.resources.eventManager",
18
- init: async (em) => em,
19
- meta: {
20
- title: "Event Manager",
21
- description: "Manages all events and event listeners. This is meant to be used internally for most use-cases.",
22
- tags: ["internal"],
23
- },
24
- }),
25
- taskRunner: (0, define_1.defineResource)({
26
- id: "global.resources.taskRunner",
27
- init: async (runner) => runner,
28
- meta: {
29
- title: "Task Runner",
30
- description: "Manages the execution of tasks and task dependencies. This is meant to be used internally for most use-cases.",
31
- tags: ["internal"],
32
- },
33
- }),
34
- logger: (0, define_1.defineResource)({
35
- id: "global.resources.logger",
36
- init: async (logger) => logger,
37
- meta: {
38
- title: "Logger",
39
- description: "Logs all events and errors. This is meant to be used internally for most use-cases. Emits a global.log event for each log.",
40
- },
41
- }),
42
- };
43
- //# sourceMappingURL=globalResources.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalResources.js","sourceRoot":"","sources":["../src/globalResources.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAM1C,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC;IAC3B,EAAE,EAAE,wBAAwB;IAC5B,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,+BAA+B;QACnC,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,6BAA6B;QACjC,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,yBAAyB;QAC7B,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,CAAC,MAAM;QACtC,IAAI,EAAE;YACJ,KAAK,EAAE,QAAQ;YACf,WAAW,EACT,4HAA4H;SAC/H;KACF,CAAC;CACH,CAAC"}
@@ -1,40 +0,0 @@
1
- import { IMiddlewareMeta } from "./common.types";
2
- import { symbolMiddleware, symbolMiddlewareConfigured, symbolMiddlewareEverywhereTasks, symbolMiddlewareEverywhereResources } from "./symbols";
3
- import { DependencyMapType, DependencyValuesType } from "./task.types";
4
- export type MiddlewareAttachments = IMiddleware<void> | IMiddleware<{
5
- [K in any]?: any;
6
- }> | IMiddlewareConfigured<any>;
7
- export interface IMiddlewareDefinition<TConfig = any, TDependencies extends DependencyMapType = any> {
8
- id: string;
9
- dependencies?: TDependencies | (() => TDependencies);
10
- run: (input: IMiddlewareExecutionInput, dependencies: DependencyValuesType<TDependencies>, config: TConfig) => Promise<any>;
11
- meta?: IMiddlewareMeta;
12
- }
13
- export interface IMiddleware<TConfig = any, TDependencies extends DependencyMapType = any> extends IMiddlewareDefinition<TConfig, TDependencies> {
14
- [symbolMiddleware]: true;
15
- [symbolMiddlewareConfigured]?: boolean;
16
- [symbolMiddlewareEverywhereTasks]?: boolean;
17
- [symbolMiddlewareEverywhereResources]?: boolean;
18
- dependencies: TDependencies | (() => TDependencies);
19
- everywhere(): IMiddleware<TConfig, TDependencies>;
20
- config: TConfig;
21
- with: (config: TConfig) => IMiddlewareConfigured<TConfig, TDependencies>;
22
- }
23
- export interface IMiddlewareConfigured<TConfig = any, TDependencies extends DependencyMapType = any> extends IMiddleware<TConfig, TDependencies> {
24
- [symbolMiddlewareConfigured]: true;
25
- }
26
- export interface IMiddlewareDefinitionConfigured<C extends Record<string, any> = {}> {
27
- middleware: IMiddleware<C>;
28
- config?: C;
29
- }
30
- export interface IMiddlewareExecutionInput<TTaskInput = any, TResourceConfig = any> {
31
- task?: {
32
- definition: import("./task.types").ITask<TTaskInput>;
33
- input: TTaskInput;
34
- };
35
- resource?: {
36
- definition: import("./resource.types").IResource<TResourceConfig>;
37
- config: TResourceConfig;
38
- };
39
- next: (taskInputOrResourceConfig?: TTaskInput | TResourceConfig) => Promise<any>;
40
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.types.js","sourceRoot":"","sources":["../src/middleware.types.ts"],"names":[],"mappings":";;AACA,uCAA+I"}
@@ -1,14 +0,0 @@
1
- import { EventManager } from "./EventManager";
2
- import { Store } from "./Store";
3
- export declare function getBuiltInResources(eventManager: EventManager, store: Store): (import("../defs").IResource<void, Promise<{
4
- map: Map<string | symbol, import("./Queue").Queue>;
5
- run: <T>(id: string, task: (signal: AbortSignal) => Promise<T>) => Promise<T>;
6
- }>, {}, {
7
- map: Map<string | symbol, import("./Queue").Queue>;
8
- }, {
9
- title: string;
10
- description: string;
11
- }> | import("../defs").IResourceWithConfig<EventManager, Promise<EventManager>, {}> | import("../defs").IResourceWithConfig<Store, Promise<Store>, {}>)[];
12
- export declare function getBuiltInMiddlewares(): (import("../defs").IMiddleware<{
13
- context: import("../context").Context<any>;
14
- }, import("../defs").DependencyMapType> | import("../defs").IMiddleware<import("../globals/middleware/retry.middleware").RetryMiddlewareConfig, import("../defs").DependencyMapType> | import("../defs").IMiddleware<import("../globals/middleware/timeout.middleware").TimeoutMiddlewareConfig, import("../defs").DependencyMapType>)[];
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBuiltInResources = getBuiltInResources;
4
- exports.getBuiltInMiddlewares = getBuiltInMiddlewares;
5
- const globalResources_1 = require("../globals/globalResources");
6
- const requireContext_middleware_1 = require("../globals/middleware/requireContext.middleware");
7
- const retry_middleware_1 = require("../globals/middleware/retry.middleware");
8
- const timeout_middleware_1 = require("../globals/middleware/timeout.middleware");
9
- function getBuiltInResources(eventManager, store) {
10
- return [
11
- globalResources_1.globalResources.eventManager.with(eventManager),
12
- globalResources_1.globalResources.store.with(store),
13
- globalResources_1.globalResources.queue,
14
- ];
15
- }
16
- function getBuiltInMiddlewares() {
17
- return [requireContext_middleware_1.requireContextMiddleware, retry_middleware_1.retryMiddleware, timeout_middleware_1.timeoutMiddleware];
18
- }
19
- //# sourceMappingURL=StoreConstants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StoreConstants.js","sourceRoot":"","sources":["../../src/models/StoreConstants.ts"],"names":[],"mappings":";;AAOA,kDAMC;AAED,sDAEC;AAjBD,gEAA6D;AAC7D,+FAA2F;AAC3F,6EAAyE;AACzE,iFAA6E;AAI7E,SAAgB,mBAAmB,CAAC,YAA0B,EAAE,KAAY;IAC1E,OAAO;QACL,iCAAe,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/C,iCAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,iCAAe,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO,CAAC,oDAAwB,EAAE,kCAAe,EAAE,sCAAiB,CAAC,CAAC;AACxE,CAAC"}
@@ -1,21 +0,0 @@
1
- import { DependencyMapType, DependencyValuesType, IEventDefinition, IResource, ITask, IMiddleware, IEvent } from "../defs";
2
- export type ResourceStoreElementType<C = any, V extends Promise<any> = any, D extends DependencyMapType = {}, TContext = any> = {
3
- resource: IResource<C, V, D>;
4
- computedDependencies?: DependencyValuesType<D>;
5
- config: C;
6
- value: V;
7
- context: TContext;
8
- isInitialized?: boolean;
9
- };
10
- export type TaskStoreElementType<Input = any, Output extends Promise<any> = any, D extends DependencyMapType = any, TOn extends "*" | IEventDefinition | undefined = any> = {
11
- task: ITask<Input, Output, D, TOn>;
12
- computedDependencies: DependencyValuesType<D>;
13
- isInitialized: boolean;
14
- };
15
- export type MiddlewareStoreElementType<TDeps extends DependencyMapType = any> = {
16
- middleware: IMiddleware<TDeps>;
17
- computedDependencies: DependencyValuesType<TDeps>;
18
- };
19
- export type EventStoreElementType = {
20
- event: IEvent<any>;
21
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"StoreTypes.js","sourceRoot":"","sources":["../../src/models/StoreTypes.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- export type VarStoreElement = {
2
- defaultValue?: any;
3
- cast?: "string" | "number" | "boolean" | "date";
4
- description?: string;
5
- };
6
- export declare class VarStore<M extends {
7
- [k: string]: any;
8
- } = {
9
- [k: string]: any;
10
- }> {
11
- private config;
12
- private values;
13
- constructor(_config?: Record<string, VarStoreElement>, defaultSet?: Record<string, any>);
14
- set(id: any, value: any): void;
15
- get<K extends string & keyof M>(id: K): M[K];
16
- has(id: string): boolean;
17
- }
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VarStore = void 0;
4
- class VarStore {
5
- config = new Map();
6
- values = new Map();
7
- constructor(_config, defaultSet) {
8
- if (!_config)
9
- _config = {};
10
- if (!defaultSet)
11
- defaultSet = {};
12
- for (const k in _config) {
13
- this.config.set(k, _config[k]);
14
- }
15
- // write each key from process env
16
- Object.keys(defaultSet).forEach((key) => {
17
- let value = defaultSet[key];
18
- this.set(key, value);
19
- });
20
- this.config.forEach((value, key) => {
21
- if (!this.has(key)) {
22
- if (value.defaultValue !== undefined) {
23
- this.set(key, value.defaultValue);
24
- }
25
- }
26
- });
27
- }
28
- set(id, value) {
29
- const cast = this.config.get(id)?.cast;
30
- if (cast) {
31
- if (cast === "number") {
32
- value = Number(value);
33
- }
34
- if (cast === "boolean") {
35
- // cast "no", "0", "none", "false" to false
36
- if (["no", "0", "none", "false"].includes(String(value).toLowerCase())) {
37
- value = false;
38
- }
39
- else {
40
- value = Boolean(value);
41
- }
42
- }
43
- if (cast === "date") {
44
- value = new Date(value);
45
- }
46
- if (cast === "string") {
47
- value = String(value);
48
- }
49
- }
50
- this.values.set(id, value);
51
- }
52
- get(id) {
53
- return this.values.get(id);
54
- }
55
- has(id) {
56
- return this.values.has(id);
57
- }
58
- }
59
- exports.VarStore = VarStore;
60
- //# sourceMappingURL=VarStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VarStore.js","sourceRoot":"","sources":["../../src/models/VarStore.ts"],"names":[],"mappings":";;;AAOA,MAAa,QAAQ;IACX,MAAM,GAAiC,IAAI,GAAG,EAGnD,CAAC;IACI,MAAM,GAAqB,IAAI,GAAG,EAAE,CAAC;IAE7C,YACE,OAAyC,EACzC,UAAgC;QAEhC,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU;YAAE,UAAU,GAAG,EAAE,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,kCAAkC;QAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACtC,IAAI,KAAK,GAAQ,UAAU,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACrC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,EAAE,EAAE,KAAK;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;QAEvC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,2CAA2C;gBAC3C,IACE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,EAClE,CAAC;oBACD,KAAK,GAAG,KAAK,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAA6B,EAAK;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;CACF;AArED,4BAqEC"}