@bett3r-dev/pv3 1.0.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 (393) hide show
  1. package/build/adapters/cache/index.d.ts +2 -0
  2. package/build/adapters/cache/index.d.ts.map +1 -0
  3. package/build/adapters/cache/index.js +18 -0
  4. package/build/adapters/cache/index.js.map +1 -0
  5. package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts +1 -0
  6. package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts.map +1 -0
  7. package/build/adapters/cache/memory/__tests__/memoryCache.test.js +6 -0
  8. package/build/adapters/cache/memory/__tests__/memoryCache.test.js.map +1 -0
  9. package/build/adapters/cache/memory/index.d.ts +3 -0
  10. package/build/adapters/cache/memory/index.d.ts.map +1 -0
  11. package/build/adapters/cache/memory/index.js +119 -0
  12. package/build/adapters/cache/memory/index.js.map +1 -0
  13. package/build/adapters/configuration/__tests__/dotEnv.test.d.ts +2 -0
  14. package/build/adapters/configuration/__tests__/dotEnv.test.d.ts.map +1 -0
  15. package/build/adapters/configuration/__tests__/dotEnv.test.js +43 -0
  16. package/build/adapters/configuration/__tests__/dotEnv.test.js.map +1 -0
  17. package/build/adapters/configuration/dotEnv.d.ts +3 -0
  18. package/build/adapters/configuration/dotEnv.d.ts.map +1 -0
  19. package/build/adapters/configuration/dotEnv.js +35 -0
  20. package/build/adapters/configuration/dotEnv.js.map +1 -0
  21. package/build/adapters/configuration/index.d.ts +2 -0
  22. package/build/adapters/configuration/index.d.ts.map +1 -0
  23. package/build/adapters/configuration/index.js +18 -0
  24. package/build/adapters/configuration/index.js.map +1 -0
  25. package/build/adapters/database/index.d.ts +2 -0
  26. package/build/adapters/database/index.d.ts.map +1 -0
  27. package/build/adapters/database/index.js +18 -0
  28. package/build/adapters/database/index.js.map +1 -0
  29. package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts +1 -0
  30. package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts.map +1 -0
  31. package/build/adapters/database/memory/__tests__/memoryDb.test.js +36 -0
  32. package/build/adapters/database/memory/__tests__/memoryDb.test.js.map +1 -0
  33. package/build/adapters/database/memory/index.d.ts +3 -0
  34. package/build/adapters/database/memory/index.d.ts.map +1 -0
  35. package/build/adapters/database/memory/index.js +241 -0
  36. package/build/adapters/database/memory/index.js.map +1 -0
  37. package/build/adapters/endpoints/addAuthUser/index.d.ts +8 -0
  38. package/build/adapters/endpoints/addAuthUser/index.d.ts.map +1 -0
  39. package/build/adapters/endpoints/addAuthUser/index.js +57 -0
  40. package/build/adapters/endpoints/addAuthUser/index.js.map +1 -0
  41. package/build/adapters/endpoints/endpointValidation/index.d.ts +4 -0
  42. package/build/adapters/endpoints/endpointValidation/index.d.ts.map +1 -0
  43. package/build/adapters/endpoints/endpointValidation/index.js +27 -0
  44. package/build/adapters/endpoints/endpointValidation/index.js.map +1 -0
  45. package/build/adapters/endpoints/index.d.ts +4 -0
  46. package/build/adapters/endpoints/index.d.ts.map +1 -0
  47. package/build/adapters/endpoints/index.js +21 -0
  48. package/build/adapters/endpoints/index.js.map +1 -0
  49. package/build/adapters/endpoints/localAuthorization/index.d.ts +1 -0
  50. package/build/adapters/endpoints/localAuthorization/index.d.ts.map +1 -0
  51. package/build/adapters/endpoints/localAuthorization/index.js +68 -0
  52. package/build/adapters/endpoints/localAuthorization/index.js.map +1 -0
  53. package/build/adapters/endpoints/tcpConsumer/index.d.ts +3 -0
  54. package/build/adapters/endpoints/tcpConsumer/index.d.ts.map +1 -0
  55. package/build/adapters/endpoints/tcpConsumer/index.js +64 -0
  56. package/build/adapters/endpoints/tcpConsumer/index.js.map +1 -0
  57. package/build/adapters/endpoints/userSession/index.d.ts +8 -0
  58. package/build/adapters/endpoints/userSession/index.d.ts.map +1 -0
  59. package/build/adapters/endpoints/userSession/index.js +43 -0
  60. package/build/adapters/endpoints/userSession/index.js.map +1 -0
  61. package/build/adapters/eventstore/database.d.ts +3 -0
  62. package/build/adapters/eventstore/database.d.ts.map +1 -0
  63. package/build/adapters/eventstore/database.js +156 -0
  64. package/build/adapters/eventstore/database.js.map +1 -0
  65. package/build/adapters/eventstore/index.d.ts +2 -0
  66. package/build/adapters/eventstore/index.d.ts.map +1 -0
  67. package/build/adapters/eventstore/index.js +18 -0
  68. package/build/adapters/eventstore/index.js.map +1 -0
  69. package/build/adapters/infrastructure/index.d.ts +2 -0
  70. package/build/adapters/infrastructure/index.d.ts.map +1 -0
  71. package/build/adapters/infrastructure/index.js +18 -0
  72. package/build/adapters/infrastructure/index.js.map +1 -0
  73. package/build/adapters/infrastructure/local/index.d.ts +4 -0
  74. package/build/adapters/infrastructure/local/index.d.ts.map +1 -0
  75. package/build/adapters/infrastructure/local/index.js +37 -0
  76. package/build/adapters/infrastructure/local/index.js.map +1 -0
  77. package/build/adapters/logger/console.d.ts +3 -0
  78. package/build/adapters/logger/console.d.ts.map +1 -0
  79. package/build/adapters/logger/console.js +38 -0
  80. package/build/adapters/logger/console.js.map +1 -0
  81. package/build/adapters/logger/index.d.ts +2 -0
  82. package/build/adapters/logger/index.d.ts.map +1 -0
  83. package/build/adapters/logger/index.js +18 -0
  84. package/build/adapters/logger/index.js.map +1 -0
  85. package/build/index.d.ts +23 -0
  86. package/build/index.d.ts.map +1 -0
  87. package/build/index.js +39 -0
  88. package/build/index.js.map +1 -0
  89. package/build/libraries/modules/fs.d.ts +12 -0
  90. package/build/libraries/modules/fs.d.ts.map +1 -0
  91. package/build/libraries/modules/fs.js +103 -0
  92. package/build/libraries/modules/fs.js.map +1 -0
  93. package/build/libraries/modules/index.d.ts +2 -0
  94. package/build/libraries/modules/index.d.ts.map +1 -0
  95. package/build/libraries/modules/index.js +18 -0
  96. package/build/libraries/modules/index.js.map +1 -0
  97. package/build/libraries/openApi/index.d.ts +2 -0
  98. package/build/libraries/openApi/index.d.ts.map +1 -0
  99. package/build/libraries/openApi/index.js +18 -0
  100. package/build/libraries/openApi/index.js.map +1 -0
  101. package/build/libraries/openApi/pruneUnusedRef.d.ts +3 -0
  102. package/build/libraries/openApi/pruneUnusedRef.d.ts.map +1 -0
  103. package/build/libraries/openApi/pruneUnusedRef.js +30 -0
  104. package/build/libraries/openApi/pruneUnusedRef.js.map +1 -0
  105. package/build/libraries/tcp/index.d.ts +8 -0
  106. package/build/libraries/tcp/index.d.ts.map +1 -0
  107. package/build/libraries/tcp/index.js +108 -0
  108. package/build/libraries/tcp/index.js.map +1 -0
  109. package/build/libraries/tcp/types.d.ts +45 -0
  110. package/build/libraries/tcp/types.d.ts.map +1 -0
  111. package/build/libraries/tcp/types.js +3 -0
  112. package/build/libraries/tcp/types.js.map +1 -0
  113. package/build/libraries/validation/__tests__/validation.test.d.ts +2 -0
  114. package/build/libraries/validation/__tests__/validation.test.d.ts.map +1 -0
  115. package/build/libraries/validation/__tests__/validation.test.js +53 -0
  116. package/build/libraries/validation/__tests__/validation.test.js.map +1 -0
  117. package/build/libraries/validation/index.d.ts +8 -0
  118. package/build/libraries/validation/index.d.ts.map +1 -0
  119. package/build/libraries/validation/index.js +51 -0
  120. package/build/libraries/validation/index.js.map +1 -0
  121. package/build/ports/authentication/index.d.ts +12 -0
  122. package/build/ports/authentication/index.d.ts.map +1 -0
  123. package/build/ports/authentication/index.js +23 -0
  124. package/build/ports/authentication/index.js.map +1 -0
  125. package/build/ports/base.d.ts +7 -0
  126. package/build/ports/base.d.ts.map +1 -0
  127. package/build/ports/base.js +25 -0
  128. package/build/ports/base.js.map +1 -0
  129. package/build/ports/cache/index.d.ts +3 -0
  130. package/build/ports/cache/index.d.ts.map +1 -0
  131. package/build/ports/cache/index.js +19 -0
  132. package/build/ports/cache/index.js.map +1 -0
  133. package/build/ports/configuration/__tests__/configurationPort.test.d.ts +2 -0
  134. package/build/ports/configuration/__tests__/configurationPort.test.d.ts.map +1 -0
  135. package/build/ports/configuration/__tests__/configurationPort.test.js +51 -0
  136. package/build/ports/configuration/__tests__/configurationPort.test.js.map +1 -0
  137. package/build/ports/configuration/args.d.ts +57 -0
  138. package/build/ports/configuration/args.d.ts.map +1 -0
  139. package/build/ports/configuration/args.js +44 -0
  140. package/build/ports/configuration/args.js.map +1 -0
  141. package/build/ports/configuration/common.d.ts +2 -0
  142. package/build/ports/configuration/common.d.ts.map +1 -0
  143. package/build/ports/configuration/common.js +19 -0
  144. package/build/ports/configuration/common.js.map +1 -0
  145. package/build/ports/configuration/index.d.ts +10 -0
  146. package/build/ports/configuration/index.d.ts.map +1 -0
  147. package/build/ports/configuration/index.js +96 -0
  148. package/build/ports/configuration/index.js.map +1 -0
  149. package/build/ports/configuration/localConfig.d.ts +3 -0
  150. package/build/ports/configuration/localConfig.d.ts.map +1 -0
  151. package/build/ports/configuration/localConfig.js +108 -0
  152. package/build/ports/configuration/localConfig.js.map +1 -0
  153. package/build/ports/database/index.d.ts +4 -0
  154. package/build/ports/database/index.d.ts.map +1 -0
  155. package/build/ports/database/index.js +27 -0
  156. package/build/ports/database/index.js.map +1 -0
  157. package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts +2 -0
  158. package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts.map +1 -0
  159. package/build/ports/endpoints/__tests__/endpointsCall.test.js +21 -0
  160. package/build/ports/endpoints/__tests__/endpointsCall.test.js.map +1 -0
  161. package/build/ports/endpoints/__tests__/test-client-library/base.d.ts +77 -0
  162. package/build/ports/endpoints/__tests__/test-client-library/base.d.ts.map +1 -0
  163. package/build/ports/endpoints/__tests__/test-client-library/base.js +91 -0
  164. package/build/ports/endpoints/__tests__/test-client-library/base.js.map +1 -0
  165. package/build/ports/endpoints/__tests__/test-client-library/index.d.ts +29 -0
  166. package/build/ports/endpoints/__tests__/test-client-library/index.d.ts.map +1 -0
  167. package/build/ports/endpoints/__tests__/test-client-library/index.js +43 -0
  168. package/build/ports/endpoints/__tests__/test-client-library/index.js.map +1 -0
  169. package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts +106 -0
  170. package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts.map +1 -0
  171. package/build/ports/endpoints/__tests__/test-client-library/services/service.js +62 -0
  172. package/build/ports/endpoints/__tests__/test-client-library/services/service.js.map +1 -0
  173. package/build/ports/endpoints/__tests__/utils.test.d.ts +1 -0
  174. package/build/ports/endpoints/__tests__/utils.test.d.ts.map +1 -0
  175. package/build/ports/endpoints/__tests__/utils.test.js +53 -0
  176. package/build/ports/endpoints/__tests__/utils.test.js.map +1 -0
  177. package/build/ports/endpoints/index.d.ts +29 -0
  178. package/build/ports/endpoints/index.d.ts.map +1 -0
  179. package/build/ports/endpoints/index.js +263 -0
  180. package/build/ports/endpoints/index.js.map +1 -0
  181. package/build/ports/endpoints/openApi.d.ts +16 -0
  182. package/build/ports/endpoints/openApi.d.ts.map +1 -0
  183. package/build/ports/endpoints/openApi.js +187 -0
  184. package/build/ports/endpoints/openApi.js.map +1 -0
  185. package/build/ports/endpoints/utils.d.ts +17 -0
  186. package/build/ports/endpoints/utils.d.ts.map +1 -0
  187. package/build/ports/endpoints/utils.js +31 -0
  188. package/build/ports/endpoints/utils.js.map +1 -0
  189. package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts +2 -0
  190. package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts.map +1 -0
  191. package/build/ports/eventsourcing/__tests__/eventhandlers.test.js +35 -0
  192. package/build/ports/eventsourcing/__tests__/eventhandlers.test.js.map +1 -0
  193. package/build/ports/eventsourcing/__tests__/invariants.test.d.ts +2 -0
  194. package/build/ports/eventsourcing/__tests__/invariants.test.d.ts.map +1 -0
  195. package/build/ports/eventsourcing/__tests__/invariants.test.js +210 -0
  196. package/build/ports/eventsourcing/__tests__/invariants.test.js.map +1 -0
  197. package/build/ports/eventsourcing/commandHandlers/index.d.ts +25 -0
  198. package/build/ports/eventsourcing/commandHandlers/index.d.ts.map +1 -0
  199. package/build/ports/eventsourcing/commandHandlers/index.js +392 -0
  200. package/build/ports/eventsourcing/commandHandlers/index.js.map +1 -0
  201. package/build/ports/eventsourcing/commandTemplates/index.d.ts +3 -0
  202. package/build/ports/eventsourcing/commandTemplates/index.d.ts.map +1 -0
  203. package/build/ports/eventsourcing/commandTemplates/index.js +19 -0
  204. package/build/ports/eventsourcing/commandTemplates/index.js.map +1 -0
  205. package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts +4 -0
  206. package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts.map +1 -0
  207. package/build/ports/eventsourcing/commandTemplates/multiStream.js +73 -0
  208. package/build/ports/eventsourcing/commandTemplates/multiStream.js.map +1 -0
  209. package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts +9 -0
  210. package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts.map +1 -0
  211. package/build/ports/eventsourcing/commandTemplates/snapshot.js +39 -0
  212. package/build/ports/eventsourcing/commandTemplates/snapshot.js.map +1 -0
  213. package/build/ports/eventsourcing/eventHandlers/index.d.ts +33 -0
  214. package/build/ports/eventsourcing/eventHandlers/index.d.ts.map +1 -0
  215. package/build/ports/eventsourcing/eventHandlers/index.js +276 -0
  216. package/build/ports/eventsourcing/eventHandlers/index.js.map +1 -0
  217. package/build/ports/eventsourcing/index.d.ts +9 -0
  218. package/build/ports/eventsourcing/index.d.ts.map +1 -0
  219. package/build/ports/eventsourcing/index.js +101 -0
  220. package/build/ports/eventsourcing/index.js.map +1 -0
  221. package/build/ports/eventsourcing/invariants/combinators.d.ts +4 -0
  222. package/build/ports/eventsourcing/invariants/combinators.d.ts.map +1 -0
  223. package/build/ports/eventsourcing/invariants/combinators.js +20 -0
  224. package/build/ports/eventsourcing/invariants/combinators.js.map +1 -0
  225. package/build/ports/eventsourcing/invariants/common.d.ts +10 -0
  226. package/build/ports/eventsourcing/invariants/common.d.ts.map +1 -0
  227. package/build/ports/eventsourcing/invariants/common.js +37 -0
  228. package/build/ports/eventsourcing/invariants/common.js.map +1 -0
  229. package/build/ports/eventsourcing/invariants/comparisons.d.ts +19 -0
  230. package/build/ports/eventsourcing/invariants/comparisons.d.ts.map +1 -0
  231. package/build/ports/eventsourcing/invariants/comparisons.js +83 -0
  232. package/build/ports/eventsourcing/invariants/comparisons.js.map +1 -0
  233. package/build/ports/eventsourcing/invariants/index.d.ts +5 -0
  234. package/build/ports/eventsourcing/invariants/index.d.ts.map +1 -0
  235. package/build/ports/eventsourcing/invariants/index.js +21 -0
  236. package/build/ports/eventsourcing/invariants/index.js.map +1 -0
  237. package/build/ports/eventsourcing/invariants/stateExistance.d.ts +4 -0
  238. package/build/ports/eventsourcing/invariants/stateExistance.d.ts.map +1 -0
  239. package/build/ports/eventsourcing/invariants/stateExistance.js +33 -0
  240. package/build/ports/eventsourcing/invariants/stateExistance.js.map +1 -0
  241. package/build/ports/eventsourcing/subscriptions/index.d.ts +2 -0
  242. package/build/ports/eventsourcing/subscriptions/index.d.ts.map +1 -0
  243. package/build/ports/eventsourcing/subscriptions/index.js +18 -0
  244. package/build/ports/eventsourcing/subscriptions/index.js.map +1 -0
  245. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts +3 -0
  246. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +1 -0
  247. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js +81 -0
  248. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js.map +1 -0
  249. package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts +4 -0
  250. package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts.map +1 -0
  251. package/build/ports/eventsourcing/utils/aggregateBuilder.js +45 -0
  252. package/build/ports/eventsourcing/utils/aggregateBuilder.js.map +1 -0
  253. package/build/ports/eventsourcing/utils/commandBuilder.d.ts +3 -0
  254. package/build/ports/eventsourcing/utils/commandBuilder.d.ts.map +1 -0
  255. package/build/ports/eventsourcing/utils/commandBuilder.js +102 -0
  256. package/build/ports/eventsourcing/utils/commandBuilder.js.map +1 -0
  257. package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts +3 -0
  258. package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts.map +1 -0
  259. package/build/ports/eventsourcing/utils/eventHandlerBuilder.js +19 -0
  260. package/build/ports/eventsourcing/utils/eventHandlerBuilder.js.map +1 -0
  261. package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts +4 -0
  262. package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts.map +1 -0
  263. package/build/ports/eventsourcing/utils/externalSystemBuilder.js +34 -0
  264. package/build/ports/eventsourcing/utils/externalSystemBuilder.js.map +1 -0
  265. package/build/ports/eventsourcing/utils/index.d.ts +13 -0
  266. package/build/ports/eventsourcing/utils/index.d.ts.map +1 -0
  267. package/build/ports/eventsourcing/utils/index.js +45 -0
  268. package/build/ports/eventsourcing/utils/index.js.map +1 -0
  269. package/build/ports/eventsourcing/utils/policyBuilder.d.ts +3 -0
  270. package/build/ports/eventsourcing/utils/policyBuilder.d.ts.map +1 -0
  271. package/build/ports/eventsourcing/utils/policyBuilder.js +29 -0
  272. package/build/ports/eventsourcing/utils/policyBuilder.js.map +1 -0
  273. package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts +5 -0
  274. package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts.map +1 -0
  275. package/build/ports/eventsourcing/utils/readmodelBuilder.js +45 -0
  276. package/build/ports/eventsourcing/utils/readmodelBuilder.js.map +1 -0
  277. package/build/ports/eventstore/index.d.ts +3 -0
  278. package/build/ports/eventstore/index.d.ts.map +1 -0
  279. package/build/ports/eventstore/index.js +13 -0
  280. package/build/ports/eventstore/index.js.map +1 -0
  281. package/build/ports/infrastructure/__tests__/fixture/index.d.ts +3 -0
  282. package/build/ports/infrastructure/__tests__/fixture/index.d.ts.map +1 -0
  283. package/build/ports/infrastructure/__tests__/fixture/index.js +19 -0
  284. package/build/ports/infrastructure/__tests__/fixture/index.js.map +1 -0
  285. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts +19 -0
  286. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts.map +1 -0
  287. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js +76 -0
  288. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js.map +1 -0
  289. package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts +177 -0
  290. package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts.map +1 -0
  291. package/build/ports/infrastructure/__tests__/fixture/structureState.js +258 -0
  292. package/build/ports/infrastructure/__tests__/fixture/structureState.js.map +1 -0
  293. package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts +2 -0
  294. package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts.map +1 -0
  295. package/build/ports/infrastructure/__tests__/infrastructure.test.js +11 -0
  296. package/build/ports/infrastructure/__tests__/infrastructure.test.js.map +1 -0
  297. package/build/ports/infrastructure/index.d.ts +53 -0
  298. package/build/ports/infrastructure/index.d.ts.map +1 -0
  299. package/build/ports/infrastructure/index.js +149 -0
  300. package/build/ports/infrastructure/index.js.map +1 -0
  301. package/build/ports/infrastructure/utils.d.ts +14 -0
  302. package/build/ports/infrastructure/utils.d.ts.map +1 -0
  303. package/build/ports/infrastructure/utils.js +126 -0
  304. package/build/ports/infrastructure/utils.js.map +1 -0
  305. package/build/ports/logger/index.d.ts +3 -0
  306. package/build/ports/logger/index.d.ts.map +1 -0
  307. package/build/ports/logger/index.js +32 -0
  308. package/build/ports/logger/index.js.map +1 -0
  309. package/build/utils/index.d.ts +35 -0
  310. package/build/utils/index.d.ts.map +1 -0
  311. package/build/utils/index.js +190 -0
  312. package/build/utils/index.js.map +1 -0
  313. package/package.json +28 -0
  314. package/src/adapters/cache/index.ts +1 -0
  315. package/src/adapters/cache/memory/__tests__/memoryCache.test.ts +6 -0
  316. package/src/adapters/cache/memory/index.ts +142 -0
  317. package/src/adapters/configuration/__tests__/.env +4 -0
  318. package/src/adapters/configuration/__tests__/dotEnv.test.ts +38 -0
  319. package/src/adapters/configuration/dotEnv.ts +33 -0
  320. package/src/adapters/configuration/index.ts +1 -0
  321. package/src/adapters/database/index.ts +1 -0
  322. package/src/adapters/database/memory/__tests__/memoryDb.test.ts +37 -0
  323. package/src/adapters/database/memory/index.ts +279 -0
  324. package/src/adapters/endpoints/addAuthUser/index.ts +55 -0
  325. package/src/adapters/endpoints/endpointValidation/index.ts +26 -0
  326. package/src/adapters/endpoints/index.ts +4 -0
  327. package/src/adapters/endpoints/localAuthorization/index.ts +75 -0
  328. package/src/adapters/endpoints/tcpConsumer/index.ts +69 -0
  329. package/src/adapters/endpoints/userSession/index.ts +40 -0
  330. package/src/adapters/eventstore/database.ts +178 -0
  331. package/src/adapters/eventstore/index.ts +1 -0
  332. package/src/adapters/infrastructure/index.ts +1 -0
  333. package/src/adapters/infrastructure/local/index.ts +40 -0
  334. package/src/adapters/logger/console.ts +42 -0
  335. package/src/adapters/logger/index.ts +1 -0
  336. package/src/index.ts +25 -0
  337. package/src/libraries/modules/fs.ts +88 -0
  338. package/src/libraries/modules/index.ts +1 -0
  339. package/src/libraries/openApi/index.ts +1 -0
  340. package/src/libraries/openApi/pruneUnusedRef.ts +35 -0
  341. package/src/libraries/tcp/index.ts +98 -0
  342. package/src/libraries/tcp/types.ts +43 -0
  343. package/src/libraries/validation/__tests__/validation.test.ts +25 -0
  344. package/src/libraries/validation/index.ts +48 -0
  345. package/src/ports/authentication/index.ts +25 -0
  346. package/src/ports/base.ts +20 -0
  347. package/src/ports/cache/index.ts +17 -0
  348. package/src/ports/configuration/__tests__/configurationPort.test.ts +47 -0
  349. package/src/ports/configuration/args.ts +39 -0
  350. package/src/ports/configuration/common.ts +12 -0
  351. package/src/ports/configuration/index.ts +110 -0
  352. package/src/ports/configuration/localConfig.ts +117 -0
  353. package/src/ports/database/index.ts +25 -0
  354. package/src/ports/endpoints/__tests__/endpointsCall.test.ts +20 -0
  355. package/src/ports/endpoints/__tests__/test-client-library/base.ts +167 -0
  356. package/src/ports/endpoints/__tests__/test-client-library/index.ts +23 -0
  357. package/src/ports/endpoints/__tests__/test-client-library/services/service.ts +181 -0
  358. package/src/ports/endpoints/__tests__/utils.test.ts +54 -0
  359. package/src/ports/endpoints/index.ts +272 -0
  360. package/src/ports/endpoints/openApi.ts +191 -0
  361. package/src/ports/endpoints/utils.ts +31 -0
  362. package/src/ports/eventsourcing/__tests__/eventhandlers.test.ts +30 -0
  363. package/src/ports/eventsourcing/__tests__/invariants.test.ts +213 -0
  364. package/src/ports/eventsourcing/commandHandlers/index.ts +625 -0
  365. package/src/ports/eventsourcing/commandTemplates/index.ts +2 -0
  366. package/src/ports/eventsourcing/commandTemplates/multiStream.ts +70 -0
  367. package/src/ports/eventsourcing/commandTemplates/snapshot.ts +43 -0
  368. package/src/ports/eventsourcing/eventHandlers/index.ts +429 -0
  369. package/src/ports/eventsourcing/index.ts +98 -0
  370. package/src/ports/eventsourcing/invariants/combinators.ts +25 -0
  371. package/src/ports/eventsourcing/invariants/common.ts +42 -0
  372. package/src/ports/eventsourcing/invariants/comparisons.ts +90 -0
  373. package/src/ports/eventsourcing/invariants/index.ts +4 -0
  374. package/src/ports/eventsourcing/invariants/stateExistance.ts +34 -0
  375. package/src/ports/eventsourcing/subscriptions/index.ts +1 -0
  376. package/src/ports/eventsourcing/subscriptions/sseSubscriptions.ts +103 -0
  377. package/src/ports/eventsourcing/utils/aggregateBuilder.ts +49 -0
  378. package/src/ports/eventsourcing/utils/commandBuilder.ts +113 -0
  379. package/src/ports/eventsourcing/utils/eventHandlerBuilder.ts +22 -0
  380. package/src/ports/eventsourcing/utils/externalSystemBuilder.ts +42 -0
  381. package/src/ports/eventsourcing/utils/index.ts +25 -0
  382. package/src/ports/eventsourcing/utils/policyBuilder.ts +31 -0
  383. package/src/ports/eventsourcing/utils/readmodelBuilder.ts +52 -0
  384. package/src/ports/eventstore/index.ts +11 -0
  385. package/src/ports/infrastructure/__tests__/fixture/index.ts +2 -0
  386. package/src/ports/infrastructure/__tests__/fixture/infrastructureServices.ts +72 -0
  387. package/src/ports/infrastructure/__tests__/fixture/structureState.ts +254 -0
  388. package/src/ports/infrastructure/__tests__/infrastructure.test.ts +11 -0
  389. package/src/ports/infrastructure/index.ts +162 -0
  390. package/src/ports/infrastructure/utils.ts +130 -0
  391. package/src/ports/logger/index.ts +34 -0
  392. package/src/utils/index.ts +186 -0
  393. package/tsconfig.json +19 -0
