@bett3r-dev/pv3 1.0.0 → 2.5.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 (648) hide show
  1. package/CHANGELOG.md +329 -0
  2. package/build/adapters/cache/memory/index.d.ts.map +1 -1
  3. package/build/adapters/cache/memory/index.js +93 -20
  4. package/build/adapters/cache/memory/index.js.map +1 -1
  5. package/build/adapters/cache/memory/index.test.d.ts +2 -0
  6. package/build/adapters/cache/memory/index.test.d.ts.map +1 -0
  7. package/build/adapters/cache/memory/index.test.js +98 -0
  8. package/build/adapters/cache/memory/index.test.js.map +1 -0
  9. package/build/adapters/configuration/dotEnv.d.ts.map +1 -1
  10. package/build/adapters/configuration/dotEnv.js.map +1 -1
  11. package/build/adapters/database/memory/index.d.ts +5 -1
  12. package/build/adapters/database/memory/index.d.ts.map +1 -1
  13. package/build/adapters/database/memory/index.js +336 -44
  14. package/build/adapters/database/memory/index.js.map +1 -1
  15. package/build/adapters/database/memory/index.test.d.ts +2 -0
  16. package/build/adapters/database/memory/index.test.d.ts.map +1 -0
  17. package/build/adapters/database/memory/index.test.js +167 -0
  18. package/build/adapters/database/memory/index.test.js.map +1 -0
  19. package/build/adapters/database/memory/pagingCursorZero.test.d.ts +2 -0
  20. package/build/adapters/database/memory/pagingCursorZero.test.d.ts.map +1 -0
  21. package/build/adapters/database/memory/pagingCursorZero.test.js +60 -0
  22. package/build/adapters/database/memory/pagingCursorZero.test.js.map +1 -0
  23. package/build/adapters/database/memory/pagingVanishedCursor.test.d.ts +2 -0
  24. package/build/adapters/database/memory/pagingVanishedCursor.test.d.ts.map +1 -0
  25. package/build/adapters/database/memory/pagingVanishedCursor.test.js +72 -0
  26. package/build/adapters/database/memory/pagingVanishedCursor.test.js.map +1 -0
  27. package/build/adapters/endpoints/addAuthUser/index.d.ts +6 -4
  28. package/build/adapters/endpoints/addAuthUser/index.d.ts.map +1 -1
  29. package/build/adapters/endpoints/addAuthUser/index.js +12 -31
  30. package/build/adapters/endpoints/addAuthUser/index.js.map +1 -1
  31. package/build/adapters/endpoints/addDevAuthUser/index.d.ts +32 -0
  32. package/build/adapters/endpoints/addDevAuthUser/index.d.ts.map +1 -0
  33. package/build/adapters/endpoints/addDevAuthUser/index.js +39 -0
  34. package/build/adapters/endpoints/addDevAuthUser/index.js.map +1 -0
  35. package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.d.ts +2 -0
  36. package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.d.ts.map +1 -0
  37. package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.js +97 -0
  38. package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.js.map +1 -0
  39. package/build/adapters/endpoints/asyncLocalStorage/index.d.ts +22 -0
  40. package/build/adapters/endpoints/asyncLocalStorage/index.d.ts.map +1 -0
  41. package/build/adapters/endpoints/asyncLocalStorage/index.js +62 -0
  42. package/build/adapters/endpoints/asyncLocalStorage/index.js.map +1 -0
  43. package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.d.ts +2 -0
  44. package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.d.ts.map +1 -0
  45. package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.js +98 -0
  46. package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.js.map +1 -0
  47. package/build/adapters/endpoints/endpointValidation/index.d.ts +2 -2
  48. package/build/adapters/endpoints/endpointValidation/index.d.ts.map +1 -1
  49. package/build/adapters/endpoints/endpointValidation/index.js +19 -9
  50. package/build/adapters/endpoints/endpointValidation/index.js.map +1 -1
  51. package/build/adapters/endpoints/genericMiddleware/index.d.ts +23 -0
  52. package/build/adapters/endpoints/genericMiddleware/index.d.ts.map +1 -0
  53. package/build/adapters/endpoints/genericMiddleware/index.js +30 -0
  54. package/build/adapters/endpoints/genericMiddleware/index.js.map +1 -0
  55. package/build/adapters/endpoints/httpMethodOverride/index.d.ts +8 -0
  56. package/build/adapters/endpoints/httpMethodOverride/index.d.ts.map +1 -0
  57. package/build/adapters/endpoints/httpMethodOverride/index.js +44 -0
  58. package/build/adapters/endpoints/httpMethodOverride/index.js.map +1 -0
  59. package/build/adapters/endpoints/index.d.ts +5 -0
  60. package/build/adapters/endpoints/index.d.ts.map +1 -1
  61. package/build/adapters/endpoints/index.js +5 -1
  62. package/build/adapters/endpoints/index.js.map +1 -1
  63. package/build/adapters/endpoints/localAuthorization/index.d.ts +1 -0
  64. package/build/adapters/endpoints/localAuthorization/index.js +2 -0
  65. package/build/adapters/endpoints/localAuthorization/index.js.map +1 -1
  66. package/build/adapters/endpoints/mapQueryFromHeaders/index.d.ts +8 -0
  67. package/build/adapters/endpoints/mapQueryFromHeaders/index.d.ts.map +1 -0
  68. package/build/adapters/endpoints/mapQueryFromHeaders/index.js +36 -0
  69. package/build/adapters/endpoints/mapQueryFromHeaders/index.js.map +1 -0
  70. package/build/adapters/endpoints/tcpConsumer/index.d.ts.map +1 -1
  71. package/build/adapters/endpoints/tcpConsumer/index.js +8 -7
  72. package/build/adapters/endpoints/tcpConsumer/index.js.map +1 -1
  73. package/build/adapters/endpoints/userSession/__tests__/userSession.test.d.ts +2 -0
  74. package/build/adapters/endpoints/userSession/__tests__/userSession.test.d.ts.map +1 -0
  75. package/build/adapters/endpoints/userSession/__tests__/userSession.test.js +175 -0
  76. package/build/adapters/endpoints/userSession/__tests__/userSession.test.js.map +1 -0
  77. package/build/adapters/endpoints/userSession/index.d.ts +2 -2
  78. package/build/adapters/endpoints/userSession/index.d.ts.map +1 -1
  79. package/build/adapters/endpoints/userSession/index.js +36 -2
  80. package/build/adapters/endpoints/userSession/index.js.map +1 -1
  81. package/build/adapters/eventstore/database.d.ts.map +1 -1
  82. package/build/adapters/eventstore/database.js +261 -58
  83. package/build/adapters/eventstore/database.js.map +1 -1
  84. package/build/adapters/eventstore/database.test.d.ts +2 -0
  85. package/build/adapters/eventstore/database.test.d.ts.map +1 -0
  86. package/build/adapters/eventstore/database.test.js +123 -0
  87. package/build/adapters/eventstore/database.test.js.map +1 -0
  88. package/build/adapters/infrastructure/local/index.d.ts +2 -2
  89. package/build/adapters/infrastructure/local/index.d.ts.map +1 -1
  90. package/build/adapters/infrastructure/local/index.js +3 -3
  91. package/build/adapters/infrastructure/local/index.js.map +1 -1
  92. package/build/adapters/logger/__tests__/json.test.d.ts +2 -0
  93. package/build/adapters/logger/__tests__/json.test.d.ts.map +1 -0
  94. package/build/adapters/logger/__tests__/json.test.js +125 -0
  95. package/build/adapters/logger/__tests__/json.test.js.map +1 -0
  96. package/build/adapters/logger/console.d.ts.map +1 -1
  97. package/build/adapters/logger/console.js +4 -2
  98. package/build/adapters/logger/console.js.map +1 -1
  99. package/build/adapters/logger/http.d.ts +3 -0
  100. package/build/adapters/logger/http.d.ts.map +1 -0
  101. package/build/adapters/logger/http.js +49 -0
  102. package/build/adapters/logger/http.js.map +1 -0
  103. package/build/adapters/logger/index.d.ts +3 -0
  104. package/build/adapters/logger/index.d.ts.map +1 -1
  105. package/build/adapters/logger/index.js +3 -0
  106. package/build/adapters/logger/index.js.map +1 -1
  107. package/build/adapters/logger/json.d.ts +3 -0
  108. package/build/adapters/logger/json.d.ts.map +1 -0
  109. package/build/adapters/logger/json.js +41 -0
  110. package/build/adapters/logger/json.js.map +1 -0
  111. package/build/adapters/logger/stdout.d.ts +3 -0
  112. package/build/adapters/logger/stdout.d.ts.map +1 -0
  113. package/build/adapters/logger/stdout.js +52 -0
  114. package/build/adapters/logger/stdout.js.map +1 -0
  115. package/build/index.d.ts +3 -1
  116. package/build/index.d.ts.map +1 -1
  117. package/build/index.js +3 -1
  118. package/build/index.js.map +1 -1
  119. package/build/libraries/deployment-units/computeMDUs.d.ts +11 -0
  120. package/build/libraries/deployment-units/computeMDUs.d.ts.map +1 -0
  121. package/build/libraries/deployment-units/computeMDUs.js +695 -0
  122. package/build/libraries/deployment-units/computeMDUs.js.map +1 -0
  123. package/build/libraries/deployment-units/computeMDUs.test.d.ts +2 -0
  124. package/build/libraries/deployment-units/computeMDUs.test.d.ts.map +1 -0
  125. package/build/libraries/deployment-units/computeMDUs.test.js +996 -0
  126. package/build/libraries/deployment-units/computeMDUs.test.js.map +1 -0
  127. package/build/libraries/deployment-units/index.d.ts +6 -0
  128. package/build/libraries/deployment-units/index.d.ts.map +1 -0
  129. package/build/libraries/deployment-units/index.js +8 -0
  130. package/build/libraries/deployment-units/index.js.map +1 -0
  131. package/build/libraries/deployment-units/manifestWriter.d.ts +11 -0
  132. package/build/libraries/deployment-units/manifestWriter.d.ts.map +1 -0
  133. package/build/libraries/deployment-units/manifestWriter.js +28 -0
  134. package/build/libraries/deployment-units/manifestWriter.js.map +1 -0
  135. package/build/libraries/deployment-units/types.d.ts +43 -0
  136. package/build/libraries/deployment-units/types.d.ts.map +1 -0
  137. package/build/libraries/deployment-units/types.js +3 -0
  138. package/build/libraries/deployment-units/types.js.map +1 -0
  139. package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.d.ts +2 -0
  140. package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.d.ts.map +1 -0
  141. package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.js +17 -0
  142. package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.js.map +1 -0
  143. package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.d.ts +2 -0
  144. package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.d.ts.map +1 -0
  145. package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.js +13 -0
  146. package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.js.map +1 -0
  147. package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.d.ts +2 -0
  148. package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.d.ts.map +1 -0
  149. package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.js +12 -0
  150. package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.js.map +1 -0
  151. package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.d.ts +2 -0
  152. package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.d.ts.map +1 -0
  153. package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.js +21 -0
  154. package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.js.map +1 -0
  155. package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.d.ts +2 -0
  156. package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.d.ts.map +1 -0
  157. package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.js +16 -0
  158. package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.js.map +1 -0
  159. package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.d.ts +2 -0
  160. package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.d.ts.map +1 -0
  161. package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.js +14 -0
  162. package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.js.map +1 -0
  163. package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.d.ts +2 -0
  164. package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.d.ts.map +1 -0
  165. package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.js +88 -0
  166. package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.js.map +1 -0
  167. package/build/libraries/eventsourcing/__tests__/queryVisibility.test.d.ts +2 -0
  168. package/build/libraries/eventsourcing/__tests__/queryVisibility.test.d.ts.map +1 -0
  169. package/build/libraries/eventsourcing/__tests__/queryVisibility.test.js +82 -0
  170. package/build/libraries/eventsourcing/__tests__/queryVisibility.test.js.map +1 -0
  171. package/build/libraries/eventsourcing/commandHandlers/index.d.ts +40 -0
  172. package/build/libraries/eventsourcing/commandHandlers/index.d.ts.map +1 -0
  173. package/build/libraries/eventsourcing/commandHandlers/index.js +1065 -0
  174. package/build/libraries/eventsourcing/commandHandlers/index.js.map +1 -0
  175. package/build/libraries/eventsourcing/commandTemplates/index.d.ts.map +1 -0
  176. package/build/libraries/eventsourcing/commandTemplates/index.js.map +1 -0
  177. package/build/libraries/eventsourcing/commandTemplates/multiStream.d.ts +7 -0
  178. package/build/libraries/eventsourcing/commandTemplates/multiStream.d.ts.map +1 -0
  179. package/build/libraries/eventsourcing/commandTemplates/multiStream.js +116 -0
  180. package/build/libraries/eventsourcing/commandTemplates/multiStream.js.map +1 -0
  181. package/build/libraries/eventsourcing/commandTemplates/snapshot.d.ts +108 -0
  182. package/build/libraries/eventsourcing/commandTemplates/snapshot.d.ts.map +1 -0
  183. package/build/libraries/eventsourcing/commandTemplates/snapshot.js +127 -0
  184. package/build/libraries/eventsourcing/commandTemplates/snapshot.js.map +1 -0
  185. package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.d.ts +2 -0
  186. package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.d.ts.map +1 -0
  187. package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.js +77 -0
  188. package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.js.map +1 -0
  189. package/build/libraries/eventsourcing/eventHandlers/index.d.ts +52 -0
  190. package/build/libraries/eventsourcing/eventHandlers/index.d.ts.map +1 -0
  191. package/build/libraries/eventsourcing/eventHandlers/index.js +474 -0
  192. package/build/libraries/eventsourcing/eventHandlers/index.js.map +1 -0
  193. package/build/libraries/eventsourcing/executionContext.d.ts +50 -0
  194. package/build/libraries/eventsourcing/executionContext.d.ts.map +1 -0
  195. package/build/libraries/eventsourcing/executionContext.js +10 -0
  196. package/build/libraries/eventsourcing/executionContext.js.map +1 -0
  197. package/build/libraries/eventsourcing/idempotencyChecks/index.d.ts +5 -0
  198. package/build/libraries/eventsourcing/idempotencyChecks/index.d.ts.map +1 -0
  199. package/build/libraries/eventsourcing/idempotencyChecks/index.js +26 -0
  200. package/build/libraries/eventsourcing/idempotencyChecks/index.js.map +1 -0
  201. package/build/libraries/eventsourcing/index.d.ts +14 -0
  202. package/build/libraries/eventsourcing/index.d.ts.map +1 -0
  203. package/build/{ports → libraries}/eventsourcing/index.js +50 -15
  204. package/build/{ports → libraries}/eventsourcing/index.js.map +1 -1
  205. package/build/libraries/eventsourcing/invariants/combinators.d.ts +4 -0
  206. package/build/libraries/eventsourcing/invariants/combinators.d.ts.map +1 -0
  207. package/build/{ports → libraries}/eventsourcing/invariants/combinators.js +3 -3
  208. package/build/libraries/eventsourcing/invariants/combinators.js.map +1 -0
  209. package/build/libraries/eventsourcing/invariants/common.d.ts +15 -0
  210. package/build/libraries/eventsourcing/invariants/common.d.ts.map +1 -0
  211. package/build/libraries/eventsourcing/invariants/common.js +27 -0
  212. package/build/libraries/eventsourcing/invariants/common.js.map +1 -0
  213. package/build/libraries/eventsourcing/invariants/comparisons.d.ts +16 -0
  214. package/build/libraries/eventsourcing/invariants/comparisons.d.ts.map +1 -0
  215. package/build/libraries/eventsourcing/invariants/comparisons.js +35 -0
  216. package/build/libraries/eventsourcing/invariants/comparisons.js.map +1 -0
  217. package/build/libraries/eventsourcing/invariants/comparisons.test.d.ts +2 -0
  218. package/build/libraries/eventsourcing/invariants/comparisons.test.d.ts.map +1 -0
  219. package/build/libraries/eventsourcing/invariants/comparisons.test.js +25 -0
  220. package/build/libraries/eventsourcing/invariants/comparisons.test.js.map +1 -0
  221. package/build/libraries/eventsourcing/invariants/index.d.ts +17 -0
  222. package/build/libraries/eventsourcing/invariants/index.d.ts.map +1 -0
  223. package/build/libraries/eventsourcing/invariants/index.js +47 -0
  224. package/build/libraries/eventsourcing/invariants/index.js.map +1 -0
  225. package/build/libraries/eventsourcing/invariants/stateExistance.d.ts +4 -0
  226. package/build/libraries/eventsourcing/invariants/stateExistance.d.ts.map +1 -0
  227. package/build/libraries/eventsourcing/invariants/stateExistance.js +22 -0
  228. package/build/libraries/eventsourcing/invariants/stateExistance.js.map +1 -0
  229. package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.d.ts +2 -0
  230. package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.d.ts.map +1 -0
  231. package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.js +563 -0
  232. package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.js.map +1 -0
  233. package/build/libraries/eventsourcing/subscriptions/index.d.ts.map +1 -0
  234. package/build/libraries/eventsourcing/subscriptions/index.js.map +1 -0
  235. package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.d.ts +5 -0
  236. package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +1 -0
  237. package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.js +198 -0
  238. package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.js.map +1 -0
  239. package/build/libraries/eventsourcing/utils/aggregateBuilder.d.ts +5 -0
  240. package/build/libraries/eventsourcing/utils/aggregateBuilder.d.ts.map +1 -0
  241. package/build/{ports → libraries}/eventsourcing/utils/aggregateBuilder.js +17 -3
  242. package/build/libraries/eventsourcing/utils/aggregateBuilder.js.map +1 -0
  243. package/build/libraries/eventsourcing/utils/commandBuilder.d.ts +3 -0
  244. package/build/libraries/eventsourcing/utils/commandBuilder.d.ts.map +1 -0
  245. package/build/{ports → libraries}/eventsourcing/utils/commandBuilder.js +44 -1
  246. package/build/libraries/eventsourcing/utils/commandBuilder.js.map +1 -0
  247. package/build/{ports → libraries}/eventsourcing/utils/eventHandlerBuilder.d.ts +2 -2
  248. package/build/libraries/eventsourcing/utils/eventHandlerBuilder.d.ts.map +1 -0
  249. package/build/libraries/eventsourcing/utils/eventHandlerBuilder.js.map +1 -0
  250. package/build/libraries/eventsourcing/utils/externalSystemBuilder.d.ts +5 -0
  251. package/build/libraries/eventsourcing/utils/externalSystemBuilder.d.ts.map +1 -0
  252. package/build/libraries/eventsourcing/utils/externalSystemBuilder.js +43 -0
  253. package/build/libraries/eventsourcing/utils/externalSystemBuilder.js.map +1 -0
  254. package/build/libraries/eventsourcing/utils/index.d.ts +22 -0
  255. package/build/libraries/eventsourcing/utils/index.d.ts.map +1 -0
  256. package/build/libraries/eventsourcing/utils/index.js +88 -0
  257. package/build/libraries/eventsourcing/utils/index.js.map +1 -0
  258. package/build/libraries/eventsourcing/utils/policyBuilder.d.ts +4 -0
  259. package/build/libraries/eventsourcing/utils/policyBuilder.d.ts.map +1 -0
  260. package/build/libraries/eventsourcing/utils/policyBuilder.js +53 -0
  261. package/build/libraries/eventsourcing/utils/policyBuilder.js.map +1 -0
  262. package/build/libraries/eventsourcing/utils/readmodelBuilder.d.ts +6 -0
  263. package/build/libraries/eventsourcing/utils/readmodelBuilder.d.ts.map +1 -0
  264. package/build/libraries/eventsourcing/utils/readmodelBuilder.js +68 -0
  265. package/build/libraries/eventsourcing/utils/readmodelBuilder.js.map +1 -0
  266. package/build/libraries/localOutbox/index.d.ts +6 -0
  267. package/build/libraries/localOutbox/index.d.ts.map +1 -0
  268. package/build/libraries/localOutbox/index.js +72 -0
  269. package/build/libraries/localOutbox/index.js.map +1 -0
  270. package/build/libraries/modulePath.d.ts +14 -0
  271. package/build/libraries/modulePath.d.ts.map +1 -0
  272. package/build/libraries/modulePath.js +21 -0
  273. package/build/libraries/modulePath.js.map +1 -0
  274. package/build/libraries/modules/fs.d.ts +2 -4
  275. package/build/libraries/modules/fs.d.ts.map +1 -1
  276. package/build/libraries/modules/fs.js +21 -84
  277. package/build/libraries/modules/fs.js.map +1 -1
  278. package/build/libraries/modules/index.d.ts +2 -0
  279. package/build/libraries/modules/index.d.ts.map +1 -1
  280. package/build/libraries/modules/index.js +2 -0
  281. package/build/libraries/modules/index.js.map +1 -1
  282. package/build/libraries/modules/scopedPortsView.d.ts +42 -0
  283. package/build/libraries/modules/scopedPortsView.d.ts.map +1 -0
  284. package/build/libraries/modules/scopedPortsView.js +55 -0
  285. package/build/libraries/modules/scopedPortsView.js.map +1 -0
  286. package/build/libraries/modules/scopedPortsView.test.d.ts +10 -0
  287. package/build/libraries/modules/scopedPortsView.test.d.ts.map +1 -0
  288. package/build/libraries/modules/scopedPortsView.test.js +103 -0
  289. package/build/libraries/modules/scopedPortsView.test.js.map +1 -0
  290. package/build/libraries/modules/selectiveLoader.d.ts +21 -0
  291. package/build/libraries/modules/selectiveLoader.d.ts.map +1 -0
  292. package/build/libraries/modules/selectiveLoader.js +164 -0
  293. package/build/libraries/modules/selectiveLoader.js.map +1 -0
  294. package/build/libraries/modules/selectiveLoader.test.d.ts +2 -0
  295. package/build/libraries/modules/selectiveLoader.test.d.ts.map +1 -0
  296. package/build/libraries/modules/selectiveLoader.test.js +471 -0
  297. package/build/libraries/modules/selectiveLoader.test.js.map +1 -0
  298. package/build/libraries/openApi/pruneUnusedRef.d.ts.map +1 -1
  299. package/build/libraries/openApi/pruneUnusedRef.js.map +1 -1
  300. package/build/libraries/tcp/index.d.ts +0 -1
  301. package/build/libraries/tcp/index.d.ts.map +1 -1
  302. package/build/libraries/tcp/index.js +32 -9
  303. package/build/libraries/tcp/index.js.map +1 -1
  304. package/build/libraries/tcp/types.d.ts +0 -1
  305. package/build/libraries/tcp/types.d.ts.map +1 -1
  306. package/build/libraries/validation/__tests__/readmodelQuerySchema.test.d.ts +2 -0
  307. package/build/libraries/validation/__tests__/readmodelQuerySchema.test.d.ts.map +1 -0
  308. package/build/libraries/validation/__tests__/readmodelQuerySchema.test.js +100 -0
  309. package/build/libraries/validation/__tests__/readmodelQuerySchema.test.js.map +1 -0
  310. package/build/libraries/validation/__tests__/validation.test.js +17 -7
  311. package/build/libraries/validation/__tests__/validation.test.js.map +1 -1
  312. package/build/libraries/validation/index.d.ts +3 -3
  313. package/build/libraries/validation/index.d.ts.map +1 -1
  314. package/build/libraries/validation/index.js +49 -15
  315. package/build/libraries/validation/index.js.map +1 -1
  316. package/build/ports/authentication/index.js.map +1 -1
  317. package/build/ports/authentication/index.test.d.ts +2 -0
  318. package/build/ports/authentication/index.test.d.ts.map +1 -0
  319. package/build/ports/authentication/index.test.js +38 -0
  320. package/build/ports/authentication/index.test.js.map +1 -0
  321. package/build/ports/base.d.ts.map +1 -1
  322. package/build/ports/base.js +39 -5
  323. package/build/ports/base.js.map +1 -1
  324. package/build/ports/base.test.d.ts +2 -0
  325. package/build/ports/base.test.d.ts.map +1 -0
  326. package/build/ports/base.test.js +92 -0
  327. package/build/ports/base.test.js.map +1 -0
  328. package/build/ports/cache/index.js.map +1 -1
  329. package/build/ports/cache/index.test.d.ts +2 -0
  330. package/build/ports/cache/index.test.d.ts.map +1 -0
  331. package/build/ports/cache/index.test.js +43 -0
  332. package/build/ports/cache/index.test.js.map +1 -0
  333. package/build/ports/configuration/__tests__/cliArgs.test.d.ts +2 -0
  334. package/build/ports/configuration/__tests__/cliArgs.test.d.ts.map +1 -0
  335. package/build/ports/configuration/__tests__/cliArgs.test.js +158 -0
  336. package/build/ports/configuration/__tests__/cliArgs.test.js.map +1 -0
  337. package/build/ports/configuration/__tests__/configurationPortEmitter.test.d.ts +2 -0
  338. package/build/ports/configuration/__tests__/configurationPortEmitter.test.d.ts.map +1 -0
  339. package/build/ports/configuration/__tests__/configurationPortEmitter.test.js +63 -0
  340. package/build/ports/configuration/__tests__/configurationPortEmitter.test.js.map +1 -0
  341. package/build/ports/configuration/__tests__/getArgsSync.test.d.ts +2 -0
  342. package/build/ports/configuration/__tests__/getArgsSync.test.d.ts.map +1 -0
  343. package/build/ports/configuration/__tests__/getArgsSync.test.js +85 -0
  344. package/build/ports/configuration/__tests__/getArgsSync.test.js.map +1 -0
  345. package/build/ports/configuration/args.d.ts +50 -43
  346. package/build/ports/configuration/args.d.ts.map +1 -1
  347. package/build/ports/configuration/args.js +76 -13
  348. package/build/ports/configuration/args.js.map +1 -1
  349. package/build/ports/configuration/common.js +1 -2
  350. package/build/ports/configuration/common.js.map +1 -1
  351. package/build/ports/configuration/index.d.ts +1 -1
  352. package/build/ports/configuration/index.d.ts.map +1 -1
  353. package/build/ports/configuration/index.js +85 -17
  354. package/build/ports/configuration/index.js.map +1 -1
  355. package/build/ports/configuration/localConfig.d.ts.map +1 -1
  356. package/build/ports/configuration/localConfig.js +46 -27
  357. package/build/ports/configuration/localConfig.js.map +1 -1
  358. package/build/ports/database/index.d.ts +1 -2
  359. package/build/ports/database/index.d.ts.map +1 -1
  360. package/build/ports/database/index.js +23 -17
  361. package/build/ports/database/index.js.map +1 -1
  362. package/build/ports/database/index.test.d.ts +2 -0
  363. package/build/ports/database/index.test.d.ts.map +1 -0
  364. package/build/ports/database/index.test.js +43 -0
  365. package/build/ports/database/index.test.js.map +1 -0
  366. package/build/ports/endpoints/__tests__/declarationSite.test.d.ts +2 -0
  367. package/build/ports/endpoints/__tests__/declarationSite.test.d.ts.map +1 -0
  368. package/build/ports/endpoints/__tests__/declarationSite.test.js +165 -0
  369. package/build/ports/endpoints/__tests__/declarationSite.test.js.map +1 -0
  370. package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.d.ts +9 -0
  371. package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.d.ts.map +1 -0
  372. package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.js +20 -0
  373. package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.js.map +1 -0
  374. package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.d.ts +10 -0
  375. package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.d.ts.map +1 -0
  376. package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.js +21 -0
  377. package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.js.map +1 -0
  378. package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.d.ts +15 -0
  379. package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.d.ts.map +1 -0
  380. package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.js +46 -0
  381. package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.js.map +1 -0
  382. package/build/ports/endpoints/__tests__/manifestEndpoints.test.d.ts +2 -0
  383. package/build/ports/endpoints/__tests__/manifestEndpoints.test.d.ts.map +1 -0
  384. package/build/ports/endpoints/__tests__/manifestEndpoints.test.js +117 -0
  385. package/build/ports/endpoints/__tests__/manifestEndpoints.test.js.map +1 -0
  386. package/build/ports/endpoints/declarationSite.d.ts +63 -0
  387. package/build/ports/endpoints/declarationSite.d.ts.map +1 -0
  388. package/build/ports/endpoints/declarationSite.js +126 -0
  389. package/build/ports/endpoints/declarationSite.js.map +1 -0
  390. package/build/ports/endpoints/health.d.ts +26 -0
  391. package/build/ports/endpoints/health.d.ts.map +1 -0
  392. package/build/ports/endpoints/health.js +96 -0
  393. package/build/ports/endpoints/health.js.map +1 -0
  394. package/build/ports/endpoints/index.d.ts +43 -7
  395. package/build/ports/endpoints/index.d.ts.map +1 -1
  396. package/build/ports/endpoints/index.js +317 -67
  397. package/build/ports/endpoints/index.js.map +1 -1
  398. package/build/ports/endpoints/openApi.d.ts +3 -2
  399. package/build/ports/endpoints/openApi.d.ts.map +1 -1
  400. package/build/ports/endpoints/openApi.js +184 -55
  401. package/build/ports/endpoints/openApi.js.map +1 -1
  402. package/build/ports/endpoints/utils.d.ts.map +1 -1
  403. package/build/ports/endpoints/utils.js.map +1 -1
  404. package/build/ports/eventstore/index.d.ts.map +1 -1
  405. package/build/ports/eventstore/index.js +37 -5
  406. package/build/ports/eventstore/index.js.map +1 -1
  407. package/build/ports/eventstore/index.test.d.ts +2 -0
  408. package/build/ports/eventstore/index.test.d.ts.map +1 -0
  409. package/build/ports/eventstore/index.test.js +68 -0
  410. package/build/ports/eventstore/index.test.js.map +1 -0
  411. package/build/ports/infrastructure/index.d.ts +61 -23
  412. package/build/ports/infrastructure/index.d.ts.map +1 -1
  413. package/build/ports/infrastructure/index.js +187 -37
  414. package/build/ports/infrastructure/index.js.map +1 -1
  415. package/build/ports/infrastructure/index.test.d.ts +2 -0
  416. package/build/ports/infrastructure/index.test.d.ts.map +1 -0
  417. package/build/ports/infrastructure/index.test.js +228 -0
  418. package/build/ports/infrastructure/index.test.js.map +1 -0
  419. package/build/ports/infrastructure/utils.d.ts +2 -1
  420. package/build/ports/infrastructure/utils.d.ts.map +1 -1
  421. package/build/ports/infrastructure/utils.js +48 -22
  422. package/build/ports/infrastructure/utils.js.map +1 -1
  423. package/build/ports/logger/__tests__/logger.test.d.ts +2 -0
  424. package/build/ports/logger/__tests__/logger.test.d.ts.map +1 -0
  425. package/build/ports/logger/__tests__/logger.test.js +69 -0
  426. package/build/ports/logger/__tests__/logger.test.js.map +1 -0
  427. package/build/ports/logger/index.d.ts.map +1 -1
  428. package/build/ports/logger/index.js +3 -2
  429. package/build/ports/logger/index.js.map +1 -1
  430. package/build/utils/__tests__/applyCollectionFilterInMemory.test.d.ts +2 -0
  431. package/build/utils/__tests__/applyCollectionFilterInMemory.test.d.ts.map +1 -0
  432. package/build/utils/__tests__/applyCollectionFilterInMemory.test.js +33 -0
  433. package/build/utils/__tests__/applyCollectionFilterInMemory.test.js.map +1 -0
  434. package/build/utils/__tests__/decodeObjectQueryParams.test.d.ts +2 -0
  435. package/build/utils/__tests__/decodeObjectQueryParams.test.d.ts.map +1 -0
  436. package/build/utils/__tests__/decodeObjectQueryParams.test.js +118 -0
  437. package/build/utils/__tests__/decodeObjectQueryParams.test.js.map +1 -0
  438. package/build/utils/index.d.ts +26 -34
  439. package/build/utils/index.d.ts.map +1 -1
  440. package/build/utils/index.js +159 -170
  441. package/build/utils/index.js.map +1 -1
  442. package/package.json +31 -11
  443. package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts +0 -1
  444. package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts.map +0 -1
  445. package/build/adapters/cache/memory/__tests__/memoryCache.test.js +0 -6
  446. package/build/adapters/cache/memory/__tests__/memoryCache.test.js.map +0 -1
  447. package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts +0 -1
  448. package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts.map +0 -1
  449. package/build/adapters/database/memory/__tests__/memoryDb.test.js +0 -36
  450. package/build/adapters/database/memory/__tests__/memoryDb.test.js.map +0 -1
  451. package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts +0 -2
  452. package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts.map +0 -1
  453. package/build/ports/endpoints/__tests__/endpointsCall.test.js +0 -21
  454. package/build/ports/endpoints/__tests__/endpointsCall.test.js.map +0 -1
  455. package/build/ports/endpoints/__tests__/test-client-library/base.d.ts +0 -77
  456. package/build/ports/endpoints/__tests__/test-client-library/base.d.ts.map +0 -1
  457. package/build/ports/endpoints/__tests__/test-client-library/base.js +0 -91
  458. package/build/ports/endpoints/__tests__/test-client-library/base.js.map +0 -1
  459. package/build/ports/endpoints/__tests__/test-client-library/index.d.ts +0 -29
  460. package/build/ports/endpoints/__tests__/test-client-library/index.d.ts.map +0 -1
  461. package/build/ports/endpoints/__tests__/test-client-library/index.js +0 -43
  462. package/build/ports/endpoints/__tests__/test-client-library/index.js.map +0 -1
  463. package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts +0 -106
  464. package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts.map +0 -1
  465. package/build/ports/endpoints/__tests__/test-client-library/services/service.js +0 -62
  466. package/build/ports/endpoints/__tests__/test-client-library/services/service.js.map +0 -1
  467. package/build/ports/endpoints/__tests__/utils.test.d.ts +0 -1
  468. package/build/ports/endpoints/__tests__/utils.test.d.ts.map +0 -1
  469. package/build/ports/endpoints/__tests__/utils.test.js +0 -53
  470. package/build/ports/endpoints/__tests__/utils.test.js.map +0 -1
  471. package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts +0 -2
  472. package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts.map +0 -1
  473. package/build/ports/eventsourcing/__tests__/eventhandlers.test.js +0 -35
  474. package/build/ports/eventsourcing/__tests__/eventhandlers.test.js.map +0 -1
  475. package/build/ports/eventsourcing/__tests__/invariants.test.d.ts +0 -2
  476. package/build/ports/eventsourcing/__tests__/invariants.test.d.ts.map +0 -1
  477. package/build/ports/eventsourcing/__tests__/invariants.test.js +0 -210
  478. package/build/ports/eventsourcing/__tests__/invariants.test.js.map +0 -1
  479. package/build/ports/eventsourcing/commandHandlers/index.d.ts +0 -25
  480. package/build/ports/eventsourcing/commandHandlers/index.d.ts.map +0 -1
  481. package/build/ports/eventsourcing/commandHandlers/index.js +0 -392
  482. package/build/ports/eventsourcing/commandHandlers/index.js.map +0 -1
  483. package/build/ports/eventsourcing/commandTemplates/index.d.ts.map +0 -1
  484. package/build/ports/eventsourcing/commandTemplates/index.js.map +0 -1
  485. package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts +0 -4
  486. package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts.map +0 -1
  487. package/build/ports/eventsourcing/commandTemplates/multiStream.js +0 -73
  488. package/build/ports/eventsourcing/commandTemplates/multiStream.js.map +0 -1
  489. package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts +0 -9
  490. package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts.map +0 -1
  491. package/build/ports/eventsourcing/commandTemplates/snapshot.js +0 -39
  492. package/build/ports/eventsourcing/commandTemplates/snapshot.js.map +0 -1
  493. package/build/ports/eventsourcing/eventHandlers/index.d.ts +0 -33
  494. package/build/ports/eventsourcing/eventHandlers/index.d.ts.map +0 -1
  495. package/build/ports/eventsourcing/eventHandlers/index.js +0 -276
  496. package/build/ports/eventsourcing/eventHandlers/index.js.map +0 -1
  497. package/build/ports/eventsourcing/index.d.ts +0 -9
  498. package/build/ports/eventsourcing/index.d.ts.map +0 -1
  499. package/build/ports/eventsourcing/invariants/combinators.d.ts +0 -4
  500. package/build/ports/eventsourcing/invariants/combinators.d.ts.map +0 -1
  501. package/build/ports/eventsourcing/invariants/combinators.js.map +0 -1
  502. package/build/ports/eventsourcing/invariants/common.d.ts +0 -10
  503. package/build/ports/eventsourcing/invariants/common.d.ts.map +0 -1
  504. package/build/ports/eventsourcing/invariants/common.js +0 -37
  505. package/build/ports/eventsourcing/invariants/common.js.map +0 -1
  506. package/build/ports/eventsourcing/invariants/comparisons.d.ts +0 -19
  507. package/build/ports/eventsourcing/invariants/comparisons.d.ts.map +0 -1
  508. package/build/ports/eventsourcing/invariants/comparisons.js +0 -83
  509. package/build/ports/eventsourcing/invariants/comparisons.js.map +0 -1
  510. package/build/ports/eventsourcing/invariants/index.d.ts +0 -5
  511. package/build/ports/eventsourcing/invariants/index.d.ts.map +0 -1
  512. package/build/ports/eventsourcing/invariants/index.js +0 -21
  513. package/build/ports/eventsourcing/invariants/index.js.map +0 -1
  514. package/build/ports/eventsourcing/invariants/stateExistance.d.ts +0 -4
  515. package/build/ports/eventsourcing/invariants/stateExistance.d.ts.map +0 -1
  516. package/build/ports/eventsourcing/invariants/stateExistance.js +0 -33
  517. package/build/ports/eventsourcing/invariants/stateExistance.js.map +0 -1
  518. package/build/ports/eventsourcing/subscriptions/index.d.ts.map +0 -1
  519. package/build/ports/eventsourcing/subscriptions/index.js.map +0 -1
  520. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts +0 -3
  521. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +0 -1
  522. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js +0 -81
  523. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js.map +0 -1
  524. package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts +0 -4
  525. package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts.map +0 -1
  526. package/build/ports/eventsourcing/utils/aggregateBuilder.js.map +0 -1
  527. package/build/ports/eventsourcing/utils/commandBuilder.d.ts +0 -3
  528. package/build/ports/eventsourcing/utils/commandBuilder.d.ts.map +0 -1
  529. package/build/ports/eventsourcing/utils/commandBuilder.js.map +0 -1
  530. package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts.map +0 -1
  531. package/build/ports/eventsourcing/utils/eventHandlerBuilder.js.map +0 -1
  532. package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts +0 -4
  533. package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts.map +0 -1
  534. package/build/ports/eventsourcing/utils/externalSystemBuilder.js +0 -34
  535. package/build/ports/eventsourcing/utils/externalSystemBuilder.js.map +0 -1
  536. package/build/ports/eventsourcing/utils/index.d.ts +0 -13
  537. package/build/ports/eventsourcing/utils/index.d.ts.map +0 -1
  538. package/build/ports/eventsourcing/utils/index.js +0 -45
  539. package/build/ports/eventsourcing/utils/index.js.map +0 -1
  540. package/build/ports/eventsourcing/utils/policyBuilder.d.ts +0 -3
  541. package/build/ports/eventsourcing/utils/policyBuilder.d.ts.map +0 -1
  542. package/build/ports/eventsourcing/utils/policyBuilder.js +0 -29
  543. package/build/ports/eventsourcing/utils/policyBuilder.js.map +0 -1
  544. package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts +0 -5
  545. package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts.map +0 -1
  546. package/build/ports/eventsourcing/utils/readmodelBuilder.js +0 -45
  547. package/build/ports/eventsourcing/utils/readmodelBuilder.js.map +0 -1
  548. package/build/ports/infrastructure/__tests__/fixture/index.d.ts +0 -3
  549. package/build/ports/infrastructure/__tests__/fixture/index.d.ts.map +0 -1
  550. package/build/ports/infrastructure/__tests__/fixture/index.js +0 -19
  551. package/build/ports/infrastructure/__tests__/fixture/index.js.map +0 -1
  552. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts +0 -19
  553. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts.map +0 -1
  554. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js +0 -76
  555. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js.map +0 -1
  556. package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts +0 -177
  557. package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts.map +0 -1
  558. package/build/ports/infrastructure/__tests__/fixture/structureState.js +0 -258
  559. package/build/ports/infrastructure/__tests__/fixture/structureState.js.map +0 -1
  560. package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts +0 -2
  561. package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts.map +0 -1
  562. package/build/ports/infrastructure/__tests__/infrastructure.test.js +0 -11
  563. package/build/ports/infrastructure/__tests__/infrastructure.test.js.map +0 -1
  564. package/src/adapters/cache/index.ts +0 -1
  565. package/src/adapters/cache/memory/__tests__/memoryCache.test.ts +0 -6
  566. package/src/adapters/cache/memory/index.ts +0 -142
  567. package/src/adapters/configuration/__tests__/.env +0 -4
  568. package/src/adapters/configuration/__tests__/dotEnv.test.ts +0 -38
  569. package/src/adapters/configuration/dotEnv.ts +0 -33
  570. package/src/adapters/configuration/index.ts +0 -1
  571. package/src/adapters/database/index.ts +0 -1
  572. package/src/adapters/database/memory/__tests__/memoryDb.test.ts +0 -37
  573. package/src/adapters/database/memory/index.ts +0 -279
  574. package/src/adapters/endpoints/addAuthUser/index.ts +0 -55
  575. package/src/adapters/endpoints/endpointValidation/index.ts +0 -26
  576. package/src/adapters/endpoints/index.ts +0 -4
  577. package/src/adapters/endpoints/localAuthorization/index.ts +0 -75
  578. package/src/adapters/endpoints/tcpConsumer/index.ts +0 -69
  579. package/src/adapters/endpoints/userSession/index.ts +0 -40
  580. package/src/adapters/eventstore/database.ts +0 -178
  581. package/src/adapters/eventstore/index.ts +0 -1
  582. package/src/adapters/infrastructure/index.ts +0 -1
  583. package/src/adapters/infrastructure/local/index.ts +0 -40
  584. package/src/adapters/logger/console.ts +0 -42
  585. package/src/adapters/logger/index.ts +0 -1
  586. package/src/index.ts +0 -25
  587. package/src/libraries/modules/fs.ts +0 -88
  588. package/src/libraries/modules/index.ts +0 -1
  589. package/src/libraries/openApi/index.ts +0 -1
  590. package/src/libraries/openApi/pruneUnusedRef.ts +0 -35
  591. package/src/libraries/tcp/index.ts +0 -98
  592. package/src/libraries/tcp/types.ts +0 -43
  593. package/src/libraries/validation/__tests__/validation.test.ts +0 -25
  594. package/src/libraries/validation/index.ts +0 -48
  595. package/src/ports/authentication/index.ts +0 -25
  596. package/src/ports/base.ts +0 -20
  597. package/src/ports/cache/index.ts +0 -17
  598. package/src/ports/configuration/__tests__/configurationPort.test.ts +0 -47
  599. package/src/ports/configuration/args.ts +0 -39
  600. package/src/ports/configuration/common.ts +0 -12
  601. package/src/ports/configuration/index.ts +0 -110
  602. package/src/ports/configuration/localConfig.ts +0 -117
  603. package/src/ports/database/index.ts +0 -25
  604. package/src/ports/endpoints/__tests__/endpointsCall.test.ts +0 -20
  605. package/src/ports/endpoints/__tests__/test-client-library/base.ts +0 -167
  606. package/src/ports/endpoints/__tests__/test-client-library/index.ts +0 -23
  607. package/src/ports/endpoints/__tests__/test-client-library/services/service.ts +0 -181
  608. package/src/ports/endpoints/__tests__/utils.test.ts +0 -54
  609. package/src/ports/endpoints/index.ts +0 -272
  610. package/src/ports/endpoints/openApi.ts +0 -191
  611. package/src/ports/endpoints/utils.ts +0 -31
  612. package/src/ports/eventsourcing/__tests__/eventhandlers.test.ts +0 -30
  613. package/src/ports/eventsourcing/__tests__/invariants.test.ts +0 -213
  614. package/src/ports/eventsourcing/commandHandlers/index.ts +0 -625
  615. package/src/ports/eventsourcing/commandTemplates/index.ts +0 -2
  616. package/src/ports/eventsourcing/commandTemplates/multiStream.ts +0 -70
  617. package/src/ports/eventsourcing/commandTemplates/snapshot.ts +0 -43
  618. package/src/ports/eventsourcing/eventHandlers/index.ts +0 -429
  619. package/src/ports/eventsourcing/index.ts +0 -98
  620. package/src/ports/eventsourcing/invariants/combinators.ts +0 -25
  621. package/src/ports/eventsourcing/invariants/common.ts +0 -42
  622. package/src/ports/eventsourcing/invariants/comparisons.ts +0 -90
  623. package/src/ports/eventsourcing/invariants/index.ts +0 -4
  624. package/src/ports/eventsourcing/invariants/stateExistance.ts +0 -34
  625. package/src/ports/eventsourcing/subscriptions/index.ts +0 -1
  626. package/src/ports/eventsourcing/subscriptions/sseSubscriptions.ts +0 -103
  627. package/src/ports/eventsourcing/utils/aggregateBuilder.ts +0 -49
  628. package/src/ports/eventsourcing/utils/commandBuilder.ts +0 -113
  629. package/src/ports/eventsourcing/utils/eventHandlerBuilder.ts +0 -22
  630. package/src/ports/eventsourcing/utils/externalSystemBuilder.ts +0 -42
  631. package/src/ports/eventsourcing/utils/index.ts +0 -25
  632. package/src/ports/eventsourcing/utils/policyBuilder.ts +0 -31
  633. package/src/ports/eventsourcing/utils/readmodelBuilder.ts +0 -52
  634. package/src/ports/eventstore/index.ts +0 -11
  635. package/src/ports/infrastructure/__tests__/fixture/index.ts +0 -2
  636. package/src/ports/infrastructure/__tests__/fixture/infrastructureServices.ts +0 -72
  637. package/src/ports/infrastructure/__tests__/fixture/structureState.ts +0 -254
  638. package/src/ports/infrastructure/__tests__/infrastructure.test.ts +0 -11
  639. package/src/ports/infrastructure/index.ts +0 -162
  640. package/src/ports/infrastructure/utils.ts +0 -130
  641. package/src/ports/logger/index.ts +0 -34
  642. package/src/utils/index.ts +0 -186
  643. package/tsconfig.json +0 -19
  644. /package/build/{ports → libraries}/eventsourcing/commandTemplates/index.d.ts +0 -0
  645. /package/build/{ports → libraries}/eventsourcing/commandTemplates/index.js +0 -0
  646. /package/build/{ports → libraries}/eventsourcing/subscriptions/index.d.ts +0 -0
  647. /package/build/{ports → libraries}/eventsourcing/subscriptions/index.js +0 -0
  648. /package/build/{ports → libraries}/eventsourcing/utils/eventHandlerBuilder.js +0 -0
