@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,83 @@
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.compareWithReadmodel = exports.compareWithValue = exports.comparePaths = 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 ramda_1 = require("ramda");
11
+ const _1 = require(".");
12
+ const compareCheck = (val1, val2, op) => {
13
+ return pv3_types_1.filterOpMap[op](val1, val2);
14
+ };
15
+ const comparePaths = (params) => {
16
+ const { path1, path2, op } = params;
17
+ return (0, _1.createInvariant)(async (handlerState) => {
18
+ const path1Value = typeof path1 === 'string' ? (0, ramda_1.path)(path1.split('.'), handlerState) : path1(handlerState);
19
+ const path2Value = path2 && (typeof path2 === 'string' ? (0, ramda_1.path)(path2.split('.'), handlerState) : path2(handlerState));
20
+ return (0, bett3r_utils_1.safePromise)((0, ramda_1.equals)(true), compareCheck(path1Value, path2Value, op)).then(bett3r_utils_1.noop);
21
+ }, {
22
+ name: 'Invariant Error',
23
+ description: `Comparison failed on paths for operation ${op}`,
24
+ details: { path1, path2 },
25
+ type: 'BadRequestError',
26
+ schema: jsonschema_definer_1.default.shape({
27
+ path1: jsonschema_definer_1.default.string(),
28
+ path2: jsonschema_definer_1.default.string(),
29
+ })
30
+ });
31
+ };
32
+ exports.comparePaths = comparePaths;
33
+ const compareWithValue = (params) => {
34
+ const { path: path1, value, op } = params;
35
+ return (0, _1.createInvariant)(async (handlerState) => {
36
+ const path1Value = (0, ramda_1.path)(path1.split('.'), handlerState);
37
+ return (0, bett3r_utils_1.safePromise)((0, ramda_1.equals)(true), compareCheck(path1Value, value, op)).then(bett3r_utils_1.noop);
38
+ }, {
39
+ name: 'Invariant Error',
40
+ description: `Comparison failed with value ${value} for operation ${op}`,
41
+ details: { path: path1 },
42
+ type: 'BadRequestError',
43
+ schema: jsonschema_definer_1.default.shape({
44
+ path: jsonschema_definer_1.default.string()
45
+ })
46
+ });
47
+ };
48
+ exports.compareWithValue = compareWithValue;
49
+ const checkReadmodelFilter = (pathValue, readmodelValue, filter) => {
50
+ if (filter.OR) {
51
+ return filter.OR.some((_filter) => checkReadmodelFilter(pathValue, readmodelValue, _filter));
52
+ }
53
+ else if (filter.AND) {
54
+ return filter.AND.every((_filter) => checkReadmodelFilter(pathValue, readmodelValue, _filter));
55
+ }
56
+ return compareCheck(pathValue, readmodelValue, filter.op);
57
+ };
58
+ const compareWithReadmodel = (params) => {
59
+ const { endpoints, readmodelBaseUrl, comparisons, url } = params;
60
+ return (0, _1.createInvariant)(async (handlerState) => {
61
+ const requestPath = `${readmodelBaseUrl}${url(handlerState)}`;
62
+ return endpoints.get(requestPath).then((response) => {
63
+ if (!response || !response.length || !comparisons.every((comparison) => {
64
+ const dataValue = (0, ramda_1.path)(comparison.path.split('.'), handlerState);
65
+ return checkReadmodelFilter(dataValue, (0, ramda_1.path)(comparison.readmodelPath.split('.'), response[0]), comparison);
66
+ }))
67
+ return Promise.reject({
68
+ details: { readmodelUrl: requestPath },
69
+ description: `Comparison failed with readmodel ${requestPath}`
70
+ });
71
+ return Promise.resolve();
72
+ });
73
+ }, {
74
+ name: 'Invariant Error',
75
+ description: 'Invariant Validation Failed',
76
+ type: 'BadRequestError',
77
+ schema: jsonschema_definer_1.default.shape({
78
+ readmodelUrl: jsonschema_definer_1.default.string(),
79
+ })
80
+ });
81
+ };
82
+ exports.compareWithReadmodel = compareWithReadmodel;
83
+ //# sourceMappingURL=comparisons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparisons.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/comparisons.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './common';
2
+ export * from './combinators';
3
+ export * from './comparisons';
4
+ export * from './stateExistance';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,21 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./common"), exports);
18
+ __exportStar(require("./combinators"), exports);
19
+ __exportStar(require("./comparisons"), exports);
20
+ __exportStar(require("./stateExistance"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC"}
@@ -0,0 +1,4 @@
1
+ import { InvariantParams, InvariantType } from '@bett3r-dev/pv3-types';
2
+ export declare const stateExists: (params?: InvariantParams) => InvariantType;
3
+ export declare const stateNotExists: (params?: InvariantParams) => InvariantType;
4
+ //# sourceMappingURL=stateExistance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateExistance.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/stateExistance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGvE,eAAO,MAAM,WAAW,YAAc,eAAe,KAAI,aAcxD,CAAC;AAEF,eAAO,MAAM,cAAc,YAAc,eAAe,KAAI,aAc3D,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stateNotExists = exports.stateExists = void 0;
4
+ const _1 = require(".");
5
+ const stateExists = (params) => {
6
+ return (0, _1.createInvariant)(async (handlerState) => {
7
+ return handlerState.state
8
+ ? Promise.resolve()
9
+ : Promise.reject({
10
+ description: `Expected State in aggregate ${handlerState.commandHandler.name}`,
11
+ details: { requested: handlerState.stream }
12
+ });
13
+ }, {
14
+ name: params?.errorName || `State Does Not Exists`,
15
+ type: params?.errorType || 'BadRequestError'
16
+ });
17
+ };
18
+ exports.stateExists = stateExists;
19
+ const stateNotExists = (params) => {
20
+ return (0, _1.createInvariant)(async (handlerState) => {
21
+ return !handlerState.state
22
+ ? Promise.resolve()
23
+ : Promise.reject({
24
+ description: `Unexpected State in aggregate ${handlerState.commandHandler.name}`,
25
+ details: { requested: handlerState.stream },
26
+ });
27
+ }, {
28
+ name: params?.errorName || `Unexpected State`,
29
+ type: params?.errorType || 'BadRequestError'
30
+ });
31
+ };
32
+ exports.stateNotExists = stateNotExists;
33
+ //# sourceMappingURL=stateExistance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateExistance.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/stateExistance.ts"],"names":[],"mappings":";;;AACA,wBAAoC;AAE7B,MAAM,WAAW,GAAG,CAAE,MAAwB,EAAkB,EAAE;IACvE,OAAO,IAAA,kBAAe,EACpB,KAAK,EAAG,YAAY,EAAG,EAAE;QACvB,OAAO,YAAY,CAAC,KAAK;YACvB,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACf,WAAW,EAAE,+BAA+B,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE;gBAC9E,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE;aAC5C,CAAC,CAAC;IACP,CAAC,EAAC;QACA,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,uBAAuB;QAClD,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,iBAAiB;KAC7C,CACF,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,WAAW,eActB;AAEK,MAAM,cAAc,GAAG,CAAE,MAAwB,EAAkB,EAAE;IAC1E,OAAO,IAAA,kBAAe,EACpB,KAAK,EAAG,YAAY,EAAG,EAAE;QACvB,OAAO,CAAC,YAAY,CAAC,KAAK;YACxB,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACf,WAAW,EAAE,iCAAiC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE;gBAChF,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE;aAC5C,CAAC,CAAC;IACP,CAAC,EAAC;QACA,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,kBAAkB;QAC7C,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,iBAAiB;KAC7C,CACF,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,cAAc,kBAczB"}
@@ -0,0 +1,2 @@
1
+ export * from './sseSubscriptions';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/subscriptions/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,18 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./sseSubscriptions"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/subscriptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,3 @@
1
+ import { ReadmodelSubscriptionManagerType } from '@bett3r-dev/pv3-types';
2
+ export declare const SSESubscriptions: () => ReadmodelSubscriptionManagerType;
3
+ //# sourceMappingURL=sseSubscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sseSubscriptions.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/subscriptions/sseSubscriptions.ts"],"names":[],"mappings":"AACA,OAAO,EAA6J,gCAAgC,EAAoD,MAAM,uBAAuB,CAAC;AAGtR,eAAO,MAAM,gBAAgB,QAAO,gCAiGnC,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SSESubscriptions = void 0;
4
+ const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
5
+ const pv3_types_1 = require("@bett3r-dev/pv3-types");
6
+ const crypto_1 = require("crypto");
7
+ const SSESubscriptions = () => {
8
+ const subscriptions = {};
9
+ const readModelSubscriptionCloseEmitter = new pv3_types_1.TypedEventEmitter();
10
+ const send = (logger, id, change, collection, res, data) => {
11
+ logger.log('Sending SSE event in subscription', id, 'for', change.changeType, collection, change.data.id || change.previous.id);
12
+ res.raw.write(`data: ${data}\n\n`);
13
+ };
14
+ const subscriptionIncludes = (s, data) => {
15
+ return (!s.filter ||
16
+ s.filter.every((filter) => pv3_types_1.filterOpMap[filter.op](data[filter.field], filter.value)));
17
+ };
18
+ const notifySubscriptions = (logger, collection) => (change, subscriptionId) => {
19
+ if (!change.data)
20
+ return;
21
+ setImmediate(() => {
22
+ const message = JSON.stringify({
23
+ type: change.changeType,
24
+ data: change.data,
25
+ });
26
+ // if ( subscriptionId ){
27
+ // }
28
+ Object.values(subscriptions).forEach((s) => {
29
+ if ((change.changeType === 'delete' && subscriptionIncludes(s, change.previous))
30
+ || (['insert', 'update'].includes(change.changeType) && subscriptionIncludes(s, change.data))
31
+ || (change.changeType === 'update' && subscriptionIncludes(s, change.previous))) {
32
+ send(logger, s.id, change, collection, s.res, message);
33
+ }
34
+ });
35
+ });
36
+ };
37
+ const initSubscription = (req, res, id) => {
38
+ const headers = {
39
+ 'Content-Type': 'text/event-stream',
40
+ 'Connection': 'keep-alive',
41
+ 'Cache-Control': 'no-cache',
42
+ 'X-Accel-Buffering': 'no'
43
+ };
44
+ // FIXME: Como puedo detectar que el request viene de nginx?
45
+ if (!req.headers['asdf']) {
46
+ headers['Access-Control-Allow-Origin'] = '*';
47
+ }
48
+ res.raw.writeHead(200, headers);
49
+ res.raw.write(`data: Connected\n\n`);
50
+ req.raw.on('close', () => {
51
+ readModelSubscriptionCloseEmitter.emit('close', id);
52
+ delete subscriptions[id];
53
+ });
54
+ };
55
+ const createSubscription = (res, conditions) => {
56
+ const id = (0, crypto_1.randomUUID)();
57
+ const newSubscription = {
58
+ id: id,
59
+ res,
60
+ filter: conditions.filter || []
61
+ };
62
+ subscriptions[id] = newSubscription;
63
+ return id;
64
+ };
65
+ const startSubscription = (projectionParams, req, res) => {
66
+ if ((0, bett3r_utils_1.ensureArray)(req?.headers?.accept).includes('text/event-stream')) {
67
+ const id = createSubscription(res, projectionParams);
68
+ initSubscription(req, res, id);
69
+ return id;
70
+ }
71
+ };
72
+ return {
73
+ type: 'SSE',
74
+ startSubscription,
75
+ notifySubscriptions,
76
+ readModelSubscriptionCloseEmitter,
77
+ send
78
+ };
79
+ };
80
+ exports.SSESubscriptions = SSESubscriptions;
81
+ //# sourceMappingURL=sseSubscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sseSubscriptions.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/subscriptions/sseSubscriptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { BaseSchema } from '@bett3r-dev/jsonschema-definer';
2
+ import { Aggregate, AggregateBuilderType, EventFactory } from '@bett3r-dev/pv3-types';
3
+ export declare const AggregateBuilder: <Model, EVENTS extends Record<string, EventFactory>>(schema: BaseSchema<Model, true, Readonly<import("@bett3r-dev/jsonschema-definer/dist/base").BaseJsonSchema>>, events: EVENTS, aggregate?: Aggregate) => AggregateBuilderType<Model, EVENTS>;
4
+ //# sourceMappingURL=aggregateBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregateBuilder.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/aggregateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAyB,YAAY,EAAiB,MAAM,uBAAuB,CAAC;AAG5H,eAAO,MAAM,gBAAgB,kPA4C5B,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateBuilder = void 0;
4
+ const externalSystemBuilder_1 = require("./externalSystemBuilder");
5
+ const AggregateBuilder = (schema, events, aggregate = {}) => {
6
+ const { system, ...builder } = (0, externalSystemBuilder_1.ExternalSystemBuilder)(events, schema, aggregate);
7
+ aggregate = system;
8
+ aggregate.schema = schema;
9
+ aggregate.initialValue = () => undefined;
10
+ const notEventsourced = (database, collection) => {
11
+ aggregate.isEventsourced = false;
12
+ aggregate.outboxDatabase = database;
13
+ aggregate.outboxCollection = collection;
14
+ return _builder;
15
+ };
16
+ const withCommandTemplate = (command) => {
17
+ builder.withCommandTemplate(command);
18
+ return _builder;
19
+ };
20
+ const initialValue = (init) => {
21
+ aggregate.initialValue = init;
22
+ return {
23
+ withEventReducers: withEventReducers(events),
24
+ withCommands: _builder.withCommands
25
+ };
26
+ };
27
+ const withEventReducers = (events) => (eventReducers) => {
28
+ aggregate.eventReducers = eventReducers;
29
+ return {
30
+ withCommands: _builder.withCommands
31
+ };
32
+ };
33
+ const _builder = {
34
+ ...builder,
35
+ notEventsourced,
36
+ withCommandTemplate,
37
+ withEventReducers: withEventReducers(events),
38
+ withCommands: builder.withCommands,
39
+ initialValue,
40
+ system: aggregate
41
+ };
42
+ return _builder;
43
+ };
44
+ exports.AggregateBuilder = AggregateBuilder;
45
+ //# sourceMappingURL=aggregateBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregateBuilder.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/aggregateBuilder.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEzD,MAAM,gBAAgB,GAAG,CAAsD,MAAyB,EAAE,MAAc,EAAE,YAAY,EAAe,EAAwC,EAAE;IACpM,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,IAAA,6CAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAE,CAAC;IAClF,SAAS,GAAG,MAAmB,CAAC;IAChC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;IAEzC,MAAM,eAAe,GAAG,CAAE,QAAsB,EAAE,UAAkB,EAAG,EAAE;QACvE,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC;QACjC,SAAS,CAAC,cAAc,GAAG,QAAQ,CAAC;QACpC,SAAS,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACxC,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAE,OAAgB,EAAG,EAAE;QACjD,OAAO,CAAC,mBAAmB,CAAE,OAAO,CAAE,CAAC;QACvC,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAE,IAAiD,EAAE,EAAE;QAC1E,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;QAC9B,OAAO;YACL,iBAAiB,EAAE,iBAAiB,CAAE,MAAM,CAAE;YAC9C,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAA+C,MAAc,EAAG,EAAE,CAAC,CAAE,aAA2C,EAAG,EAAE;QAC7I,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;QACxC,OAAO;YACL,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG;QACf,GAAG,OAAO;QACV,eAAe;QACf,mBAAmB;QACnB,iBAAiB,EAAE,iBAAiB,CAAE,MAAM,CAAE;QAC9C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY;QACZ,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA5CW,QAAA,gBAAgB,oBA4C3B"}
@@ -0,0 +1,3 @@
1
+ import { Command, CommandBuilderType } from '@bett3r-dev/pv3-types';
2
+ export declare const CommandBuilder: (systemLevelInit?: Omit<Command, 'handler' | 'events' | 'schema'>) => CommandBuilderType;
3
+ //# sourceMappingURL=commandBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandBuilder.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/commandBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAuJ,MAAM,uBAAuB,CAAC;AAEzN,eAAO,MAAM,cAAc,qBAAuB,KAAK,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,KAAI,kBA6GnG,CAAC"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandBuilder = void 0;
4
+ const CommandBuilder = (systemLevelInit) => (init) => {
5
+ const command = {
6
+ ...systemLevelInit,
7
+ ...init
8
+ };
9
+ const withDescription = (description) => {
10
+ command.description = description;
11
+ return builder;
12
+ };
13
+ const allowingActors = (actors) => {
14
+ command.actors = actors;
15
+ return builder;
16
+ };
17
+ const withDataPropertyId = (dataPath) => {
18
+ command.dataPropertyId = dataPath;
19
+ return builder;
20
+ };
21
+ const withSchema = (schema) => {
22
+ command.schema = schema;
23
+ return {
24
+ withInvariant: withInvariant(schema),
25
+ produces: produces(schema),
26
+ withResultFormatFunction: withResultFormatFunction(schema),
27
+ withLoadFunction: withLoadFunction(schema),
28
+ withCommitFunction: withCommitFunction(schema),
29
+ };
30
+ };
31
+ const withInvariant = (schema) => (invariant) => {
32
+ command.events = [...(command.events || []), ...(invariant.events || [])];
33
+ command.invariants = [...(command.invariants || []), invariant];
34
+ return {
35
+ withInvariant: withInvariant(schema),
36
+ produces: produces(schema),
37
+ withLoadFunction: withLoadFunction(schema),
38
+ withCommitFunction: withCommitFunction(schema),
39
+ withResultFormatFunction: withResultFormatFunction(schema),
40
+ };
41
+ };
42
+ const withLoadFunction = (schema) => (loadFunction) => {
43
+ command.load = loadFunction;
44
+ return {
45
+ withLoadFunction: withLoadFunction(schema),
46
+ withCommitFunction: withCommitFunction(schema),
47
+ withResultFormatFunction: withResultFormatFunction(schema),
48
+ produces: produces(schema),
49
+ withInvariant: withInvariant(schema),
50
+ };
51
+ };
52
+ const withCommitFunction = (schema) => (commitFunction) => {
53
+ command.commit = commitFunction;
54
+ return {
55
+ withLoadFunction: withLoadFunction(schema),
56
+ withCommitFunction: withCommitFunction(schema),
57
+ withResultFormatFunction: withResultFormatFunction(schema),
58
+ produces: produces(schema),
59
+ withInvariant: withInvariant(schema),
60
+ };
61
+ };
62
+ const withResultFormatFunction = (schema) => (resultFormatFunction) => {
63
+ command.format = resultFormatFunction;
64
+ return {
65
+ withLoadFunction: withLoadFunction(schema),
66
+ withCommitFunction: withCommitFunction(schema),
67
+ withResultFormatFunction: withResultFormatFunction(schema),
68
+ produces: produces(schema),
69
+ withInvariant: withInvariant(schema),
70
+ };
71
+ };
72
+ const produces = (schema) => (events) => {
73
+ command.events = [...(command.events || []), ...events];
74
+ return {
75
+ withHandler: withHandler(events)(schema),
76
+ withErrorHandler: withErrorHandler(events)(schema),
77
+ build: () => command
78
+ };
79
+ };
80
+ const withHandler = (events) => (schema) => (handler) => {
81
+ command.handler = handler;
82
+ return {
83
+ withErrorHandler: withErrorHandler(events)(schema),
84
+ build: () => command
85
+ };
86
+ };
87
+ const withErrorHandler = (events) => (schema) => (onErrorHandler) => {
88
+ command.onErrorHandler = onErrorHandler;
89
+ return {
90
+ build: () => command
91
+ };
92
+ };
93
+ const builder = {
94
+ withSchema,
95
+ withDataPropertyId,
96
+ allowingActors,
97
+ withDescription,
98
+ };
99
+ return builder;
100
+ };
101
+ exports.CommandBuilder = CommandBuilder;
102
+ //# sourceMappingURL=commandBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandBuilder.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/commandBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { EventFactory, EventHandler, EventHandlerBuilderType, Policy, ReadModel } from '@bett3r-dev/pv3-types';
2
+ export declare const eventHandlerBuilder: <EVENTS extends Record<string, EventFactory>, T extends Policy | ReadModel>(eventHandler?: EventHandler<EVENTS>) => EventHandlerBuilderType<EVENTS, T>;
3
+ //# sourceMappingURL=eventHandlerBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventHandlerBuilder.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/eventHandlerBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAkB,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE3K,eAAO,MAAM,mBAAmB,wJAkB/B,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eventHandlerBuilder = void 0;
4
+ const eventHandlerBuilder = (eventHandler = {}) => {
5
+ const withErrorHandlers = (errorHandlers) => {
6
+ eventHandler.errorHandlers = errorHandlers;
7
+ return { build };
8
+ };
9
+ const build = () => eventHandler;
10
+ // const build = () => eventHandler;
11
+ const builder = {
12
+ eventHandler,
13
+ withErrorHandlers,
14
+ build
15
+ };
16
+ return builder;
17
+ };
18
+ exports.eventHandlerBuilder = eventHandlerBuilder;
19
+ //# sourceMappingURL=eventHandlerBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventHandlerBuilder.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/eventHandlerBuilder.ts"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,GAAG,CAA6E,eAAe,EAA0B,EAAuC,EAAE;IAChM,MAAM,iBAAiB,GAAG,CAAE,aAE3B,EAAE,EAAE;QACH,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,YAAwM,CAAC;IAC7N,oCAAoC;IAEpC,MAAM,OAAO,GAAuC;QAClD,YAAY;QACZ,iBAAiB;QACjB,KAAK;KACN,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B"}
@@ -0,0 +1,4 @@
1
+ import { BaseSchema } from '@bett3r-dev/jsonschema-definer';
2
+ import { EventFactory, ExternalSystemBuilderType, System } from '@bett3r-dev/pv3-types';
3
+ export declare const ExternalSystemBuilder: <Model, EVENTS extends Record<string, EventFactory>>(events: EVENTS, schema?: BaseSchema<Model, true, Readonly<import("@bett3r-dev/jsonschema-definer/dist/base").BaseJsonSchema>> | undefined, system?: System) => ExternalSystemBuilderType<Model, EVENTS>;
4
+ //# sourceMappingURL=externalSystemBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalSystemBuilder.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/externalSystemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAwC,YAAY,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAK9H,eAAO,MAAM,qBAAqB,8PAmCjC,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalSystemBuilder = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const commandBuilder_1 = require("./commandBuilder");
6
+ const _1 = require(".");
7
+ const ExternalSystemBuilder = (events, schema, system = {}) => {
8
+ const isAggregate = !!schema;
9
+ const name = (0, _1.getStackTrace)();
10
+ system = { ...system, name, events, isAggregate, isStreamable: isAggregate || system.isStreamable };
11
+ system.isEventsourced = true;
12
+ const withCommandTemplate = (command) => {
13
+ system.templateCommand = command;
14
+ return builder;
15
+ };
16
+ /**
17
+ * This is the last function that builds the aggregate, the last function you'll call
18
+ */
19
+ const withCommands = (commands) => {
20
+ system.commands = commands({
21
+ commandBuilder: (0, commandBuilder_1.CommandBuilder)(system.templateCommand),
22
+ createEvent: (0, utils_1.createEvent)(system),
23
+ });
24
+ return system;
25
+ };
26
+ const builder = {
27
+ system,
28
+ withCommandTemplate,
29
+ withCommands
30
+ };
31
+ return builder;
32
+ };
33
+ exports.ExternalSystemBuilder = ExternalSystemBuilder;
34
+ //# sourceMappingURL=externalSystemBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalSystemBuilder.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/externalSystemBuilder.ts"],"names":[],"mappings":";;;AAEA,0CAA6C;AAC7C,qDAAkD;AAClD,wBAAkC;AAE3B,MAAM,qBAAqB,GAAG,CAAsD,MAAc,EAAE,MAA0B,EAAE,SAAS,EAAY,EAA6C,EAAE;IACzM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAA,gBAAa,GAAE,CAAC;IAC7B,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,MAAM,CAAC,YAAY,EAAY,CAAC;IAC9G,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,mBAAmB,GAAG,CAAE,OAAgB,EAAG,EAAE;QACjD,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,YAAY,GAAG,CAGjB,QAGU,EAA6B,EAAE;QAC3C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,cAAc,EAAE,IAAA,+BAAc,EAAE,MAAM,CAAC,eAAe,CAAE;YACxD,WAAW,EAAE,IAAA,mBAAW,EAAuB,MAAM,CAAE;SACxD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,MAAM;QACN,mBAAmB;QACnB,YAAY;KACb,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAnCW,QAAA,qBAAqB,yBAmChC"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="ramda/node_modules/ts-toolbelt" />
2
+ export * from './aggregateBuilder';
3
+ export * from './commandBuilder';
4
+ export * from './externalSystemBuilder';
5
+ export * from './policyBuilder';
6
+ export * from './readmodelBuilder';
7
+ export declare const formatStream: import("Function/Curry").Curry<(aggreateOrSystem: string, id: string) => string>;
8
+ export declare const getIdFromStream: (stream: string) => string;
9
+ export declare const extractIdFromEventStream: (event: {
10
+ stream: string;
11
+ }) => string;
12
+ export declare const getStackTrace: () => string;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/utils/index.ts"],"names":[],"mappings":";AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AAEnC,eAAO,MAAM,YAAY,oDAA4B,MAAM,MAAM,MAAM,YAAmD,CAAC;AAC3H,eAAO,MAAM,eAAe,WAAa,MAAM,WAA+C,CAAC;AAC/F,eAAO,MAAM,wBAAwB,UAAY;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,WAAoC,CAAC;AAGtG,eAAO,MAAM,aAAa,cAUzB,CAAC"}