@ddd-ts-kit/di 0.0.0-stage → 0.1.0

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 (446) hide show
  1. package/README.md +1075 -2
  2. package/dist/application/application-options.d.ts +19 -0
  3. package/dist/application/application-options.d.ts.map +1 -0
  4. package/dist/application/application-options.js +2 -0
  5. package/dist/application/application-options.js.map +1 -0
  6. package/dist/application/application.d.ts +22 -0
  7. package/dist/application/application.d.ts.map +1 -0
  8. package/dist/application/application.js +2 -0
  9. package/dist/application/application.js.map +1 -0
  10. package/dist/application/assemble.d.ts +6 -0
  11. package/dist/application/assemble.d.ts.map +1 -0
  12. package/dist/application/assemble.js +16 -0
  13. package/dist/application/assemble.js.map +1 -0
  14. package/dist/application/binding-info.d.ts +10 -0
  15. package/dist/application/binding-info.d.ts.map +1 -0
  16. package/dist/application/binding-info.js +2 -0
  17. package/dist/application/binding-info.js.map +1 -0
  18. package/dist/application/bound-ports.d.ts +8 -0
  19. package/dist/application/bound-ports.d.ts.map +1 -0
  20. package/dist/application/bound-ports.js +2 -0
  21. package/dist/application/bound-ports.js.map +1 -0
  22. package/dist/application/consumer-subscriptions.d.ts +21 -0
  23. package/dist/application/consumer-subscriptions.d.ts.map +1 -0
  24. package/dist/application/consumer-subscriptions.js +59 -0
  25. package/dist/application/consumer-subscriptions.js.map +1 -0
  26. package/dist/application/container-application.d.ts +44 -0
  27. package/dist/application/container-application.d.ts.map +1 -0
  28. package/dist/application/container-application.js +224 -0
  29. package/dist/application/container-application.js.map +1 -0
  30. package/dist/application/create-application.d.ts +10 -0
  31. package/dist/application/create-application.d.ts.map +1 -0
  32. package/dist/application/create-application.js +12 -0
  33. package/dist/application/create-application.js.map +1 -0
  34. package/dist/application/decorate.d.ts +8 -0
  35. package/dist/application/decorate.d.ts.map +1 -0
  36. package/dist/application/decorate.js +2 -0
  37. package/dist/application/decorate.js.map +1 -0
  38. package/dist/application/delegating-applications.d.ts +7 -0
  39. package/dist/application/delegating-applications.d.ts.map +1 -0
  40. package/dist/application/delegating-applications.js +6 -0
  41. package/dist/application/delegating-applications.js.map +1 -0
  42. package/dist/application/failures-of.d.ts +3 -0
  43. package/dist/application/failures-of.d.ts.map +1 -0
  44. package/dist/application/failures-of.js +13 -0
  45. package/dist/application/failures-of.js.map +1 -0
  46. package/dist/application/is-handler-registry.d.ts +9 -0
  47. package/dist/application/is-handler-registry.d.ts.map +1 -0
  48. package/dist/application/is-handler-registry.js +5 -0
  49. package/dist/application/is-handler-registry.js.map +1 -0
  50. package/dist/application/job-lifecycle.d.ts +16 -0
  51. package/dist/application/job-lifecycle.d.ts.map +1 -0
  52. package/dist/application/job-lifecycle.js +48 -0
  53. package/dist/application/job-lifecycle.js.map +1 -0
  54. package/dist/application/override-for-tests.d.ts +8 -0
  55. package/dist/application/override-for-tests.d.ts.map +1 -0
  56. package/dist/application/override-for-tests.js +14 -0
  57. package/dist/application/override-for-tests.js.map +1 -0
  58. package/dist/application/override.d.ts +5 -0
  59. package/dist/application/override.d.ts.map +1 -0
  60. package/dist/application/override.js +5 -0
  61. package/dist/application/override.js.map +1 -0
  62. package/dist/application/with-binding-aspects.d.ts +8 -0
  63. package/dist/application/with-binding-aspects.d.ts.map +1 -0
  64. package/dist/application/with-binding-aspects.js +26 -0
  65. package/dist/application/with-binding-aspects.js.map +1 -0
  66. package/dist/authorization/assert-authorization-declared.d.ts +5 -0
  67. package/dist/authorization/assert-authorization-declared.d.ts.map +1 -0
  68. package/dist/authorization/assert-authorization-declared.js +28 -0
  69. package/dist/authorization/assert-authorization-declared.js.map +1 -0
  70. package/dist/authorization/authorization-mode.d.ts +3 -0
  71. package/dist/authorization/authorization-mode.d.ts.map +1 -0
  72. package/dist/authorization/authorization-mode.js +2 -0
  73. package/dist/authorization/authorization-mode.js.map +1 -0
  74. package/dist/authorization/declarations-of.d.ts +4 -0
  75. package/dist/authorization/declarations-of.d.ts.map +1 -0
  76. package/dist/authorization/declarations-of.js +4 -0
  77. package/dist/authorization/declarations-of.js.map +1 -0
  78. package/dist/authorization/declared-policies.d.ts +10 -0
  79. package/dist/authorization/declared-policies.d.ts.map +1 -0
  80. package/dist/authorization/declared-policies.js +8 -0
  81. package/dist/authorization/declared-policies.js.map +1 -0
  82. package/dist/authorization/declared-requirement.d.ts +5 -0
  83. package/dist/authorization/declared-requirement.d.ts.map +1 -0
  84. package/dist/authorization/declared-requirement.js +16 -0
  85. package/dist/authorization/declared-requirement.js.map +1 -0
  86. package/dist/authorization/pass-every-message.d.ts +3 -0
  87. package/dist/authorization/pass-every-message.d.ts.map +1 -0
  88. package/dist/authorization/pass-every-message.js +2 -0
  89. package/dist/authorization/pass-every-message.js.map +1 -0
  90. package/dist/authorization/protected-requirement.d.ts +6 -0
  91. package/dist/authorization/protected-requirement.d.ts.map +1 -0
  92. package/dist/authorization/protected-requirement.js +9 -0
  93. package/dist/authorization/protected-requirement.js.map +1 -0
  94. package/dist/authorization/requirement-options.d.ts +8 -0
  95. package/dist/authorization/requirement-options.d.ts.map +1 -0
  96. package/dist/authorization/requirement-options.js +2 -0
  97. package/dist/authorization/requirement-options.js.map +1 -0
  98. package/dist/authorization/requirement.d.ts +5 -0
  99. package/dist/authorization/requirement.d.ts.map +1 -0
  100. package/dist/authorization/requirement.js +2 -0
  101. package/dist/authorization/requirement.js.map +1 -0
  102. package/dist/authorization/use-case-access.d.ts +2 -0
  103. package/dist/authorization/use-case-access.d.ts.map +1 -0
  104. package/dist/authorization/use-case-access.js +2 -0
  105. package/dist/authorization/use-case-access.js.map +1 -0
  106. package/dist/authorization/use-case-declaration.d.ts +14 -0
  107. package/dist/authorization/use-case-declaration.d.ts.map +1 -0
  108. package/dist/authorization/use-case-declaration.js +2 -0
  109. package/dist/authorization/use-case-declaration.js.map +1 -0
  110. package/dist/authorization/use-case-declarations.d.ts +7 -0
  111. package/dist/authorization/use-case-declarations.d.ts.map +1 -0
  112. package/dist/authorization/use-case-declarations.js +5 -0
  113. package/dist/authorization/use-case-declarations.js.map +1 -0
  114. package/dist/authorization/use-case-guard-middleware.d.ts +5 -0
  115. package/dist/authorization/use-case-guard-middleware.d.ts.map +1 -0
  116. package/dist/authorization/use-case-guard-middleware.js +6 -0
  117. package/dist/authorization/use-case-guard-middleware.js.map +1 -0
  118. package/dist/authorization/use-case-guard.d.ts +10 -0
  119. package/dist/authorization/use-case-guard.d.ts.map +1 -0
  120. package/dist/authorization/use-case-guard.js +8 -0
  121. package/dist/authorization/use-case-guard.js.map +1 -0
  122. package/dist/checks/assert-sound.d.ts +5 -0
  123. package/dist/checks/assert-sound.d.ts.map +1 -0
  124. package/dist/checks/assert-sound.js +74 -0
  125. package/dist/checks/assert-sound.js.map +1 -0
  126. package/dist/checks/cycle-error.d.ts +4 -0
  127. package/dist/checks/cycle-error.d.ts.map +1 -0
  128. package/dist/checks/cycle-error.js +6 -0
  129. package/dist/checks/cycle-error.js.map +1 -0
  130. package/dist/consumer/consumer-options.d.ts +14 -0
  131. package/dist/consumer/consumer-options.d.ts.map +1 -0
  132. package/dist/consumer/consumer-options.js +2 -0
  133. package/dist/consumer/consumer-options.js.map +1 -0
  134. package/dist/consumer/consumer-runtime.d.ts +9 -0
  135. package/dist/consumer/consumer-runtime.d.ts.map +1 -0
  136. package/dist/consumer/consumer-runtime.js +2 -0
  137. package/dist/consumer/consumer-runtime.js.map +1 -0
  138. package/dist/consumer/observed-projection.d.ts +19 -0
  139. package/dist/consumer/observed-projection.d.ts.map +1 -0
  140. package/dist/consumer/observed-projection.js +44 -0
  141. package/dist/consumer/observed-projection.js.map +1 -0
  142. package/dist/consumer/receive.d.ts +21 -0
  143. package/dist/consumer/receive.d.ts.map +1 -0
  144. package/dist/consumer/receive.js +40 -0
  145. package/dist/consumer/receive.js.map +1 -0
  146. package/dist/consumer/unreadable-event-error.d.ts +9 -0
  147. package/dist/consumer/unreadable-event-error.d.ts.map +1 -0
  148. package/dist/consumer/unreadable-event-error.js +15 -0
  149. package/dist/consumer/unreadable-event-error.js.map +1 -0
  150. package/dist/declared/apply-through.d.ts +3 -0
  151. package/dist/declared/apply-through.d.ts.map +1 -0
  152. package/dist/declared/apply-through.js +11 -0
  153. package/dist/declared/apply-through.js.map +1 -0
  154. package/dist/declared/consumption-of.d.ts +15 -0
  155. package/dist/declared/consumption-of.d.ts.map +1 -0
  156. package/dist/declared/consumption-of.js +15 -0
  157. package/dist/declared/consumption-of.js.map +1 -0
  158. package/dist/declared/context-module.d.ts +10 -0
  159. package/dist/declared/context-module.d.ts.map +1 -0
  160. package/dist/declared/context-module.js +16 -0
  161. package/dist/declared/context-module.js.map +1 -0
  162. package/dist/declared/declared-source.d.ts +7 -0
  163. package/dist/declared/declared-source.d.ts.map +1 -0
  164. package/dist/declared/declared-source.js +2 -0
  165. package/dist/declared/declared-source.js.map +1 -0
  166. package/dist/declared/discovered-files.d.ts +6 -0
  167. package/dist/declared/discovered-files.d.ts.map +1 -0
  168. package/dist/declared/discovered-files.js +10 -0
  169. package/dist/declared/discovered-files.js.map +1 -0
  170. package/dist/declared/include-declared.d.ts +10 -0
  171. package/dist/declared/include-declared.d.ts.map +1 -0
  172. package/dist/declared/include-declared.js +173 -0
  173. package/dist/declared/include-declared.js.map +1 -0
  174. package/dist/declared/projection-of.d.ts +24 -0
  175. package/dist/declared/projection-of.d.ts.map +1 -0
  176. package/dist/declared/projection-of.js +73 -0
  177. package/dist/declared/projection-of.js.map +1 -0
  178. package/dist/description/describe-wiring.d.ts +6 -0
  179. package/dist/description/describe-wiring.d.ts.map +1 -0
  180. package/dist/description/describe-wiring.js +77 -0
  181. package/dist/description/describe-wiring.js.map +1 -0
  182. package/dist/description/wiring-description.d.ts +98 -0
  183. package/dist/description/wiring-description.d.ts.map +1 -0
  184. package/dist/description/wiring-description.js +2 -0
  185. package/dist/description/wiring-description.js.map +1 -0
  186. package/dist/discovery/discover-context.d.ts +27 -0
  187. package/dist/discovery/discover-context.d.ts.map +1 -0
  188. package/dist/discovery/discover-context.js +69 -0
  189. package/dist/discovery/discover-context.js.map +1 -0
  190. package/dist/discovery/role-files-of.d.ts +16 -0
  191. package/dist/discovery/role-files-of.d.ts.map +1 -0
  192. package/dist/discovery/role-files-of.js +63 -0
  193. package/dist/discovery/role-files-of.js.map +1 -0
  194. package/dist/discovery/role-rule.d.ts +10 -0
  195. package/dist/discovery/role-rule.d.ts.map +1 -0
  196. package/dist/discovery/role-rule.js +23 -0
  197. package/dist/discovery/role-rule.js.map +1 -0
  198. package/dist/discovery.d.ts +2 -0
  199. package/dist/discovery.d.ts.map +1 -0
  200. package/dist/discovery.js +2 -0
  201. package/dist/discovery.js.map +1 -0
  202. package/dist/errors/wiring-error.d.ts +7 -0
  203. package/dist/errors/wiring-error.d.ts.map +1 -0
  204. package/dist/errors/wiring-error.js +10 -0
  205. package/dist/errors/wiring-error.js.map +1 -0
  206. package/dist/index.d.ts +52 -0
  207. package/dist/index.d.ts.map +1 -0
  208. package/dist/index.js +20 -0
  209. package/dist/index.js.map +1 -0
  210. package/dist/jobs/definition-of.d.ts +7 -0
  211. package/dist/jobs/definition-of.d.ts.map +1 -0
  212. package/dist/jobs/definition-of.js +11 -0
  213. package/dist/jobs/definition-of.js.map +1 -0
  214. package/dist/jobs/effective-job.d.ts +7 -0
  215. package/dist/jobs/effective-job.d.ts.map +1 -0
  216. package/dist/jobs/effective-job.js +2 -0
  217. package/dist/jobs/effective-job.js.map +1 -0
  218. package/dist/jobs/effective-jobs.d.ts +6 -0
  219. package/dist/jobs/effective-jobs.d.ts.map +1 -0
  220. package/dist/jobs/effective-jobs.js +33 -0
  221. package/dist/jobs/effective-jobs.js.map +1 -0
  222. package/dist/jobs/jobs-options.d.ts +16 -0
  223. package/dist/jobs/jobs-options.d.ts.map +1 -0
  224. package/dist/jobs/jobs-options.js +2 -0
  225. package/dist/jobs/jobs-options.js.map +1 -0
  226. package/dist/jobs/readable.d.ts +3 -0
  227. package/dist/jobs/readable.d.ts.map +1 -0
  228. package/dist/jobs/readable.js +15 -0
  229. package/dist/jobs/readable.js.map +1 -0
  230. package/dist/jobs/written-job.d.ts +11 -0
  231. package/dist/jobs/written-job.d.ts.map +1 -0
  232. package/dist/jobs/written-job.js +8 -0
  233. package/dist/jobs/written-job.js.map +1 -0
  234. package/dist/kernel/guarded-query-bus.d.ts +5 -0
  235. package/dist/kernel/guarded-query-bus.d.ts.map +1 -0
  236. package/dist/kernel/guarded-query-bus.js +9 -0
  237. package/dist/kernel/guarded-query-bus.js.map +1 -0
  238. package/dist/kernel/instrumentation.d.ts +37 -0
  239. package/dist/kernel/instrumentation.d.ts.map +1 -0
  240. package/dist/kernel/instrumentation.js +9 -0
  241. package/dist/kernel/instrumentation.js.map +1 -0
  242. package/dist/kernel/kernel-module-options.d.ts +57 -0
  243. package/dist/kernel/kernel-module-options.d.ts.map +1 -0
  244. package/dist/kernel/kernel-module-options.js +2 -0
  245. package/dist/kernel/kernel-module-options.js.map +1 -0
  246. package/dist/kernel/kernel-module.d.ts +14 -0
  247. package/dist/kernel/kernel-module.d.ts.map +1 -0
  248. package/dist/kernel/kernel-module.js +133 -0
  249. package/dist/kernel/kernel-module.js.map +1 -0
  250. package/dist/kernel/kernel-ports.d.ts +4 -0
  251. package/dist/kernel/kernel-ports.d.ts.map +1 -0
  252. package/dist/kernel/kernel-ports.js +25 -0
  253. package/dist/kernel/kernel-ports.js.map +1 -0
  254. package/dist/kernel/lazy-error-reporter.d.ts +8 -0
  255. package/dist/kernel/lazy-error-reporter.d.ts.map +1 -0
  256. package/dist/kernel/lazy-error-reporter.js +14 -0
  257. package/dist/kernel/lazy-error-reporter.js.map +1 -0
  258. package/dist/kernel/provided.d.ts +4 -0
  259. package/dist/kernel/provided.d.ts.map +1 -0
  260. package/dist/kernel/provided.js +2 -0
  261. package/dist/kernel/provided.js.map +1 -0
  262. package/dist/kernel/reported-failures.d.ts +5 -0
  263. package/dist/kernel/reported-failures.d.ts.map +1 -0
  264. package/dist/kernel/reported-failures.js +9 -0
  265. package/dist/kernel/reported-failures.js.map +1 -0
  266. package/dist/kernel/transactional-command-bus.d.ts +10 -0
  267. package/dist/kernel/transactional-command-bus.d.ts.map +1 -0
  268. package/dist/kernel/transactional-command-bus.js +17 -0
  269. package/dist/kernel/transactional-command-bus.js.map +1 -0
  270. package/dist/module/binding-options-of.d.ts +5 -0
  271. package/dist/module/binding-options-of.d.ts.map +1 -0
  272. package/dist/module/binding-options-of.js +23 -0
  273. package/dist/module/binding-options-of.js.map +1 -0
  274. package/dist/module/binding-options.d.ts +8 -0
  275. package/dist/module/binding-options.d.ts.map +1 -0
  276. package/dist/module/binding-options.js +2 -0
  277. package/dist/module/binding-options.js.map +1 -0
  278. package/dist/module/binding-target.d.ts +15 -0
  279. package/dist/module/binding-target.d.ts.map +1 -0
  280. package/dist/module/binding-target.js +2 -0
  281. package/dist/module/binding-target.js.map +1 -0
  282. package/dist/module/collect-wiring.d.ts +5 -0
  283. package/dist/module/collect-wiring.d.ts.map +1 -0
  284. package/dist/module/collect-wiring.js +13 -0
  285. package/dist/module/collect-wiring.js.map +1 -0
  286. package/dist/module/context-module.d.ts +10 -0
  287. package/dist/module/context-module.d.ts.map +1 -0
  288. package/dist/module/context-module.js +2 -0
  289. package/dist/module/context-module.js.map +1 -0
  290. package/dist/module/define-context-module.d.ts +4 -0
  291. package/dist/module/define-context-module.d.ts.map +1 -0
  292. package/dist/module/define-context-module.js +5 -0
  293. package/dist/module/define-context-module.js.map +1 -0
  294. package/dist/module/factory-made-handlers.d.ts +6 -0
  295. package/dist/module/factory-made-handlers.d.ts.map +1 -0
  296. package/dist/module/factory-made-handlers.js +24 -0
  297. package/dist/module/factory-made-handlers.js.map +1 -0
  298. package/dist/module/handler-target.d.ts +11 -0
  299. package/dist/module/handler-target.d.ts.map +1 -0
  300. package/dist/module/handler-target.js +2 -0
  301. package/dist/module/handler-target.js.map +1 -0
  302. package/dist/module/module-builder.d.ts +50 -0
  303. package/dist/module/module-builder.d.ts.map +1 -0
  304. package/dist/module/module-builder.js +2 -0
  305. package/dist/module/module-builder.js.map +1 -0
  306. package/dist/module/module-context.d.ts +5 -0
  307. package/dist/module/module-context.d.ts.map +1 -0
  308. package/dist/module/module-context.js +2 -0
  309. package/dist/module/module-context.js.map +1 -0
  310. package/dist/module/module-recorder.d.ts +31 -0
  311. package/dist/module/module-recorder.d.ts.map +1 -0
  312. package/dist/module/module-recorder.js +133 -0
  313. package/dist/module/module-recorder.js.map +1 -0
  314. package/dist/module/protected-use-case-target.d.ts +14 -0
  315. package/dist/module/protected-use-case-target.d.ts.map +1 -0
  316. package/dist/module/protected-use-case-target.js +2 -0
  317. package/dist/module/protected-use-case-target.js.map +1 -0
  318. package/dist/module/use-case-target.d.ts +8 -0
  319. package/dist/module/use-case-target.d.ts.map +1 -0
  320. package/dist/module/use-case-target.js +2 -0
  321. package/dist/module/use-case-target.js.map +1 -0
  322. package/dist/module/value-binding-options.d.ts +13 -0
  323. package/dist/module/value-binding-options.d.ts.map +1 -0
  324. package/dist/module/value-binding-options.js +2 -0
  325. package/dist/module/value-binding-options.js.map +1 -0
  326. package/dist/testing/create-test-application.d.ts +12 -0
  327. package/dist/testing/create-test-application.d.ts.map +1 -0
  328. package/dist/testing/create-test-application.js +89 -0
  329. package/dist/testing/create-test-application.js.map +1 -0
  330. package/dist/testing/create-test-kernel.d.ts +6 -0
  331. package/dist/testing/create-test-kernel.d.ts.map +1 -0
  332. package/dist/testing/create-test-kernel.js +65 -0
  333. package/dist/testing/create-test-kernel.js.map +1 -0
  334. package/dist/testing/fake.d.ts +5 -0
  335. package/dist/testing/fake.d.ts.map +1 -0
  336. package/dist/testing/fake.js +6 -0
  337. package/dist/testing/fake.js.map +1 -0
  338. package/dist/testing/test-application-of.d.ts +10 -0
  339. package/dist/testing/test-application-of.d.ts.map +1 -0
  340. package/dist/testing/test-application-of.js +49 -0
  341. package/dist/testing/test-application-of.js.map +1 -0
  342. package/dist/testing/test-application-options.d.ts +35 -0
  343. package/dist/testing/test-application-options.d.ts.map +1 -0
  344. package/dist/testing/test-application-options.js +2 -0
  345. package/dist/testing/test-application-options.js.map +1 -0
  346. package/dist/testing/test-application.d.ts +15 -0
  347. package/dist/testing/test-application.d.ts.map +1 -0
  348. package/dist/testing/test-application.js +2 -0
  349. package/dist/testing/test-application.js.map +1 -0
  350. package/dist/testing/test-jobs.d.ts +16 -0
  351. package/dist/testing/test-jobs.d.ts.map +1 -0
  352. package/dist/testing/test-jobs.js +2 -0
  353. package/dist/testing/test-jobs.js.map +1 -0
  354. package/dist/testing/test-kernel.d.ts +39 -0
  355. package/dist/testing/test-kernel.d.ts.map +1 -0
  356. package/dist/testing/test-kernel.js +2 -0
  357. package/dist/testing/test-kernel.js.map +1 -0
  358. package/dist/token/same-token.d.ts +3 -0
  359. package/dist/token/same-token.d.ts.map +1 -0
  360. package/dist/token/same-token.js +5 -0
  361. package/dist/token/same-token.js.map +1 -0
  362. package/dist/token/token-map.d.ts +14 -0
  363. package/dist/token/token-map.d.ts.map +1 -0
  364. package/dist/token/token-map.js +24 -0
  365. package/dist/token/token-map.js.map +1 -0
  366. package/dist/token/token-set.d.ts +9 -0
  367. package/dist/token/token-set.d.ts.map +1 -0
  368. package/dist/token/token-set.js +19 -0
  369. package/dist/token/token-set.js.map +1 -0
  370. package/dist/wiring/any-message-handler.d.ts +5 -0
  371. package/dist/wiring/any-message-handler.d.ts.map +1 -0
  372. package/dist/wiring/any-message-handler.js +2 -0
  373. package/dist/wiring/any-message-handler.js.map +1 -0
  374. package/dist/wiring/assert-port.d.ts +4 -0
  375. package/dist/wiring/assert-port.d.ts.map +1 -0
  376. package/dist/wiring/assert-port.js +10 -0
  377. package/dist/wiring/assert-port.js.map +1 -0
  378. package/dist/wiring/binding-source.d.ts +2 -0
  379. package/dist/wiring/binding-source.d.ts.map +1 -0
  380. package/dist/wiring/binding-source.js +2 -0
  381. package/dist/wiring/binding-source.js.map +1 -0
  382. package/dist/wiring/binding.d.ts +22 -0
  383. package/dist/wiring/binding.d.ts.map +1 -0
  384. package/dist/wiring/binding.js +2 -0
  385. package/dist/wiring/binding.js.map +1 -0
  386. package/dist/wiring/declarer.d.ts +6 -0
  387. package/dist/wiring/declarer.d.ts.map +1 -0
  388. package/dist/wiring/declarer.js +2 -0
  389. package/dist/wiring/declarer.js.map +1 -0
  390. package/dist/wiring/domain-event-handling.d.ts +20 -0
  391. package/dist/wiring/domain-event-handling.d.ts.map +1 -0
  392. package/dist/wiring/domain-event-handling.js +2 -0
  393. package/dist/wiring/domain-event-handling.js.map +1 -0
  394. package/dist/wiring/event-consumption.d.ts +17 -0
  395. package/dist/wiring/event-consumption.d.ts.map +1 -0
  396. package/dist/wiring/event-consumption.js +2 -0
  397. package/dist/wiring/event-consumption.js.map +1 -0
  398. package/dist/wiring/job-registration.d.ts +14 -0
  399. package/dist/wiring/job-registration.d.ts.map +1 -0
  400. package/dist/wiring/job-registration.js +2 -0
  401. package/dist/wiring/job-registration.js.map +1 -0
  402. package/dist/wiring/kind-aspect.d.ts +11 -0
  403. package/dist/wiring/kind-aspect.d.ts.map +1 -0
  404. package/dist/wiring/kind-aspect.js +2 -0
  405. package/dist/wiring/kind-aspect.js.map +1 -0
  406. package/dist/wiring/lifetime.d.ts +2 -0
  407. package/dist/wiring/lifetime.d.ts.map +1 -0
  408. package/dist/wiring/lifetime.js +2 -0
  409. package/dist/wiring/lifetime.js.map +1 -0
  410. package/dist/wiring/message-handling.d.ts +15 -0
  411. package/dist/wiring/message-handling.d.ts.map +1 -0
  412. package/dist/wiring/message-handling.js +2 -0
  413. package/dist/wiring/message-handling.js.map +1 -0
  414. package/dist/wiring/natural-kind.d.ts +9 -0
  415. package/dist/wiring/natural-kind.d.ts.map +1 -0
  416. package/dist/wiring/natural-kind.js +11 -0
  417. package/dist/wiring/natural-kind.js.map +1 -0
  418. package/dist/wiring/policy-binding.d.ts +11 -0
  419. package/dist/wiring/policy-binding.d.ts.map +1 -0
  420. package/dist/wiring/policy-binding.js +2 -0
  421. package/dist/wiring/policy-binding.js.map +1 -0
  422. package/dist/wiring/projection-registration.d.ts +22 -0
  423. package/dist/wiring/projection-registration.d.ts.map +1 -0
  424. package/dist/wiring/projection-registration.js +2 -0
  425. package/dist/wiring/projection-registration.js.map +1 -0
  426. package/dist/wiring/recipe.d.ts +9 -0
  427. package/dist/wiring/recipe.d.ts.map +1 -0
  428. package/dist/wiring/recipe.js +15 -0
  429. package/dist/wiring/recipe.js.map +1 -0
  430. package/dist/wiring/resolve.d.ts +3 -0
  431. package/dist/wiring/resolve.d.ts.map +1 -0
  432. package/dist/wiring/resolve.js +2 -0
  433. package/dist/wiring/resolve.js.map +1 -0
  434. package/dist/wiring/where-of.d.ts +9 -0
  435. package/dist/wiring/where-of.d.ts.map +1 -0
  436. package/dist/wiring/where-of.js +9 -0
  437. package/dist/wiring/where-of.js.map +1 -0
  438. package/dist/wiring/wiring-draft.d.ts +31 -0
  439. package/dist/wiring/wiring-draft.d.ts.map +1 -0
  440. package/dist/wiring/wiring-draft.js +83 -0
  441. package/dist/wiring/wiring-draft.js.map +1 -0
  442. package/dist/wiring/wiring.d.ts +23 -0
  443. package/dist/wiring/wiring.d.ts.map +1 -0
  444. package/dist/wiring/wiring.js +2 -0
  445. package/dist/wiring/wiring.js.map +1 -0
  446. package/package.json +42 -4