@@ -1,43 +0,0 @@
1
- import { Aggregate, Command, CommandExecutionResponse, CommandHandlerState, Ports } from '@bett3r-dev/pv3-types';
2
- import { defaultEventsourcingLoad, reduceEventsIntoState } from '../commandHandlers';
3
-
4
- export type SnapshotType<T = any> = {
5
- id:string,
6
- eventId: number,
7
- version: number,
8
- data: T,
9
- }
10
-
11
- export const snapshot = ( ports: Pick<Ports, 'database' | 'eventstore'>, collection: string, frequency: number = 500 ): Command => {
12
- const coll = ports.database.getCollection<SnapshotType>( collection );
13
- coll.ensureIndex(['stream']);
14
- coll.ensureIndex(['eventId']);
15
- return {
16
- load: async <Model, Payload>( commandHandlerState: CommandHandlerState<Model,Payload> ): Promise<CommandHandlerState<Model, Payload>> => {
17
- return coll.readById( commandHandlerState.stream )
18
- .then(( snapshot ) => {
19
- return defaultEventsourcingLoad( ports.eventstore )( commandHandlerState as any, {
20
- stream: commandHandlerState.stream,
21
- from: snapshot?.eventId || 0
22
- }, snapshot?.data )
23
- .then(( state ) => ({
24
- ...state,
25
- snapshot,
26
- }));
27
- }) as Promise<CommandHandlerState<Model,Payload>>;
28
- },
29
- format: async <Model, Payload>( commandHandlerState: CommandHandlerState<Model,Payload> ): Promise<CommandExecutionResponse<Model>> => {
30
- const { state, commandHandler, committedEvents } = commandHandlerState;
31
- const formattedResult = reduceEventsIntoState( state, commandHandler as Aggregate, committedEvents! );
32
- if ( commandHandlerState.committedEvents ){
33
- const lastEvent = commandHandlerState.committedEvents?.slice( -1 )[0];
34
- const lastVersion = ( commandHandlerState as any ).snapshot?.version || 0;
35
- if ( lastEvent.version - lastVersion >= frequency ){
36
- // Not waiting for the operation since this is not required to be consistent
37
- coll.upsert( commandHandlerState.stream, { id: lastEvent.stream, version: lastEvent.version, eventId: lastEvent.id, data: formattedResult.state });
38
- }
39
- }
40
- return formattedResult as CommandExecutionResponse<Model>;
41
- }
42
- } as Command;
43
- };
@@ -1,429 +0,0 @@
1
- import { ensureArray } from '@bett3r-dev/bett3r-utils';
2
- import S, { BaseSchema, ObjectSchema } from '@bett3r-dev/jsonschema-definer';
3
- import {
4
- AppErrorInstance,
5
- Collection,
6
- CollectionFilter,
7
- CollectionQueryParams,
8
- CollectionSort,
9
- CommandExecutionResponse,
10
- CommittedEvent,
11
- CommittedEventSchema,
12
- Document,
13
- EndpointActionParams,
14
- EndpointSchemas,
15
- EndpointsPort,
16
- EventHandler,
17
- ExecuteCommandFunction,
18
- LoggerType,
19
- Policy,
20
- PolicyResponse,
21
- Query,
22
- QueryHandler,
23
- ReadModel,
24
- ReadModelDefaultParams,
25
- ReadModelDefaultQuery,
26
- RequestObject,
27
- ResponseObject,
28
- defaultParamsSchemas,
29
- defaultQuerySchemas,
30
- } from '@bett3r-dev/pv3-types';
31
- import { QueueObject, queue } from 'async';
32
- import { paramCase } from 'change-case';
33
- import { dieOnError, validateSchema } from '../../../libraries/validation';
34
-
35
- //TODO: Consider Objects
36
- export const coerceFilterType = (
37
- value: string[],
38
- targetType: string,
39
- op: string
40
- ) => {
41
- const inOrNin = op === 'in' || op === 'nin';
42
- if ( !value.length || [ 'exists', 'notExists' ].includes( op )) return undefined;
43
- if ( targetType === 'string' ) return !inOrNin ? value[0] : value;
44
- else if ( targetType === 'number' )
45
- return !inOrNin ? Number( value[0]) : value.map(( v ) => Number( v ));
46
- else if ( targetType === 'boolean' )
47
- return !inOrNin ? value[0] === 'true' : value.map(( v ) => v === 'true' );
48
- };
49
-
50
- export const formatFilter = <Model extends Document>(
51
- filters: string[],
52
- schema: ObjectSchema<Model>
53
- ): CollectionFilter<Model>[] => {
54
- return (
55
- filters &&
56
- ensureArray( filters ).map(( f ) => {
57
- const operands = f.split( ',' );
58
- const [ field, op, ...value ] = operands;
59
- return {
60
- field,
61
- op,
62
- value: coerceFilterType(
63
- value,
64
- ((( schema.plain.properties as {})[field] || {}).type as string ) ||
65
- 'string',
66
- op
67
- ),
68
- } as CollectionFilter<Model>;
69
- })
70
- );
71
- };
72
-
73
- export const formatSort = <Model extends Document>( sorts: string[]) => {
74
- return (
75
- sorts &&
76
- ensureArray( sorts ).map(( s ) => {
77
- const operands = s.split( ',' );
78
- const [ field, direction ] = operands;
79
- return {
80
- field,
81
- direction: direction || 'asc',
82
- } as CollectionSort<Model>;
83
- })
84
- );
85
- };
86
-
87
- export const formatSelect = <Model extends Document>(
88
- select: string[],
89
- schema: ObjectSchema<Model>
90
- ) => {
91
- select = ensureArray( select );
92
- const omit = select.filter(( s ) => s[0] === '!' ).map(( s ) => s.slice( 1 ));
93
- if ( omit?.length ) {
94
- return Object.keys( schema.plain.properties as {}).filter(
95
- ( key ) => !omit.includes( key )
96
- );
97
- }
98
- return select;
99
- };
100
-
101
- export const defaultQueryParamsTranslator = <
102
- Model extends Document = any,
103
- Query extends ReadModelDefaultQuery = ReadModelDefaultQuery,
104
- Params extends ReadModelDefaultParams = ReadModelDefaultParams
105
- >(
106
- schema: ObjectSchema<Model>,
107
- {
108
- params,
109
- query,
110
- }: Pick<EndpointActionParams<Model, Query, Params>, 'params' | 'query'>
111
- ): CollectionQueryParams<Model> => {
112
- return {
113
- id: params?.id,
114
- limit: query?.limit ? Number( query.limit ) : undefined,
115
- after: query?.after,
116
- select: query?.select
117
- ? formatSelect( query?.select as string[], schema )
118
- : undefined,
119
- filter: query?.filter
120
- ? formatFilter( query?.filter as string[], schema )
121
- : undefined,
122
- sort: query?.sort ? formatSort( query?.sort as string[]) : undefined,
123
- };
124
- };
125
-
126
- export const createEventHandlers = ( logger: LoggerType, endpoints: EndpointsPort ) => {
127
- const activeSubscriptions: Record<string, string> = {};
128
-
129
- const eventHandlerMap: {
130
- [name: string]: {
131
- eventHandler: Partial<Policy>;
132
- events: string[];
133
- queue: QueueObject<CommittedEvent>;
134
- };
135
- } = {};
136
-
137
- const processEvent =
138
- ( eventHandlerName: string ) =>
139
- ( event: CommittedEvent ): Promise<CommandExecutionResponse> => {
140
- return new Promise(( resolve, reject ) => {
141
- eventHandlerMap[eventHandlerName].queue.push(
142
- event,
143
- ( err: AppErrorInstance, result: CommandExecutionResponse ) => {
144
- if ( err ) {
145
- logger.error( err );
146
- return reject( err );
147
- }
148
- return resolve( result );
149
- }
150
- );
151
- });
152
- };
153
-
154
- const pauseQueue = ( eventHandlerName: string, value: boolean ) =>
155
- value
156
- ? eventHandlerMap[eventHandlerName].queue.pause()
157
- : eventHandlerMap[eventHandlerName].queue.resume();
158
-
159
- const getEventHandlerLabel = ( eventHandler: EventHandler ) =>
160
- `${( eventHandler as Policy ).eventHandlers ? 'Policy' : 'Projector'}`;
161
-
162
- const isReadModel = ( eventHandler: EventHandler ) =>
163
- !!( eventHandler as ReadModel ).isReadModel;
164
-
165
- const handleEvent =
166
- ( eventHandler: EventHandler, executeCommand: ExecuteCommandFunction ) =>
167
- ( event: CommittedEvent ) => {
168
- const _isReadModel = isReadModel( eventHandler );
169
- return Promise.resolve( event )
170
- .then( validateSchema( getEventSchema( eventHandler )( event.name )))
171
- .then<PolicyResponse | void>(
172
- _isReadModel
173
- ? (( eventHandler as ReadModel ).eventProjectors || {})[
174
- event.name as string
175
- ]
176
- : ( eventHandler as Policy ).eventHandlers[event.name as string]
177
- )
178
- .then(( response ) => {
179
- if ( !response || _isReadModel ) return Promise.resolve();
180
- const policy = eventHandler as Policy;
181
- if ( policy.commandHandler && response.name ) {
182
- return executeCommand(
183
- policy.commandHandler,
184
- response.name
185
- )({
186
- context: {
187
- user: event.metadata.user,
188
- },
189
- body: response.data,
190
- params: { id: response.id },
191
- query: {
192
- correlationId: event.metadata.correlationId,
193
- causationId: event.id.toString(),
194
- },
195
- } as EndpointActionParams );
196
- }
197
- })
198
- .catch(( error ) => {
199
- logger.debug( 'Handling error for event', event.name );
200
- if (
201
- eventHandler.errorHandlers &&
202
- eventHandler.errorHandlers[event.name] &&
203
- typeof eventHandler.errorHandlers[event.name] === 'function'
204
- )
205
- return eventHandler.errorHandlers[event.name]!( error, event );
206
- return Promise.reject( error );
207
- });
208
- };
209
-
210
- const addEventHandlerToMap = (
211
- eventHandler: EventHandler,
212
- q: QueueObject<CommittedEvent<any>>
213
- ) => {
214
- eventHandlerMap[eventHandler.name] = {
215
- eventHandler: {
216
- ...eventHandler,
217
- },
218
- events: Object.keys( eventHandler.events ),
219
- queue: q,
220
- };
221
- };
222
-
223
- const EventHandlerQueueFunction =
224
- (
225
- executeCommand: ExecuteCommandFunction,
226
- eventHandler: EventHandler,
227
- label: string
228
- ) =>
229
- ( event: CommittedEvent, callback ) => {
230
- return Promise.resolve( event )
231
- .then(( event ) => {
232
- if ( !eventHandler.events[event.name || ''])
233
- return Promise.reject(
234
- Error(
235
- `Event ${event.name} Not recognized for ${label} ${eventHandler.name}`
236
- )
237
- );
238
- logger.log(
239
- 'Handling Event',
240
- event.name,
241
- 'in',
242
- label,
243
- eventHandler.name
244
- );
245
- logger.debug( 'with payload:', event );
246
- return event;
247
- })
248
- .then( handleEvent( eventHandler, executeCommand ))
249
- .then(() => callback(), callback );
250
- };
251
-
252
- const getEventSchema =
253
- ( eventHandler: EventHandler ) => ( eventName: string ) => {
254
- return CommittedEventSchema(
255
- eventHandler.events[eventName]().schema?.copyWith({
256
- plain: { $id: eventName },
257
- }) as BaseSchema,
258
- eventName
259
- ).required( 'name', 'data' );
260
- };
261
-
262
- const registerEventHandlerEndpoint = (
263
- eventHandler: EventHandler,
264
- label: string,
265
- tags?: string[]
266
- ) => {
267
- const route = `/${paramCase( eventHandler.name )}`;
268
-
269
- endpoints.registerEndpoint({
270
- module: eventHandler.name,
271
- name: `Subscription endpoint for ${eventHandler.name}`,
272
- description: `Process events sent to the ${label}`,
273
- tags,
274
- schemas: {
275
- body: S.anyOf(
276
- ...Object.keys( eventHandler.events ).map( getEventSchema( eventHandler ))
277
- ),
278
- },
279
- shouldValidate: false,
280
- route,
281
- method: 'POST',
282
- action: ({ body }) => processEvent( eventHandler.name )( body ),
283
- });
284
-
285
- return route;
286
- };
287
-
288
- const defaultQueryHandler: QueryHandler = <Model extends Document>(
289
- repository: Collection<Model>,
290
- { id, limit, after, filter, sort, select }: CollectionQueryParams<Model>
291
- ) => {
292
- if ( id ) return repository.readById( id as string );
293
-
294
- return repository.query({
295
- limit,
296
- after,
297
- filter,
298
- sort,
299
- select,
300
- });
301
- };
302
-
303
- const registerReadModelQueryEndpoint = (
304
- query: Query,
305
- readModel: ReadModel
306
- ) => {
307
- const route = query.route || `/${paramCase( readModel.name )}`;
308
- const schema = readModel.schema.id( readModel.name );
309
- const schemas: EndpointSchemas<any, any, any> = {
310
- ...defaultParamsSchemas,
311
- ...defaultQuerySchemas,
312
- ...( query.schemas ? query.schemas : {}),
313
- responses: {
314
- 200: [
315
- {
316
- name: 'OK',
317
- schema: S.oneOf( schema, S.array().items( schema )),
318
- },
319
- ],
320
- },
321
- };
322
- if ( readModel.database && query.subscriptions ) {
323
- const subscriptions = query.subscriptions?.map(( s ) => {
324
- // FIXME: Esto esta pasando por cada request de subscription
325
- s.readModelSubscriptionCloseEmitter.on( 'close', ( id ) => {
326
- logger.debug( 'Subscription Closed for id', id, 'in subscription' );
327
- delete activeSubscriptions[id];
328
- if ( Object.keys( activeSubscriptions ).length === 0 )
329
- endpoints.callEventConnectionsInactive();
330
- });
331
- return s.notifySubscriptions( logger, readModel.collection! );
332
- });
333
- readModel.database.onStarted(() => {
334
- readModel
335
- .database!.getCollection( readModel.collection! )
336
- .watch([ 'delete', 'insert', 'update' ], ( data ) => {
337
- subscriptions?.forEach(( s ) => {
338
- s( data );
339
- });
340
- });
341
- });
342
- }
343
-
344
- endpoints.registerEndpoint({
345
- method: 'GET',
346
- module: readModel.name,
347
- name: `Readmodel Query endpoint for ${readModel.name}`,
348
- description: query.description,
349
- schemas,
350
- tags: ['readmodel'],
351
- route: `${route}/:id?`,
352
- action: async ( params ) => {
353
- const projectionParams = (
354
- query.translator || defaultQueryParamsTranslator
355
- )( readModel.schema, params );
356
- const transformedProjectionParams = !query.transformers
357
- ? projectionParams
358
- : await query.transformers.reduce(( promise, transformer ) => {
359
- return promise.then(( projectionParams ) =>
360
- transformer( projectionParams, params )
361
- );
362
- }, Promise.resolve( projectionParams ));
363
- const data = await ( query.queryHandler || defaultQueryHandler )(
364
- readModel.database?.getCollection( readModel.collection || readModel.name ) as any,
365
- { ...transformedProjectionParams, params }
366
- );
367
- readModel.database &&
368
- query.subscriptions?.forEach(( s ) => {
369
- const id = s.startSubscription(
370
- transformedProjectionParams,
371
- params.context?.req as RequestObject,
372
- params.context?.res as ResponseObject
373
- );
374
- if ( id ) {
375
- activeSubscriptions[id] = s.type;
376
- endpoints.callEventConnectionsActive();
377
- ensureArray( data ).forEach(( data: any ) => {
378
- s.notifySubscriptions( logger, readModel.collection! )(
379
- { changeType: 'update', data },
380
- id
381
- );
382
- });
383
- }
384
- });
385
- return data;
386
- },
387
- });
388
-
389
- return route;
390
- };
391
-
392
- const registerEventHandler = (
393
- eventHandler: EventHandler,
394
- executeCommand: ExecuteCommandFunction
395
- ): string => {
396
- const isReadmodel = isReadModel( eventHandler );
397
- if ( eventHandlerMap[eventHandler.name]) {
398
- dieOnError( logger )(
399
- `A policy or projector with the name ${eventHandler.name} already exists on this instance.`
400
- );
401
- }
402
- const label = getEventHandlerLabel( eventHandler );
403
- const q = queue(
404
- EventHandlerQueueFunction( executeCommand, eventHandler, label ),
405
- eventHandler.concurrency || 1
406
- );
407
- addEventHandlerToMap( eventHandler, q );
408
- const eventHandlerRoute = registerEventHandlerEndpoint(
409
- eventHandler,
410
- label,
411
- isReadmodel ? ['readmodel'] : ['policy']
412
- );
413
-
414
- if ( isReadmodel ) {
415
- const qs = ( eventHandler as ReadModel ).queries || [{}];
416
- qs.forEach(( q ) => {
417
- registerReadModelQueryEndpoint( q, eventHandler as ReadModel );
418
- });
419
- }
420
-
421
- return eventHandlerRoute;
422
- };
423
-
424
- return {
425
- handleEvent,
426
- pauseQueue,
427
- registerEventHandler,
428
- };
429
- };
@@ -1,98 +0,0 @@
1
- import { map } from '@bett3r-dev/bett3r-utils';
2
- import { Aggregate, Builder, EndpointsPort, EventHandler, EventSourcingPort, EventStorePort, LoggerPort, ReadModel, System } from '@bett3r-dev/pv3-types';
3
- import c from 'ansi-colors';
4
- import { createPort } from '../base';
5
- import { createCommandHandlers } from './commandHandlers';
6
- import { createEventHandlers } from './eventHandlers';
7
- export * from './commandHandlers';
8
- export * from './commandTemplates';
9
- export * from './eventHandlers';
10
- export * from './invariants';
11
- export * from './subscriptions';
12
- export * from './utils';
13
-
14
- export const EventSourcing = ( loggerPort: LoggerPort, eventstore: EventStorePort, endpoints: EndpointsPort ): EventSourcingPort => {
15
- const logger = loggerPort.createLoggerInstance( 'eventsourcing' );
16
-
17
- const commandHandlersManager = createCommandHandlers( logger, endpoints, eventstore );
18
- const eventHandlersManager = createEventHandlers( logger, endpoints );
19
- const registeredEndpoints: {
20
- aggregates: Record<string,any>,
21
- systems: Record<string,any>,
22
- policies: Record<string,any>,
23
- projectors: Record<string,any>
24
- } = {
25
- aggregates: {},
26
- systems: {},
27
- policies: {},
28
- projectors: {},
29
- };
30
-
31
- const logRoute = ( name: string, { route, events }, inverse = false ) => {
32
- logger.log( name, c.underline( route ), inverse ? '<=' : '=>', events.join( ', ' ));
33
- };
34
-
35
- const logEventsourcingRoutes = () => {
36
- Object.keys( registeredEndpoints.aggregates ).forEach(( aggregate ) => {
37
- logger.log( c.bgYellowBright( c.bold.blackBright( aggregate )));
38
- Object.keys( registeredEndpoints.aggregates[aggregate].commands ).forEach(( command ) => {
39
- logRoute( `\t${ c.bold( command )}`, registeredEndpoints.aggregates[aggregate].commands[command]);
40
- });
41
- });
42
- Object.keys( registeredEndpoints.systems ).forEach(( system ) => {
43
- logger.log( c.bgMagentaBright( c.bold.whiteBright( system )));
44
- Object.keys( registeredEndpoints.systems[system].commands ).forEach(( command ) => {
45
- logRoute( `\t${ c.bold( command )}`, registeredEndpoints.systems[system].commands[command]);
46
- });
47
- });
48
- Object.keys( registeredEndpoints.policies ).forEach(( policy ) => {
49
- logger.log( c.bgMagenta( c.bold.whiteBright( policy )));
50
- logRoute( `\t${ c.bold( policy )}`, registeredEndpoints.policies[policy], true );
51
- });
52
- Object.keys( registeredEndpoints.projectors ).forEach(( projector ) => {
53
- logger.log( c.bgGreenBright( c.bold.whiteBright( projector )));
54
- logRoute( `\t${ c.bold( projector )}`, registeredEndpoints.projectors[projector], true );
55
- });
56
- };
57
-
58
- const routeCommandHandler = ( commandHandler: System ): void => {
59
- const commands = commandHandler.commands;
60
- const getEndpoints = commandHandlersManager.registerCommandHandlerGetEndpoints( commandHandler );
61
- const commandEndpoints = commandHandlersManager.registerCommandHandlerPostEndpoints( commandHandler );
62
- const c = map(( route, command ) => ({
63
- route,
64
- events: ( commands[command].build ? commands[command].build() : commands[command]).events
65
- }), commandEndpoints );
66
- if (( commandHandler as Aggregate ).isAggregate )
67
- registeredEndpoints.aggregates[commandHandler.name] = { getEndpoints, commands:c };
68
- else
69
- registeredEndpoints.systems[commandHandler.name] = { getEndpoints, commands:c };
70
- };
71
-
72
- const routeEventHandler = (
73
- eventHandler: EventHandler | Builder<EventHandler>
74
- ) :void => {
75
- const eh = ( eventHandler as Builder ).build ? ( eventHandler as Builder ).build() : eventHandler;
76
- const route = eventHandlersManager.registerEventHandler( eh, commandHandlersManager.executeCommand );
77
- if (( eh as ReadModel ).isReadModel )
78
- registeredEndpoints.projectors[eh.name] = { route, events: Object.keys( eh.events ) };
79
- else
80
- registeredEndpoints.policies[eh.name] = { route, events: Object.keys( eh.events ) };
81
- };
82
-
83
- const eventsourcingPort = createPort({
84
- _eventstore: eventstore,
85
- routeEventHandler,
86
- routeCommandHandler,
87
-
88
- loadStream: commandHandlersManager.loadStream,
89
- loadAggregateState: commandHandlersManager.loadAggregateState,
90
-
91
- handleEvent: eventHandlersManager.handleEvent,
92
- executeCommand: commandHandlersManager.executeCommand,
93
-
94
- logEventsourcingRoutes
95
- });
96
-
97
- return eventsourcingPort;
98
- };
@@ -1,25 +0,0 @@
1
- import { noop } from '@bett3r-dev/bett3r-utils';
2
- import { InvariantType } from '@bett3r-dev/pv3-types';
3
- import { createInvariant } from '.';
4
-
5
- export const and = ( ...invariants: InvariantType[]): InvariantType => {
6
- return createInvariant(
7
- async ( handlerState ) => {
8
- return Promise.all(
9
- invariants.map( i => i.check( handlerState ))
10
- )
11
- .then( noop );
12
- }
13
- );
14
- };
15
-
16
- export const or = ( ...invariants: InvariantType[]): InvariantType => {
17
- return createInvariant(
18
- async ( handlerState ) => {
19
- return Promise.any(
20
- invariants.map( i => i.check( handlerState ))
21
- )
22
- .then( noop );
23
- }
24
- );
25
- };
@@ -1,42 +0,0 @@
1
- import S, { BaseSchema } from '@bett3r-dev/jsonschema-definer';
2
- import { CommandHandlerState, ErrorTypes, InvariantType } from '@bett3r-dev/pv3-types';
3
- import { always } from 'ramda';
4
- import { AppError, createError } from '../../../utils';
5
-
6
- export function createInvariant<Model, Payload, Error = any>(
7
- check: ( handlerState: CommandHandlerState<any, Payload, Model> ) => Promise<void>,
8
- error: {
9
- name?: string,
10
- description?: string,
11
- type?: ErrorTypes,
12
- details?: Error,
13
- schema?: BaseSchema<Error>
14
- } = {
15
- name: 'Invariant Error',
16
- description: 'Invariant Validation Failed',
17
- details: null as Error,
18
- type: 'BadRequestError',
19
- schema: S.shape<any>({})
20
- }
21
- ): InvariantType<Model, Payload> {
22
- const GenericError = AppError({
23
- schema: error.schema,
24
- error: error.name,
25
- type: error.type || 'BadRequestError'
26
- });
27
- return {
28
- rejects: [GenericError],
29
- check: async ( handlerState ) => {
30
- return check( handlerState )
31
- .then( always( handlerState ))
32
- .catch(( err ) => {
33
- return Promise.reject(
34
- createError( GenericError, {
35
- ...error,
36
- ...err
37
- })
38
- );
39
- });
40
- }
41
- };
42
- }