@@ -0,0 +1,33 @@
1
+ import { ObjectSchema } from '@bett3r-dev/jsonschema-definer';
2
+ import { CollectionFilter, CollectionQueryParams, CollectionSort, CommittedEvent, Document, EndpointActionParams, EndpointsPort, EventHandler, ExecuteCommandFunction, LoggerType } from '@bett3r-dev/pv3-types';
3
+ export declare const coerceFilterType: (value: string[], targetType: string, op: string) => string | number | boolean | string[] | number[] | boolean[] | undefined;
4
+ export declare const formatFilter: <Model extends Document>(filters: string[], schema: ObjectSchema<Model, true>) => Partial<import("@bett3r-dev/pv3-types").CollectionFilterOR<Model> & import("@bett3r-dev/pv3-types").CollectionFilterAND<Model> & import("@bett3r-dev/pv3-types").CollectionFilterInstance<Model>>[];
5
+ export declare const formatSort: <Model extends Document>(sorts: string[]) => CollectionSort<Model>[];
6
+ export declare const formatSelect: <Model extends Document>(select: string[], schema: ObjectSchema<Model, true>) => string[];
7
+ export declare const defaultQueryParamsTranslator: <Model extends Document = any, Query_1 extends {
8
+ limit?: string | undefined;
9
+ after?: string | undefined;
10
+ sort?: string | string[] | undefined;
11
+ filter?: string | string[] | undefined;
12
+ select?: string[] | undefined;
13
+ access_token?: string | undefined;
14
+ apikey?: string | undefined;
15
+ } = {
16
+ limit?: string | undefined;
17
+ after?: string | undefined;
18
+ sort?: string | string[] | undefined;
19
+ filter?: string | string[] | undefined;
20
+ select?: string[] | undefined;
21
+ access_token?: string | undefined;
22
+ apikey?: string | undefined;
23
+ }, Params extends {
24
+ id?: string | undefined;
25
+ } = {
26
+ id?: string | undefined;
27
+ }>(schema: ObjectSchema<Model, true>, { params, query, }: Pick<EndpointActionParams<Model, Query_1, Params>, "query" | "params">) => CollectionQueryParams<Model>;
28
+ export declare const createEventHandlers: (logger: LoggerType, endpoints: EndpointsPort) => {
29
+ handleEvent: (eventHandler: EventHandler, executeCommand: ExecuteCommandFunction) => (event: CommittedEvent) => Promise<unknown>;
30
+ pauseQueue: (eventHandlerName: string, value: boolean) => void;
31
+ registerEventHandler: (eventHandler: EventHandler, executeCommand: ExecuteCommandFunction) => string;
32
+ };
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/eventHandlers/index.ts"],"names":[],"mappings":"AACA,OAAU,EAAc,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAGL,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EAEd,cAAc,EAEd,QAAQ,EACR,oBAAoB,EAEpB,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,UAAU,EAYX,MAAM,uBAAuB,CAAC;AAM/B,eAAO,MAAM,gBAAgB,UACpB,MAAM,EAAE,cACH,MAAM,MACd,MAAM,4EASX,CAAC;AAEF,eAAO,MAAM,YAAY,oCACd,MAAM,EAAE,2OAoBlB,CAAC;AAEF,eAAO,MAAM,UAAU,kCAAoC,MAAM,EAAE,4BAYlE,CAAC;AAEF,eAAO,MAAM,YAAY,mCACf,MAAM,EAAE,gDAWjB,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;iKAuBxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAa,UAAU,aAAa,aAAa;gCAwC7D,YAAY,kBAAkB,sBAAsB,aACzD,cAAc;mCAbY,MAAM,SAAS,OAAO;yCA+O7C,YAAY,kBACV,sBAAsB,KACrC,MAAM;CAkCV,CAAC"}
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createEventHandlers = exports.defaultQueryParamsTranslator = exports.formatSelect = exports.formatSort = exports.formatFilter = exports.coerceFilterType = void 0;
7
+ const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
8
+ const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
9
+ const pv3_types_1 = require("@bett3r-dev/pv3-types");
10
+ const async_1 = require("async");
11
+ const change_case_1 = require("change-case");
12
+ const validation_1 = require("../../../libraries/validation");
13
+ //TODO: Consider Objects
14
+ const coerceFilterType = (value, targetType, op) => {
15
+ const inOrNin = op === 'in' || op === 'nin';
16
+ if (!value.length || ['exists', 'notExists'].includes(op))
17
+ return undefined;
18
+ if (targetType === 'string')
19
+ return !inOrNin ? value[0] : value;
20
+ else if (targetType === 'number')
21
+ return !inOrNin ? Number(value[0]) : value.map((v) => Number(v));
22
+ else if (targetType === 'boolean')
23
+ return !inOrNin ? value[0] === 'true' : value.map((v) => v === 'true');
24
+ };
25
+ exports.coerceFilterType = coerceFilterType;
26
+ const formatFilter = (filters, schema) => {
27
+ return (filters &&
28
+ (0, bett3r_utils_1.ensureArray)(filters).map((f) => {
29
+ const operands = f.split(',');
30
+ const [field, op, ...value] = operands;
31
+ return {
32
+ field,
33
+ op,
34
+ value: (0, exports.coerceFilterType)(value, (schema.plain.properties[field] || {}).type ||
35
+ 'string', op),
36
+ };
37
+ }));
38
+ };
39
+ exports.formatFilter = formatFilter;
40
+ const formatSort = (sorts) => {
41
+ return (sorts &&
42
+ (0, bett3r_utils_1.ensureArray)(sorts).map((s) => {
43
+ const operands = s.split(',');
44
+ const [field, direction] = operands;
45
+ return {
46
+ field,
47
+ direction: direction || 'asc',
48
+ };
49
+ }));
50
+ };
51
+ exports.formatSort = formatSort;
52
+ const formatSelect = (select, schema) => {
53
+ select = (0, bett3r_utils_1.ensureArray)(select);
54
+ const omit = select.filter((s) => s[0] === '!').map((s) => s.slice(1));
55
+ if (omit?.length) {
56
+ return Object.keys(schema.plain.properties).filter((key) => !omit.includes(key));
57
+ }
58
+ return select;
59
+ };
60
+ exports.formatSelect = formatSelect;
61
+ const defaultQueryParamsTranslator = (schema, { params, query, }) => {
62
+ return {
63
+ id: params?.id,
64
+ limit: query?.limit ? Number(query.limit) : undefined,
65
+ after: query?.after,
66
+ select: query?.select
67
+ ? (0, exports.formatSelect)(query?.select, schema)
68
+ : undefined,
69
+ filter: query?.filter
70
+ ? (0, exports.formatFilter)(query?.filter, schema)
71
+ : undefined,
72
+ sort: query?.sort ? (0, exports.formatSort)(query?.sort) : undefined,
73
+ };
74
+ };
75
+ exports.defaultQueryParamsTranslator = defaultQueryParamsTranslator;
76
+ const createEventHandlers = (logger, endpoints) => {
77
+ const activeSubscriptions = {};
78
+ const eventHandlerMap = {};
79
+ const processEvent = (eventHandlerName) => (event) => {
80
+ return new Promise((resolve, reject) => {
81
+ eventHandlerMap[eventHandlerName].queue.push(event, (err, result) => {
82
+ if (err) {
83
+ logger.error(err);
84
+ return reject(err);
85
+ }
86
+ return resolve(result);
87
+ });
88
+ });
89
+ };
90
+ const pauseQueue = (eventHandlerName, value) => value
91
+ ? eventHandlerMap[eventHandlerName].queue.pause()
92
+ : eventHandlerMap[eventHandlerName].queue.resume();
93
+ const getEventHandlerLabel = (eventHandler) => `${eventHandler.eventHandlers ? 'Policy' : 'Projector'}`;
94
+ const isReadModel = (eventHandler) => !!eventHandler.isReadModel;
95
+ const handleEvent = (eventHandler, executeCommand) => (event) => {
96
+ const _isReadModel = isReadModel(eventHandler);
97
+ return Promise.resolve(event)
98
+ .then((0, validation_1.validateSchema)(getEventSchema(eventHandler)(event.name)))
99
+ .then(_isReadModel
100
+ ? (eventHandler.eventProjectors || {})[event.name]
101
+ : eventHandler.eventHandlers[event.name])
102
+ .then((response) => {
103
+ if (!response || _isReadModel)
104
+ return Promise.resolve();
105
+ const policy = eventHandler;
106
+ if (policy.commandHandler && response.name) {
107
+ return executeCommand(policy.commandHandler, response.name)({
108
+ context: {
109
+ user: event.metadata.user,
110
+ },
111
+ body: response.data,
112
+ params: { id: response.id },
113
+ query: {
114
+ correlationId: event.metadata.correlationId,
115
+ causationId: event.id.toString(),
116
+ },
117
+ });
118
+ }
119
+ })
120
+ .catch((error) => {
121
+ logger.debug('Handling error for event', event.name);
122
+ if (eventHandler.errorHandlers &&
123
+ eventHandler.errorHandlers[event.name] &&
124
+ typeof eventHandler.errorHandlers[event.name] === 'function')
125
+ return eventHandler.errorHandlers[event.name](error, event);
126
+ return Promise.reject(error);
127
+ });
128
+ };
129
+ const addEventHandlerToMap = (eventHandler, q) => {
130
+ eventHandlerMap[eventHandler.name] = {
131
+ eventHandler: {
132
+ ...eventHandler,
133
+ },
134
+ events: Object.keys(eventHandler.events),
135
+ queue: q,
136
+ };
137
+ };
138
+ const EventHandlerQueueFunction = (executeCommand, eventHandler, label) => (event, callback) => {
139
+ return Promise.resolve(event)
140
+ .then((event) => {
141
+ if (!eventHandler.events[event.name || ''])
142
+ return Promise.reject(Error(`Event ${event.name} Not recognized for ${label} ${eventHandler.name}`));
143
+ logger.log('Handling Event', event.name, 'in', label, eventHandler.name);
144
+ logger.debug('with payload:', event);
145
+ return event;
146
+ })
147
+ .then(handleEvent(eventHandler, executeCommand))
148
+ .then(() => callback(), callback);
149
+ };
150
+ const getEventSchema = (eventHandler) => (eventName) => {
151
+ return (0, pv3_types_1.CommittedEventSchema)(eventHandler.events[eventName]().schema?.copyWith({
152
+ plain: { $id: eventName },
153
+ }), eventName).required('name', 'data');
154
+ };
155
+ const registerEventHandlerEndpoint = (eventHandler, label, tags) => {
156
+ const route = `/${(0, change_case_1.paramCase)(eventHandler.name)}`;
157
+ endpoints.registerEndpoint({
158
+ module: eventHandler.name,
159
+ name: `Subscription endpoint for ${eventHandler.name}`,
160
+ description: `Process events sent to the ${label}`,
161
+ tags,
162
+ schemas: {
163
+ body: jsonschema_definer_1.default.anyOf(...Object.keys(eventHandler.events).map(getEventSchema(eventHandler))),
164
+ },
165
+ shouldValidate: false,
166
+ route,
167
+ method: 'POST',
168
+ action: ({ body }) => processEvent(eventHandler.name)(body),
169
+ });
170
+ return route;
171
+ };
172
+ const defaultQueryHandler = (repository, { id, limit, after, filter, sort, select }) => {
173
+ if (id)
174
+ return repository.readById(id);
175
+ return repository.query({
176
+ limit,
177
+ after,
178
+ filter,
179
+ sort,
180
+ select,
181
+ });
182
+ };
183
+ const registerReadModelQueryEndpoint = (query, readModel) => {
184
+ const route = query.route || `/${(0, change_case_1.paramCase)(readModel.name)}-readmodel`;
185
+ const schema = readModel.schema.id(readModel.name);
186
+ const schemas = {
187
+ ...pv3_types_1.defaultParamsSchemas,
188
+ ...pv3_types_1.defaultQuerySchemas,
189
+ ...(query.schemas ? query.schemas : {}),
190
+ responses: {
191
+ 200: [
192
+ {
193
+ name: 'OK',
194
+ schema: jsonschema_definer_1.default.oneOf(schema, jsonschema_definer_1.default.array().items(schema)),
195
+ },
196
+ ],
197
+ },
198
+ };
199
+ if (readModel.database && query.subscriptions) {
200
+ const subscriptions = query.subscriptions?.map((s) => {
201
+ // FIXME: Esto esta pasando por cada request de subscription
202
+ s.readModelSubscriptionCloseEmitter.on('close', (id) => {
203
+ logger.debug('Subscription Closed for id', id, 'in subscription');
204
+ delete activeSubscriptions[id];
205
+ if (Object.keys(activeSubscriptions).length === 0)
206
+ endpoints.callEventConnectionsInactive();
207
+ });
208
+ return s.notifySubscriptions(logger, readModel.collection);
209
+ });
210
+ readModel.database.onStarted(() => {
211
+ readModel
212
+ .database.getCollection(readModel.collection)
213
+ .watch(['delete', 'insert', 'update'], (data) => {
214
+ subscriptions?.forEach((s) => {
215
+ s(data);
216
+ });
217
+ });
218
+ });
219
+ }
220
+ endpoints.registerEndpoint({
221
+ method: 'GET',
222
+ module: readModel.name,
223
+ name: `Readmodel Query endpoint for ${readModel.name}`,
224
+ description: query.description,
225
+ schemas,
226
+ tags: ['readmodel'],
227
+ route: `${route}/:id?`,
228
+ action: async (params) => {
229
+ const projectionParams = (query.translator || exports.defaultQueryParamsTranslator)(readModel.schema, params);
230
+ const transformedProjectionParams = !query.transformers
231
+ ? projectionParams
232
+ : await query.transformers.reduce((promise, transformer) => {
233
+ return promise.then((projectionParams) => transformer(projectionParams, params));
234
+ }, Promise.resolve(projectionParams));
235
+ const data = await (query.queryHandler || defaultQueryHandler)(readModel.database?.getCollection(readModel.name), { ...transformedProjectionParams, params });
236
+ readModel.database &&
237
+ query.subscriptions?.forEach((s) => {
238
+ const id = s.startSubscription(transformedProjectionParams, params.context?.req, params.context?.res);
239
+ if (id) {
240
+ activeSubscriptions[id] = s.type;
241
+ endpoints.callEventConnectionsActive();
242
+ (0, bett3r_utils_1.ensureArray)(data).forEach((data) => {
243
+ s.notifySubscriptions(logger, readModel.collection)({ changeType: 'update', data }, id);
244
+ });
245
+ }
246
+ });
247
+ return data;
248
+ },
249
+ });
250
+ return route;
251
+ };
252
+ const registerEventHandler = (eventHandler, executeCommand) => {
253
+ const isReadmodel = isReadModel(eventHandler);
254
+ if (eventHandlerMap[eventHandler.name]) {
255
+ (0, validation_1.dieOnError)(logger)(`A policy or projector with the name ${eventHandler.name} already exists on this instance.`);
256
+ }
257
+ const label = getEventHandlerLabel(eventHandler);
258
+ const q = (0, async_1.queue)(EventHandlerQueueFunction(executeCommand, eventHandler, label), eventHandler.concurrency || 1);
259
+ addEventHandlerToMap(eventHandler, q);
260
+ const eventHandlerRoute = registerEventHandlerEndpoint(eventHandler, label, isReadmodel ? ['readmodel'] : ['policy']);
261
+ if (isReadmodel) {
262
+ const qs = eventHandler.queries || [{}];
263
+ qs.forEach((q) => {
264
+ registerReadModelQueryEndpoint(q, eventHandler);
265
+ });
266
+ }
267
+ return eventHandlerRoute;
268
+ };
269
+ return {
270
+ handleEvent,
271
+ pauseQueue,
272
+ registerEventHandler,
273
+ };
274
+ };
275
+ exports.createEventHandlers = createEventHandlers;
276
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/eventHandlers/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { EndpointsPort, EventSourcingPort, EventStorePort, LoggerPort } from '@bett3r-dev/pv3-types';
2
+ export * from './commandHandlers';
3
+ export * from './commandTemplates';
4
+ export * from './eventHandlers';
5
+ export * from './invariants';
6
+ export * from './subscriptions';
7
+ export * from './utils';
8
+ export declare const EventSourcing: (loggerPort: LoggerPort, eventstore: EventStorePort, endpoints: EndpointsPort) => EventSourcingPort;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/eventsourcing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,aAAa,EAAgB,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AAK1J,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,aAAa,eAAiB,UAAU,cAAc,cAAc,aAAa,aAAa,KAAI,iBAoF9G,CAAC"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.EventSourcing = void 0;
21
+ const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
22
+ const ansi_colors_1 = __importDefault(require("ansi-colors"));
23
+ const base_1 = require("../base");
24
+ const commandHandlers_1 = require("./commandHandlers");
25
+ const eventHandlers_1 = require("./eventHandlers");
26
+ __exportStar(require("./commandHandlers"), exports);
27
+ __exportStar(require("./commandTemplates"), exports);
28
+ __exportStar(require("./eventHandlers"), exports);
29
+ __exportStar(require("./invariants"), exports);
30
+ __exportStar(require("./subscriptions"), exports);
31
+ __exportStar(require("./utils"), exports);
32
+ const EventSourcing = (loggerPort, eventstore, endpoints) => {
33
+ const logger = loggerPort.createLoggerInstance('eventsourcing');
34
+ const commandHandlersManager = (0, commandHandlers_1.createCommandHandlers)(logger, endpoints, eventstore);
35
+ const eventHandlersManager = (0, eventHandlers_1.createEventHandlers)(logger, endpoints);
36
+ const registeredEndpoints = {
37
+ aggregates: {},
38
+ systems: {},
39
+ policies: {},
40
+ projectors: {},
41
+ };
42
+ const logRoute = (name, { route, events }, inverse = false) => {
43
+ logger.log(name, ansi_colors_1.default.underline(route), inverse ? '<=' : '=>', events.join(', '));
44
+ };
45
+ const logEventsourcingRoutes = () => {
46
+ Object.keys(registeredEndpoints.aggregates).forEach((aggregate) => {
47
+ logger.log(ansi_colors_1.default.bgYellowBright(ansi_colors_1.default.bold.blackBright(aggregate)));
48
+ Object.keys(registeredEndpoints.aggregates[aggregate].commands).forEach((command) => {
49
+ logRoute(`\t${ansi_colors_1.default.bold(command)}`, registeredEndpoints.aggregates[aggregate].commands[command]);
50
+ });
51
+ });
52
+ Object.keys(registeredEndpoints.systems).forEach((system) => {
53
+ logger.log(ansi_colors_1.default.bgMagentaBright(ansi_colors_1.default.bold.whiteBright(system)));
54
+ Object.keys(registeredEndpoints.systems[system].commands).forEach((command) => {
55
+ logRoute(`\t${ansi_colors_1.default.bold(command)}`, registeredEndpoints.systems[system].commands[command]);
56
+ });
57
+ });
58
+ Object.keys(registeredEndpoints.policies).forEach((policy) => {
59
+ logger.log(ansi_colors_1.default.bgMagenta(ansi_colors_1.default.bold.whiteBright(policy)));
60
+ logRoute(`\t${ansi_colors_1.default.bold(policy)}`, registeredEndpoints.policies[policy], true);
61
+ });
62
+ Object.keys(registeredEndpoints.projectors).forEach((projector) => {
63
+ logger.log(ansi_colors_1.default.bgGreenBright(ansi_colors_1.default.bold.whiteBright(projector)));
64
+ logRoute(`\t${ansi_colors_1.default.bold(projector)}`, registeredEndpoints.projectors[projector], true);
65
+ });
66
+ };
67
+ const routeCommandHandler = (commandHandler) => {
68
+ const commands = commandHandler.commands;
69
+ const getEndpoints = commandHandlersManager.registerCommandHandlerGetEndpoints(commandHandler);
70
+ const commandEndpoints = commandHandlersManager.registerCommandHandlerPostEndpoints(commandHandler);
71
+ const c = (0, bett3r_utils_1.map)((route, command) => ({
72
+ route,
73
+ events: (commands[command].build ? commands[command].build() : commands[command]).events
74
+ }), commandEndpoints);
75
+ if (commandHandler.isAggregate)
76
+ registeredEndpoints.aggregates[commandHandler.name] = { getEndpoints, commands: c };
77
+ else
78
+ registeredEndpoints.systems[commandHandler.name] = { getEndpoints, commands: c };
79
+ };
80
+ const routeEventHandler = (eventHandler) => {
81
+ const eh = eventHandler.build ? eventHandler.build() : eventHandler;
82
+ const route = eventHandlersManager.registerEventHandler(eh, commandHandlersManager.executeCommand);
83
+ if (eh.isReadModel)
84
+ registeredEndpoints.projectors[eh.name] = { route, events: Object.keys(eh.events) };
85
+ else
86
+ registeredEndpoints.policies[eh.name] = { route, events: Object.keys(eh.events) };
87
+ };
88
+ const eventsourcingPort = (0, base_1.createPort)({
89
+ _eventstore: eventstore,
90
+ routeEventHandler,
91
+ routeCommandHandler,
92
+ loadStream: commandHandlersManager.loadStream,
93
+ loadAggregateState: commandHandlersManager.loadAggregateState,
94
+ handleEvent: eventHandlersManager.handleEvent,
95
+ executeCommand: commandHandlersManager.executeCommand,
96
+ logEventsourcingRoutes
97
+ });
98
+ return eventsourcingPort;
99
+ };
100
+ exports.EventSourcing = EventSourcing;
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/eventsourcing/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { InvariantType } from '@bett3r-dev/pv3-types';
2
+ export declare const and: (...invariants: InvariantType[]) => InvariantType;
3
+ export declare const or: (...invariants: InvariantType[]) => InvariantType;
4
+ //# sourceMappingURL=combinators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/combinators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,eAAO,MAAM,GAAG,kBAAoB,aAAa,EAAE,KAAG,aASrD,CAAC;AAEF,eAAO,MAAM,EAAE,kBAAoB,aAAa,EAAE,KAAG,aASpD,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.or = exports.and = void 0;
4
+ const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
5
+ const _1 = require(".");
6
+ const and = (...invariants) => {
7
+ return (0, _1.createInvariant)(async (handlerState) => {
8
+ return Promise.all(invariants.map(i => i.check(handlerState)))
9
+ .then(bett3r_utils_1.noop);
10
+ });
11
+ };
12
+ exports.and = and;
13
+ const or = (...invariants) => {
14
+ return (0, _1.createInvariant)(async (handlerState) => {
15
+ return Promise.any(invariants.map(i => i.check(handlerState)))
16
+ .then(bett3r_utils_1.noop);
17
+ });
18
+ };
19
+ exports.or = or;
20
+ //# sourceMappingURL=combinators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combinators.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/combinators.ts"],"names":[],"mappings":";;;AAAA,2DAAgD;AAEhD,wBAAoC;AAE7B,MAAM,GAAG,GAAG,CAAE,GAAG,UAA2B,EAAiB,EAAE;IACpE,OAAO,IAAA,kBAAe,EACpB,KAAK,EAAG,YAAY,EAAG,EAAE;QACvB,OAAO,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAE,YAAY,CAAE,CAAC,CAC9C;aACE,IAAI,CAAE,mBAAI,CAAE,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,GAAG,OASd;AAEK,MAAM,EAAE,GAAG,CAAE,GAAG,UAA2B,EAAiB,EAAE;IACnE,OAAO,IAAA,kBAAe,EACpB,KAAK,EAAG,YAAY,EAAG,EAAE;QACvB,OAAO,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAE,YAAY,CAAE,CAAC,CAC9C;aACE,IAAI,CAAE,mBAAI,CAAE,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,EAAE,MASb"}
@@ -0,0 +1,10 @@
1
+ import { BaseSchema } from '@bett3r-dev/jsonschema-definer';
2
+ import { CommandHandlerState, ErrorTypes, InvariantType } from '@bett3r-dev/pv3-types';
3
+ export declare function createInvariant<Model, Payload, Error = any>(check: (handlerState: CommandHandlerState<any, Payload, Model>) => Promise<void>, error?: {
4
+ name?: string;
5
+ description?: string;
6
+ type?: ErrorTypes;
7
+ details?: Error;
8
+ schema?: BaseSchema<Error>;
9
+ }): InvariantType<Model, Payload>;
10
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/common.ts"],"names":[],"mappings":"AAAA,OAAU,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIvF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,GAAG,EACzD,KAAK,EAAE,CAAE,YAAY,EAAE,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,KAAM,OAAO,CAAC,IAAI,CAAC,EAClF,KAAK,GAAE;IACL,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CAO3B,GACA,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAqB/B"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createInvariant = void 0;
7
+ const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
8
+ const ramda_1 = require("ramda");
9
+ const utils_1 = require("../../../utils");
10
+ function createInvariant(check, error = {
11
+ name: 'Invariant Error',
12
+ description: 'Invariant Validation Failed',
13
+ details: null,
14
+ type: 'BadRequestError',
15
+ schema: jsonschema_definer_1.default.shape({})
16
+ }) {
17
+ const GenericError = (0, utils_1.AppError)({
18
+ schema: error.schema,
19
+ error: error.name,
20
+ type: error.type || 'BadRequestError'
21
+ });
22
+ return {
23
+ rejects: [GenericError],
24
+ check: async (handlerState) => {
25
+ return check(handlerState)
26
+ .then((0, ramda_1.always)(handlerState))
27
+ .catch((err) => {
28
+ return Promise.reject((0, utils_1.createError)(GenericError, {
29
+ ...error,
30
+ ...err
31
+ }));
32
+ });
33
+ }
34
+ };
35
+ }
36
+ exports.createInvariant = createInvariant;
37
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/common.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+D;AAE/D,iCAA+B;AAC/B,0CAAuD;AAEvD,SAAgB,eAAe,CAC7B,KAAkF,EAClF,QAMI;IACF,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,6BAA6B;IAC1C,OAAO,EAAE,IAAa;IACtB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,4BAAC,CAAC,KAAK,CAAM,EAAE,CAAC;CACzB;IAED,MAAM,YAAY,GAAG,IAAA,gBAAQ,EAAC;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,iBAAiB;KACtC,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,KAAK,EAAE,KAAK,EAAG,YAAY,EAAG,EAAE;YAC9B,OAAO,KAAK,CAAE,YAAY,CAAE;iBACzB,IAAI,CAAE,IAAA,cAAM,EAAE,YAAY,CAAE,CAAC;iBAC7B,KAAK,CAAC,CAAE,GAAG,EAAG,EAAE;gBACf,OAAO,OAAO,CAAC,MAAM,CACnB,IAAA,mBAAW,EAAE,YAAY,EAAE;oBACzB,GAAG,KAAK;oBACR,GAAG,GAAG;iBACP,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;KACF,CAAC;AACJ,CAAC;AApCD,0CAoCC"}
@@ -0,0 +1,19 @@
1
+ import { CommandHandlerState, DatabaseOps, EndpointsPort, InvariantParams, InvariantType, ReadmodelInvariantComparison } from '@bett3r-dev/pv3-types';
2
+ import { path } from 'ramda';
3
+ export declare const comparePaths: (params: InvariantParams & {
4
+ path1: string | ((state: CommandHandlerState) => any);
5
+ path2?: string | ((data: CommandHandlerState) => any) | undefined;
6
+ op: DatabaseOps;
7
+ }) => InvariantType;
8
+ export declare const compareWithValue: (params: InvariantParams & {
9
+ path: string;
10
+ value: any;
11
+ op: DatabaseOps;
12
+ }) => InvariantType;
13
+ export declare const compareWithReadmodel: (params: InvariantParams & {
14
+ endpoints: EndpointsPort;
15
+ readmodelBaseUrl: string;
16
+ comparisons: ReadmodelInvariantComparison[];
17
+ url: (handlerState: CommandHandlerState) => string;
18
+ }) => InvariantType;
19
+ //# sourceMappingURL=comparisons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparisons.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/comparisons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,4BAA4B,EAAe,MAAM,uBAAuB,CAAC;AACnK,OAAO,EAAU,IAAI,EAAE,MAAM,OAAO,CAAC;AAOrC,eAAO,MAAM,YAAY;6BAA0D,mBAAmB,KAAM,GAAG;6BAA8B,mBAAmB,KAAM,GAAG;QAAQ,WAAW;MAAK,aAkBhM,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAa,eAAe,GAAG;IAAE,MAAM,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,KAAG,aAgB3G,CAAC;AAYF,eAAO,MAAM,oBAAoB;eACpB,aAAa;sBACN,MAAM;iBACX,4BAA4B,EAAE;wBACtB,mBAAmB,KAAM,MAAM;MAEnD,aAyBF,CAAC"}