@@ -0,0 +1,63 @@
1
+ import { readdir } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { WiringError } from '../errors/wiring-error.js';
4
+ import { ROLE_RULES } from './role-rule.js';
5
+ const SCANNED_LAYERS = ['application', 'infrastructure'];
6
+ /** The role files of a context, sorted by path, so that two machines and two runs wire it in the same order. */
7
+ export async function roleFilesOf(root, selection) {
8
+ const byStem = new Map();
9
+ for (const relative of await sourcesOf(root)) {
10
+ const candidate = candidateOf(root, relative, selection.extensions);
11
+ if (candidate === undefined || selection.ignore?.(relative) === true) {
12
+ continue;
13
+ }
14
+ const known = byStem.get(candidate.stem);
15
+ if (known === undefined || candidate.rank < known.rank) {
16
+ byStem.set(candidate.stem, candidate);
17
+ }
18
+ }
19
+ return [...byStem.values()].sort((left, right) => compare(left.relative, right.relative));
20
+ }
21
+ async function sourcesOf(root) {
22
+ const layers = await Promise.all(SCANNED_LAYERS.map((layer) => filesUnder(root, layer)));
23
+ if (layers.every((layer) => layer === undefined)) {
24
+ throw new WiringError('DISCOVERY_FAILED', `${root} holds neither application/ nor infrastructure/: it is not the directory of a bounded context.`);
25
+ }
26
+ return layers.flatMap((layer) => layer ?? []);
27
+ }
28
+ async function filesUnder(root, layer) {
29
+ try {
30
+ const entries = await readdir(path.join(root, layer), { recursive: true, withFileTypes: true });
31
+ return entries
32
+ .filter((entry) => entry.isFile())
33
+ .map((entry) => path.relative(root, path.join(entry.parentPath, entry.name)).split(path.sep).join('/'));
34
+ }
35
+ catch (error) {
36
+ if (isMissing(error)) {
37
+ return undefined;
38
+ }
39
+ throw error;
40
+ }
41
+ }
42
+ function isMissing(error) {
43
+ return typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT';
44
+ }
45
+ function candidateOf(root, relative, extensions) {
46
+ const rank = extensions.findIndex((extension) => relative.endsWith(extension));
47
+ if (rank === -1 || /\.d\.[cm]?ts$/.test(relative)) {
48
+ return undefined;
49
+ }
50
+ const stem = relative.slice(0, -String(extensions[rank]).length);
51
+ const rule = ROLE_RULES.find(({ suffix }) => stem.endsWith(`.${suffix}`));
52
+ if (rule === undefined) {
53
+ return undefined;
54
+ }
55
+ return { absolute: path.join(root, relative), relative, rule, stem, rank };
56
+ }
57
+ function compare(left, right) {
58
+ if (left === right) {
59
+ return 0;
60
+ }
61
+ return left < right ? -1 : 1;
62
+ }
63
+ //# sourceMappingURL=role-files-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-files-of.js","sourceRoot":"","sources":["../../src/discovery/role-files-of.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Declaration } from '@ddd-ts-kit/kernel/declarations';
2
+ /** What a file name says of the classes it holds: `*.handler.ts` holds handlers, in their folders. */
3
+ export interface RoleRule {
4
+ readonly suffix: string;
5
+ /** Folders of the context, relative to it, the files of this suffix belong in. */
6
+ readonly folders: readonly string[];
7
+ readonly roles: readonly Declaration['role'][];
8
+ }
9
+ export declare const ROLE_RULES: readonly RoleRule[];
10
+ //# sourceMappingURL=role-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-rule.d.ts","sourceRoot":"","sources":["../../src/discovery/role-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,sGAAsG;AACtG,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;CAChD;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAqBzC,CAAC"}
@@ -0,0 +1,23 @@
1
+ export const ROLE_RULES = [
2
+ { suffix: 'command', folders: ['application/commands'], roles: ['message'] },
3
+ { suffix: 'query', folders: ['application/queries'], roles: ['message'] },
4
+ {
5
+ suffix: 'handler',
6
+ folders: ['application/commands', 'application/queries'],
7
+ roles: ['command-handler', 'query-handler'],
8
+ },
9
+ {
10
+ suffix: 'integration-handler',
11
+ folders: ['application/integration/handlers'],
12
+ roles: ['integration-event-handler'],
13
+ },
14
+ { suffix: 'publisher', folders: ['application/integration/publishers'], roles: ['domain-event-handler'] },
15
+ { suffix: 'event-handler', folders: ['application/event-handlers'], roles: ['domain-event-handler'] },
16
+ { suffix: 'policy', folders: ['application/authorization'], roles: ['policy'] },
17
+ { suffix: 'job', folders: ['application/scheduling'], roles: ['job'] },
18
+ { suffix: 'projection', folders: ['application/projections'], roles: ['projection'] },
19
+ { suffix: 'repository', folders: ['infrastructure/persistence'], roles: ['repository'] },
20
+ { suffix: 'gateway', folders: ['infrastructure'], roles: ['gateway'] },
21
+ { suffix: 'adapter', folders: ['infrastructure'], roles: ['adapter'] },
22
+ ];
23
+ //# sourceMappingURL=role-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-rule.js","sourceRoot":"","sources":["../../src/discovery/role-rule.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;IAC5E,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;IACzE;QACE,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;QACxD,KAAK,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC5C;IACD;QACE,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,CAAC,kCAAkC,CAAC;QAC7C,KAAK,EAAE,CAAC,2BAA2B,CAAC;KACrC;IACD,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,oCAAoC,CAAC,EAAE,KAAK,EAAE,CAAC,sBAAsB,CAAC,EAAE;IACzG,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,4BAA4B,CAAC,EAAE,KAAK,EAAE,CAAC,sBAAsB,CAAC,EAAE;IACrG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC/E,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;IACtE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACrF,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,4BAA4B,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACxF,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;IACtE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;CACvE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { discoverContext, type DiscoveryOptions } from './discovery/discover-context.js';
2
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { discoverContext } from './discovery/discover-context.js';
2
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAyB,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type WiringErrorCode = 'DUPLICATE_BINDING' | 'INCOMPLETE_BINDING' | 'NOTHING_TO_REBIND' | 'INVALID_PORT' | 'UNBOUND_DEPENDENCY' | 'UNBOUND_TOKEN' | 'DEPENDENCY_CYCLE' | 'DUPLICATE_HANDLER' | 'DUPLICATE_CONSUMER' | 'BUS_WITHOUT_REGISTER' | 'UNKNOWN_FAKE' | 'UNDECLARED_AUTHORIZATION' | 'AUTHORIZATION_NOT_ENFORCED' | 'UNDECLARED_CLASS' | 'DISCOVERY_FAILED' | 'NOTHING_DECLARED' | 'MISPLACED_DECLARATION' | 'DUPLICATE_JOB' | 'UNKNOWN_JOB' | 'INVALID_JOB_SETTINGS' | 'DUPLICATE_PROJECTION';
2
+ /** A mistake in the composition root. Never a business failure, hence not a DomainError. */
3
+ export declare class WiringError extends Error {
4
+ readonly code: WiringErrorCode;
5
+ constructor(code: WiringErrorCode, message: string, options?: ErrorOptions);
6
+ }
7
+ //# sourceMappingURL=wiring-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiring-error.d.ts","sourceRoot":"","sources":["../../src/errors/wiring-error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,cAAc,GACd,oBAAoB,GACpB,eAAe,GACf,kBAAkB,GAClB,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,GACtB,cAAc,GACd,0BAA0B,GAC1B,4BAA4B,GAC5B,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,uBAAuB,GACvB,eAAe,GACf,aAAa,GACb,sBAAsB,GACtB,sBAAsB,CAAC;AAE3B,4FAA4F;AAC5F,qBAAa,WAAY,SAAQ,KAAK;IAElC,QAAQ,CAAC,IAAI,EAAE,eAAe;IADhC,YACW,IAAI,EAAE,eAAe,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,EAIvB;CACF"}
@@ -0,0 +1,10 @@
1
+ /** A mistake in the composition root. Never a business failure, hence not a DomainError. */
2
+ export class WiringError extends Error {
3
+ code;
4
+ constructor(code, message, options) {
5
+ super(message, options);
6
+ this.code = code;
7
+ this.name = 'WiringError';
8
+ }
9
+ }
10
+ //# sourceMappingURL=wiring-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiring-error.js","sourceRoot":"","sources":["../../src/errors/wiring-error.ts"],"names":[],"mappings":"AAuBA,4FAA4F;AAC5F,MAAM,OAAO,WAAY,SAAQ,KAAK;IAEzB,IAAI;IADf,YACW,IAAqB,EAC9B,OAAe,EACf,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAJf,IAAI;QAKb,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,52 @@
1
+ import 'reflect-metadata';
2
+ export { describeToken, tokenIdentity, type Token } from '@ddd-ts-kit/kernel/declarations';
3
+ export { WiringError, type WiringErrorCode } from './errors/wiring-error.js';
4
+ export type { DependencyKind } from '@ddd-ts-kit/kernel';
5
+ export type { BindingAspect, BindingAspectInfo, DependencyList, DependencyTokens, EventContract, IntegrationEventHandler, MessageHandler, PermissionRef, ResourcePointer, } from '@ddd-ts-kit/kernel/declarations';
6
+ export type { BindingOptions } from './module/binding-options.js';
7
+ export type { BindingTarget } from './module/binding-target.js';
8
+ export type { ContextModule } from './module/context-module.js';
9
+ export { defineContextModule } from './module/define-context-module.js';
10
+ export type { HandlerTarget } from './module/handler-target.js';
11
+ export type { ModuleBuilder } from './module/module-builder.js';
12
+ export type { ModuleContext } from './module/module-context.js';
13
+ export type { ProtectedUseCaseTarget } from './module/protected-use-case-target.js';
14
+ export type { UseCaseTarget } from './module/use-case-target.js';
15
+ export type { ValueBindingOptions } from './module/value-binding-options.js';
16
+ export type { BindingSource } from './wiring/binding-source.js';
17
+ export type { Declarer } from './wiring/declarer.js';
18
+ export type { Lifetime } from './wiring/lifetime.js';
19
+ export type { PolicyBinding } from './wiring/policy-binding.js';
20
+ export type { Resolve } from './wiring/resolve.js';
21
+ export { contextModule } from './declared/context-module.js';
22
+ export type { DeclaredSource } from './declared/declared-source.js';
23
+ export type { ConsumerOptions } from './consumer/consumer-options.js';
24
+ export type { ConsumerRuntime } from './consumer/consumer-runtime.js';
25
+ export { UnreadableEventError } from './consumer/unreadable-event-error.js';
26
+ export type { JobsOptions } from './jobs/jobs-options.js';
27
+ export type { ApplicationOptions } from './application/application-options.js';
28
+ export type { Application } from './application/application.js';
29
+ export type { BindingInfo } from './application/binding-info.js';
30
+ export { createApplication } from './application/create-application.js';
31
+ export type { Decorate } from './application/decorate.js';
32
+ export { overrideForTests } from './application/override-for-tests.js';
33
+ export { override, type Override } from './application/override.js';
34
+ export type { AppliedEventDescription, BindingDescription, DomainEventHandlerDescription, HandlerDescription, IntegrationEventHandlerDescription, OriginDescription, PolicyDescription, ProjectionDescription, ScheduledJobDescription, WiringDescription, } from './description/wiring-description.js';
35
+ export type { AuthorizationMode } from './authorization/authorization-mode.js';
36
+ export { DeclaredPolicies } from './authorization/declared-policies.js';
37
+ export type { RequirementOptions } from './authorization/requirement-options.js';
38
+ export type { UseCaseAccess } from './authorization/use-case-access.js';
39
+ export type { UseCaseDeclaration } from './authorization/use-case-declaration.js';
40
+ export { UseCaseDeclarations } from './authorization/use-case-declarations.js';
41
+ export { UseCaseGuard } from './authorization/use-case-guard.js';
42
+ export { Instrumentation, type InstrumentedConsumer, type InstrumentedJob } from './kernel/instrumentation.js';
43
+ export type { KernelModuleOptions } from './kernel/kernel-module-options.js';
44
+ export { kernelModule } from './kernel/kernel-module.js';
45
+ export type { Provided } from './kernel/provided.js';
46
+ export { createTestApplication } from './testing/create-test-application.js';
47
+ export { fake } from './testing/fake.js';
48
+ export type { TestApplicationOptions } from './testing/test-application-options.js';
49
+ export type { TestApplication } from './testing/test-application.js';
50
+ export type { TestJobs } from './testing/test-jobs.js';
51
+ export type { TestKernel } from './testing/test-kernel.js';
52
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ // tsyringe 4.10 throws while loading when the Reflect metadata polyfill is absent, even
2
+ // though this package never uses decorators. Importing it here, before tsyringe, spares
3
+ // consumers a line they would otherwise have to remember in every entry point and test.
4
+ import 'reflect-metadata';
5
+ export { describeToken, tokenIdentity } from '@ddd-ts-kit/kernel/declarations';
6
+ export { WiringError } from './errors/wiring-error.js';
7
+ export { defineContextModule } from './module/define-context-module.js';
8
+ export { contextModule } from './declared/context-module.js';
9
+ export { UnreadableEventError } from './consumer/unreadable-event-error.js';
10
+ export { createApplication } from './application/create-application.js';
11
+ export { overrideForTests } from './application/override-for-tests.js';
12
+ export { override } from './application/override.js';
13
+ export { DeclaredPolicies } from './authorization/declared-policies.js';
14
+ export { UseCaseDeclarations } from './authorization/use-case-declarations.js';
15
+ export { UseCaseGuard } from './authorization/use-case-guard.js';
16
+ export { Instrumentation } from './kernel/instrumentation.js';
17
+ export { kernelModule } from './kernel/kernel-module.js';
18
+ export { createTestApplication } from './testing/create-test-application.js';
19
+ export { fake } from './testing/fake.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wFAAwF;AACxF,wFAAwF;AACxF,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAc,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAwB,MAAM,0BAA0B,CAAC;AAgB7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAYxE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAK5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAiB,MAAM,2BAA2B,CAAC;AAcpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAIxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAmD,MAAM,6BAA6B,CAAC;AAE/G,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { JobDefinition } from '@ddd-ts-kit/kernel';
2
+ import type { Instrumentation } from '../kernel/instrumentation.js';
3
+ import type { Resolve } from '../wiring/resolve.js';
4
+ import type { EffectiveJob } from './effective-job.js';
5
+ /** What a scheduler is given: the job is built on its first run, so a job that cannot be built fails that run. */
6
+ export declare function definitionOf(job: EffectiveJob, resolve: Resolve, instrument?: Instrumentation['job']): JobDefinition;
7
+ //# sourceMappingURL=definition-of.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-of.d.ts","sourceRoot":"","sources":["../../src/jobs/definition-of.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,kHAAkH;AAClH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,aAAa,CASpH"}
@@ -0,0 +1,11 @@
1
+ /** What a scheduler is given: the job is built on its first run, so a job that cannot be built fails that run. */
2
+ export function definitionOf(job, resolve, instrument) {
3
+ const run = async (execution) => resolve(job.job).run(execution);
4
+ return {
5
+ name: job.name,
6
+ schedule: job.schedule,
7
+ ...job.policy,
8
+ run: instrument === undefined ? run : instrument(run, { name: job.name, context: job.module }),
9
+ };
10
+ }
11
+ //# sourceMappingURL=definition-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-of.js","sourceRoot":"","sources":["../../src/jobs/definition-of.ts"],"names":[],"mappings":"AAKA,kHAAkH;AAClH,MAAM,UAAU,YAAY,CAAC,GAAiB,EAAE,OAAgB,EAAE,UAAmC;IACnG,MAAM,GAAG,GAAyB,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvF,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,GAAG,GAAG,CAAC,MAAM;QACb,GAAG,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;KAC/F,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { JobPolicy } from '@ddd-ts-kit/kernel';
2
+ import type { JobRegistration } from '../wiring/job-registration.js';
3
+ /** A declared job with the settings of the application applied and the defaults filled in. */
4
+ export interface EffectiveJob extends JobRegistration {
5
+ readonly policy: JobPolicy;
6
+ }
7
+ //# sourceMappingURL=effective-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-job.d.ts","sourceRoot":"","sources":["../../src/jobs/effective-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,8FAA8F;AAC9F,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=effective-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-job.js","sourceRoot":"","sources":["../../src/jobs/effective-job.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { Wiring } from '../wiring/wiring.js';
2
+ import type { EffectiveJob } from './effective-job.js';
3
+ import type { JobsOptions } from './jobs-options.js';
4
+ /** Every declared job as it will run. Throws before anything is instantiated. */
5
+ export declare function effectiveJobs(wiring: Wiring, options?: JobsOptions): EffectiveJob[];
6
+ //# sourceMappingURL=effective-jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-jobs.d.ts","sourceRoot":"","sources":["../../src/jobs/effective-jobs.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,YAAY,EAAE,CAMvF"}
@@ -0,0 +1,33 @@
1
+ import { isJobName, jobPolicy, jobScheduleOf, } from '@ddd-ts-kit/kernel';
2
+ import { WiringError } from '../errors/wiring-error.js';
3
+ import { whereOf } from '../wiring/where-of.js';
4
+ import { readable } from './readable.js';
5
+ /** Every declared job as it will run. Throws before anything is instantiated. */
6
+ export function effectiveJobs(wiring, options = {}) {
7
+ const settings = options.settings ?? {};
8
+ assertSettingsNameJobs(wiring, Object.keys(settings));
9
+ return wiring.jobs.map((registration) => applied(registration, settings[registration.name] ?? {}));
10
+ }
11
+ function assertSettingsNameJobs({ jobs }, configured) {
12
+ const unknown = configured.find((name) => jobs.every((job) => job.name !== name));
13
+ if (unknown === undefined) {
14
+ return;
15
+ }
16
+ const declared = jobs.length === 0 ? 'none' : jobs.map((job) => `"${job.name}"`).join(', ');
17
+ throw new WiringError('UNKNOWN_JOB', `Settings are given for the job "${unknown}", which no module declares. Declared jobs: ${declared}.`);
18
+ }
19
+ function applied(registration, settings) {
20
+ const { name } = registration;
21
+ if (!isJobName(name)) {
22
+ throw new WiringError('INVALID_JOB_SETTINGS', `"${name}", declared in ${whereOf(registration)}, is not a job name: write <context>.<job-name> in lower case, words separated by dashes.`);
23
+ }
24
+ const { schedule: configured, ...overrides } = settings;
25
+ const options = { ...registration.options, ...written(overrides) };
26
+ const schedule = configured === undefined ? registration.schedule : readable(name, () => jobScheduleOf(configured));
27
+ return { ...registration, schedule, options, policy: readable(name, () => jobPolicy(options)) };
28
+ }
29
+ /** A key a configuration left undefined does not erase what the job declared. */
30
+ function written(overrides) {
31
+ return Object.fromEntries(Object.entries(overrides).filter(([, value]) => value !== undefined));
32
+ }
33
+ //# sourceMappingURL=effective-jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-jobs.js","sourceRoot":"","sources":["../../src/jobs/effective-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,aAAa,GAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAIhD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAAO,GAAgB,EAAE;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAExC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAE,IAAI,EAAU,EAAE,UAA6B;IAC7E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAElF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5F,MAAM,IAAI,WAAW,CACnB,aAAa,EACb,mCAAmC,OAAO,+CAA+C,QAAQ,GAAG,CACrG,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,YAA6B,EAAE,QAAqB;IACnE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC;IAE9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,WAAW,CACnB,sBAAsB,EACtB,IAAI,IAAI,kBAAkB,OAAO,CAAC,YAAY,CAAC,2FAA2F,CAC3I,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC;IACxD,MAAM,OAAO,GAAe,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAE/E,MAAM,QAAQ,GACZ,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAErG,OAAO,EAAE,GAAG,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,iFAAiF;AACjF,SAAS,OAAO,CAAC,SAAqB;IACpC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AAClG,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { JobSettings } from '@ddd-ts-kit/kernel';
2
+ export interface JobsOptions {
3
+ /**
4
+ * `false`: the jobs are registered, described and run on demand with `runNow`, and
5
+ * `start()` never starts the scheduler. For the process that serves requests next to a worker
6
+ * that runs the jobs. Default `true`.
7
+ */
8
+ readonly start?: boolean;
9
+ /**
10
+ * What configuration changes of a declared job, by job name: `enabled`, the schedule, any
11
+ * option. A name no module declares is refused, so a renamed job cannot stay switched on by a
12
+ * stale key.
13
+ */
14
+ readonly settings?: Readonly<Record<string, JobSettings>>;
15
+ }
16
+ //# sourceMappingURL=jobs-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs-options.d.ts","sourceRoot":"","sources":["../../src/jobs/jobs-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;CAC3D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jobs-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs-options.js","sourceRoot":"","sources":["../../src/jobs/jobs-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Reads a schedule or a policy of the job, and says which job when it cannot be read. */
2
+ export declare function readable<T>(job: string, read: () => T): T;
3
+ //# sourceMappingURL=readable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../src/jobs/readable.ts"],"names":[],"mappings":"AAGA,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAUzD"}
@@ -0,0 +1,15 @@
1
+ import { InvalidJobScheduleError } from '@ddd-ts-kit/kernel';
2
+ import { WiringError } from '../errors/wiring-error.js';
3
+ /** Reads a schedule or a policy of the job, and says which job when it cannot be read. */
4
+ export function readable(job, read) {
5
+ try {
6
+ return read();
7
+ }
8
+ catch (error) {
9
+ if (!(error instanceof InvalidJobScheduleError)) {
10
+ throw error;
11
+ }
12
+ throw new WiringError('INVALID_JOB_SETTINGS', `Job "${job}": ${error.message}`, { cause: error });
13
+ }
14
+ }
15
+ //# sourceMappingURL=readable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readable.js","sourceRoot":"","sources":["../../src/jobs/readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,0FAA0F;AAC1F,MAAM,UAAU,QAAQ,CAAI,GAAW,EAAE,IAAa;IACpD,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAuB,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,WAAW,CAAC,sBAAsB,EAAE,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpG,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type ScheduledJob } from '@ddd-ts-kit/kernel';
2
+ import type { ScheduledOptions, Token } from '@ddd-ts-kit/kernel/declarations';
3
+ import type { JobRegistration } from '../wiring/job-registration.js';
4
+ interface Located {
5
+ readonly module: string;
6
+ readonly job: Token<ScheduledJob>;
7
+ }
8
+ /** The job of an explicit module: `builder.job('billing.send-reminders', { every: '15m' })`. */
9
+ export declare function writtenJob(name: string, settings: ScheduledOptions, located: Located): JobRegistration;
10
+ export {};
11
+ //# sourceMappingURL=written-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"written-job.d.ts","sourceRoot":"","sources":["../../src/jobs/written-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,UAAU,OAAO;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CACnC;AAED,gGAAgG;AAChG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe,CAItG"}
@@ -0,0 +1,8 @@
1
+ import { jobScheduleOf } from '@ddd-ts-kit/kernel';
2
+ import { readable } from './readable.js';
3
+ /** The job of an explicit module: `builder.job('billing.send-reminders', { every: '15m' })`. */
4
+ export function writtenJob(name, settings, located) {
5
+ const { every: _every, cron: _cron, timeZone: _timeZone, ...options } = settings;
6
+ return { name, schedule: readable(name, () => jobScheduleOf(settings)), options, ...located };
7
+ }
8
+ //# sourceMappingURL=written-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"written-job.js","sourceRoot":"","sources":["../../src/jobs/written-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,gGAAgG;AAChG,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,QAA0B,EAAE,OAAgB;IACnF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC;IAEjF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;AAChG,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { InMemoryQueryBus, type BusMiddleware } from '@ddd-ts-kit/kernel';
2
+ import type { Resolve } from '../wiring/resolve.js';
3
+ /** What observes the use cases comes after the guard: a refused query never started. */
4
+ export declare function guardedQueryBus(resolve: Resolve, observed?: BusMiddleware): InMemoryQueryBus;
5
+ //# sourceMappingURL=guarded-query-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guarded-query-bus.d.ts","sourceRoot":"","sources":["../../src/kernel/guarded-query-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAI5F"}
@@ -0,0 +1,9 @@
1
+ import { InMemoryQueryBus } from '@ddd-ts-kit/kernel';
2
+ import { useCaseGuardMiddleware } from '../authorization/use-case-guard-middleware.js';
3
+ import { reportedFailures } from './reported-failures.js';
4
+ /** What observes the use cases comes after the guard: a refused query never started. */
5
+ export function guardedQueryBus(resolve, observed) {
6
+ const bus = new InMemoryQueryBus().use(reportedFailures(resolve)).use(useCaseGuardMiddleware(resolve));
7
+ return observed === undefined ? bus : bus.use(observed);
8
+ }
9
+ //# sourceMappingURL=guarded-query-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guarded-query-bus.js","sourceRoot":"","sources":["../../src/kernel/guarded-query-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,wFAAwF;AACxF,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,QAAwB;IACxE,MAAM,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvG,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { BusMiddleware, DomainEventDispatcher, ErrorReporter, ExecutionScope, IntegrationEventCallback, IntegrationEventPublisher, JobExecution } from '@ddd-ts-kit/kernel';
2
+ import type { BindingAspect } from '@ddd-ts-kit/kernel/declarations';
3
+ /** The consumer a handler of integration events is subscribed as. */
4
+ export interface InstrumentedConsumer {
5
+ readonly consumer: string;
6
+ /** Name of the module that declared it. */
7
+ readonly context: string;
8
+ readonly type: string;
9
+ }
10
+ /** The job a run belongs to. */
11
+ export interface InstrumentedJob {
12
+ readonly name: string;
13
+ /** Name of the module that declared it. */
14
+ readonly context: string;
15
+ }
16
+ /**
17
+ * What an observability adapter puts around the application, from outside: every member is a
18
+ * wrapper the kernel module applies where the thing is built, and none is required. An object
19
+ * of `@ddd-ts-kit/tracing` (`traceApplication()`) fits as it is; this package knows no tracer.
20
+ */
21
+ export declare abstract class Instrumentation {
22
+ static readonly tokenKey = "di.Instrumentation";
23
+ /** Around every instance of a binding declared with a kind, outside the dispatch of domain events and the aspects of the binding. */
24
+ abstract readonly binding?: BindingAspect;
25
+ /** On both buses, after the use case guard and outside the unit of work. */
26
+ abstract readonly useCase?: BusMiddleware;
27
+ abstract readonly publisher?: (publisher: IntegrationEventPublisher) => IntegrationEventPublisher;
28
+ /** Around what each consumer is subscribed with: the function the provider calls at each delivery. */
29
+ abstract readonly consumer?: (handler: IntegrationEventCallback, consumer: InstrumentedConsumer) => IntegrationEventCallback;
30
+ abstract readonly domainEvents?: (dispatcher: DomainEventDispatcher) => DomainEventDispatcher;
31
+ /** Around each run of a declared job, inside its execution scope. */
32
+ abstract readonly job?: (run: (execution: JobExecution) => Promise<void>, job: InstrumentedJob) => (execution: JobExecution) => Promise<void>;
33
+ abstract readonly errorReporter?: (reporter: ErrorReporter) => ErrorReporter;
34
+ /** Told the execution scope of the application once it is built. */
35
+ abstract readonly executionScope?: (scope: ExecutionScope) => void;
36
+ }
37
+ //# sourceMappingURL=instrumentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/kernel/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,8BAAsB,eAAe;IACnC,MAAM,CAAC,QAAQ,CAAC,QAAQ,wBAAwB;IAEhD,qIAAqI;IACrI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAE1C,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAE1C,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,yBAAyB,KAAK,yBAAyB,CAAC;IAElG,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAC3B,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,oBAAoB,KAC3B,wBAAwB,CAAC;IAE9B,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,qBAAqB,CAAC;IAE9F,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CACtB,GAAG,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,EAC/C,GAAG,EAAE,eAAe,KACjB,CAAC,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,aAAa,CAAC;IAE7E,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACpE"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * What an observability adapter puts around the application, from outside: every member is a
3
+ * wrapper the kernel module applies where the thing is built, and none is required. An object
4
+ * of `@ddd-ts-kit/tracing` (`traceApplication()`) fits as it is; this package knows no tracer.
5
+ */
6
+ export class Instrumentation {
7
+ static tokenKey = 'di.Instrumentation';
8
+ }
9
+ //# sourceMappingURL=instrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/kernel/instrumentation.ts"],"names":[],"mappings":"AA0BA;;;;GAIG;AACH,MAAM,OAAgB,eAAe;IACnC,MAAM,CAAU,QAAQ,GAAG,oBAAoB,CAAC;CA4BjD"}
@@ -0,0 +1,57 @@
1
+ import type { ActorContext, Cache, Clock, CommandBus, DomainEventDispatcher, ErrorReporter, EventBus, EventSubscribers, ExecutionScope, IdGenerator, IntegrationEventPublisher, IntegrationEventSubscriber, JobScheduler, Lock, Logger, Metrics, ProcessedEventStore, QueryBus, RateLimiter, UnitOfWork } from '@ddd-ts-kit/kernel';
2
+ import type { Instrumentation } from './instrumentation.js';
3
+ import type { Provided } from './provided.js';
4
+ export interface KernelModuleOptions {
5
+ readonly clock?: Provided<Clock>;
6
+ readonly ids?: Provided<IdGenerator>;
7
+ readonly unitOfWork?: Provided<UnitOfWork>;
8
+ /** Handlers declared with `builder.command(...)` need a bus with `register`, such as the default. */
9
+ readonly commandBus?: Provided<CommandBus>;
10
+ readonly queryBus?: Provided<QueryBus>;
11
+ readonly eventBus?: Provided<EventBus>;
12
+ /** Defaults to the event bus. An outbox goes here. */
13
+ readonly eventPublisher?: Provided<IntegrationEventPublisher>;
14
+ /** Defaults to the event bus. A broker adapter goes here. */
15
+ readonly eventSubscriber?: Provided<IntegrationEventSubscriber>;
16
+ /**
17
+ * Defaults to `eventSubscriber` for every context. A broker that gives each consuming context
18
+ * its own subscriber goes here: `{ forContext: (name) => bus.forConsumer(name) }`.
19
+ */
20
+ readonly eventSubscribers?: Provided<EventSubscribers>;
21
+ readonly processedEvents?: Provided<ProcessedEventStore>;
22
+ /** Defaults to a dispatcher inside this process, which the declared domain event handlers are attached to. */
23
+ readonly domainEvents?: Provided<DomainEventDispatcher>;
24
+ /** Defaults to the actor of the execution scope, so the two cannot disagree. */
25
+ readonly actorContext?: Provided<ActorContext>;
26
+ /** Defaults to one following the asynchronous call chain of each unit of work. */
27
+ readonly executionScope?: Provided<ExecutionScope>;
28
+ /** Defaults to a logger that writes nothing. The application flushes it when it stops, after the error reporter. */
29
+ readonly logger?: Provided<Logger>;
30
+ /** Defaults to metrics that measure nothing. */
31
+ readonly metrics?: Provided<Metrics>;
32
+ /**
33
+ * Defaults to a reporter that reports nothing. The default buses and the default job scheduler
34
+ * hand it their unexpected failures, and the application flushes it when it stops.
35
+ */
36
+ readonly errorReporter?: Provided<ErrorReporter>;
37
+ /** Defaults to a bounded cache in the memory of the process, expiring by `Clock`. */
38
+ readonly cache?: Provided<Cache>;
39
+ /** Defaults to a lock inside this process, expiring by `Clock`: several instances exclude nothing between them. */
40
+ readonly lock?: Provided<Lock>;
41
+ /** Defaults to a limiter inside this process, counting by `Clock`: several instances each allow the limit. */
42
+ readonly rateLimiter?: Provided<RateLimiter>;
43
+ /**
44
+ * Defaults to a scheduler inside this process, on `Clock`, `Lock`, `ExecutionScope`,
45
+ * `IdGenerator`, `Logger`, `Metrics` and `ErrorReporter`: with the default lock, several instances
46
+ * each run every job.
47
+ */
48
+ readonly jobScheduler?: Provided<JobScheduler>;
49
+ /**
50
+ * What observes the application from outside, typically `traceApplication()` of
51
+ * `@ddd-ts-kit/tracing`: the default buses, the event publisher, the consumers, the domain event
52
+ * dispatcher, the jobs, the error reporter and every binding declared with a kind are wrapped
53
+ * by it. A port given through an option above is wrapped too; one rebound by a later module is not.
54
+ */
55
+ readonly instrumentation?: Instrumentation;
56
+ }
57
+ //# sourceMappingURL=kernel-module-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel-module-options.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel-module-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,qGAAqG;IACrG,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,sDAAsD;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC9D,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAChE;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACvD,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACzD,8GAA8G;IAC9G,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACxD,gFAAgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,kFAAkF;IAClF,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACnD,oHAAoH;IACpH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACjD,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,mHAAmH;IACnH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,8GAA8G;IAC9G,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAC5C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=kernel-module-options.js.map