@bett3r-dev/pv3 1.0.0 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/CHANGELOG.md +329 -0
  2. package/build/adapters/cache/memory/index.d.ts.map +1 -1
  3. package/build/adapters/cache/memory/index.js +93 -20
  4. package/build/adapters/cache/memory/index.js.map +1 -1
  5. package/build/adapters/cache/memory/index.test.d.ts +2 -0
  6. package/build/adapters/cache/memory/index.test.d.ts.map +1 -0
  7. package/build/adapters/cache/memory/index.test.js +98 -0
  8. package/build/adapters/cache/memory/index.test.js.map +1 -0
  9. package/build/adapters/configuration/dotEnv.d.ts.map +1 -1
  10. package/build/adapters/configuration/dotEnv.js.map +1 -1
  11. package/build/adapters/database/memory/index.d.ts +5 -1
  12. package/build/adapters/database/memory/index.d.ts.map +1 -1
  13. package/build/adapters/database/memory/index.js +336 -44
  14. package/build/adapters/database/memory/index.js.map +1 -1
  15. package/build/adapters/database/memory/index.test.d.ts +2 -0
  16. package/build/adapters/database/memory/index.test.d.ts.map +1 -0
  17. package/build/adapters/database/memory/index.test.js +167 -0
  18. package/build/adapters/database/memory/index.test.js.map +1 -0
  19. package/build/adapters/database/memory/pagingCursorZero.test.d.ts +2 -0
  20. package/build/adapters/database/memory/pagingCursorZero.test.d.ts.map +1 -0
  21. package/build/adapters/database/memory/pagingCursorZero.test.js +60 -0
  22. package/build/adapters/database/memory/pagingCursorZero.test.js.map +1 -0
  23. package/build/adapters/database/memory/pagingVanishedCursor.test.d.ts +2 -0
  24. package/build/adapters/database/memory/pagingVanishedCursor.test.d.ts.map +1 -0
  25. package/build/adapters/database/memory/pagingVanishedCursor.test.js +72 -0
  26. package/build/adapters/database/memory/pagingVanishedCursor.test.js.map +1 -0
  27. package/build/adapters/endpoints/addAuthUser/index.d.ts +6 -4
  28. package/build/adapters/endpoints/addAuthUser/index.d.ts.map +1 -1
  29. package/build/adapters/endpoints/addAuthUser/index.js +12 -31
  30. package/build/adapters/endpoints/addAuthUser/index.js.map +1 -1
  31. package/build/adapters/endpoints/addDevAuthUser/index.d.ts +32 -0
  32. package/build/adapters/endpoints/addDevAuthUser/index.d.ts.map +1 -0
  33. package/build/adapters/endpoints/addDevAuthUser/index.js +39 -0
  34. package/build/adapters/endpoints/addDevAuthUser/index.js.map +1 -0
  35. package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.d.ts +2 -0
  36. package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.d.ts.map +1 -0
  37. package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.js +97 -0
  38. package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.js.map +1 -0
  39. package/build/adapters/endpoints/asyncLocalStorage/index.d.ts +22 -0
  40. package/build/adapters/endpoints/asyncLocalStorage/index.d.ts.map +1 -0
  41. package/build/adapters/endpoints/asyncLocalStorage/index.js +62 -0
  42. package/build/adapters/endpoints/asyncLocalStorage/index.js.map +1 -0
  43. package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.d.ts +2 -0
  44. package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.d.ts.map +1 -0
  45. package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.js +98 -0
  46. package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.js.map +1 -0
  47. package/build/adapters/endpoints/endpointValidation/index.d.ts +2 -2
  48. package/build/adapters/endpoints/endpointValidation/index.d.ts.map +1 -1
  49. package/build/adapters/endpoints/endpointValidation/index.js +19 -9
  50. package/build/adapters/endpoints/endpointValidation/index.js.map +1 -1
  51. package/build/adapters/endpoints/genericMiddleware/index.d.ts +23 -0
  52. package/build/adapters/endpoints/genericMiddleware/index.d.ts.map +1 -0
  53. package/build/adapters/endpoints/genericMiddleware/index.js +30 -0
  54. package/build/adapters/endpoints/genericMiddleware/index.js.map +1 -0
  55. package/build/adapters/endpoints/httpMethodOverride/index.d.ts +8 -0
  56. package/build/adapters/endpoints/httpMethodOverride/index.d.ts.map +1 -0
  57. package/build/adapters/endpoints/httpMethodOverride/index.js +44 -0
  58. package/build/adapters/endpoints/httpMethodOverride/index.js.map +1 -0
  59. package/build/adapters/endpoints/index.d.ts +5 -0
  60. package/build/adapters/endpoints/index.d.ts.map +1 -1
  61. package/build/adapters/endpoints/index.js +5 -1
  62. package/build/adapters/endpoints/index.js.map +1 -1
  63. package/build/adapters/endpoints/localAuthorization/index.d.ts +1 -0
  64. package/build/adapters/endpoints/localAuthorization/index.js +2 -0
  65. package/build/adapters/endpoints/localAuthorization/index.js.map +1 -1
  66. package/build/adapters/endpoints/mapQueryFromHeaders/index.d.ts +8 -0
  67. package/build/adapters/endpoints/mapQueryFromHeaders/index.d.ts.map +1 -0
  68. package/build/adapters/endpoints/mapQueryFromHeaders/index.js +36 -0
  69. package/build/adapters/endpoints/mapQueryFromHeaders/index.js.map +1 -0
  70. package/build/adapters/endpoints/tcpConsumer/index.d.ts.map +1 -1
  71. package/build/adapters/endpoints/tcpConsumer/index.js +8 -7
  72. package/build/adapters/endpoints/tcpConsumer/index.js.map +1 -1
  73. package/build/adapters/endpoints/userSession/__tests__/userSession.test.d.ts +2 -0
  74. package/build/adapters/endpoints/userSession/__tests__/userSession.test.d.ts.map +1 -0
  75. package/build/adapters/endpoints/userSession/__tests__/userSession.test.js +175 -0
  76. package/build/adapters/endpoints/userSession/__tests__/userSession.test.js.map +1 -0
  77. package/build/adapters/endpoints/userSession/index.d.ts +2 -2
  78. package/build/adapters/endpoints/userSession/index.d.ts.map +1 -1
  79. package/build/adapters/endpoints/userSession/index.js +36 -2
  80. package/build/adapters/endpoints/userSession/index.js.map +1 -1
  81. package/build/adapters/eventstore/database.d.ts.map +1 -1
  82. package/build/adapters/eventstore/database.js +261 -58
  83. package/build/adapters/eventstore/database.js.map +1 -1
  84. package/build/adapters/eventstore/database.test.d.ts +2 -0
  85. package/build/adapters/eventstore/database.test.d.ts.map +1 -0
  86. package/build/adapters/eventstore/database.test.js +123 -0
  87. package/build/adapters/eventstore/database.test.js.map +1 -0
  88. package/build/adapters/infrastructure/local/index.d.ts +2 -2
  89. package/build/adapters/infrastructure/local/index.d.ts.map +1 -1
  90. package/build/adapters/infrastructure/local/index.js +3 -3
  91. package/build/adapters/infrastructure/local/index.js.map +1 -1
  92. package/build/adapters/logger/__tests__/json.test.d.ts +2 -0
  93. package/build/adapters/logger/__tests__/json.test.d.ts.map +1 -0
  94. package/build/adapters/logger/__tests__/json.test.js +125 -0
  95. package/build/adapters/logger/__tests__/json.test.js.map +1 -0
  96. package/build/adapters/logger/console.d.ts.map +1 -1
  97. package/build/adapters/logger/console.js +4 -2
  98. package/build/adapters/logger/console.js.map +1 -1
  99. package/build/adapters/logger/http.d.ts +3 -0
  100. package/build/adapters/logger/http.d.ts.map +1 -0
  101. package/build/adapters/logger/http.js +49 -0
  102. package/build/adapters/logger/http.js.map +1 -0
  103. package/build/adapters/logger/index.d.ts +3 -0
  104. package/build/adapters/logger/index.d.ts.map +1 -1
  105. package/build/adapters/logger/index.js +3 -0
  106. package/build/adapters/logger/index.js.map +1 -1
  107. package/build/adapters/logger/json.d.ts +3 -0
  108. package/build/adapters/logger/json.d.ts.map +1 -0
  109. package/build/adapters/logger/json.js +41 -0
  110. package/build/adapters/logger/json.js.map +1 -0
  111. package/build/adapters/logger/stdout.d.ts +3 -0
  112. package/build/adapters/logger/stdout.d.ts.map +1 -0
  113. package/build/adapters/logger/stdout.js +52 -0
  114. package/build/adapters/logger/stdout.js.map +1 -0
  115. package/build/index.d.ts +3 -1
  116. package/build/index.d.ts.map +1 -1
  117. package/build/index.js +3 -1
  118. package/build/index.js.map +1 -1
  119. package/build/libraries/deployment-units/computeMDUs.d.ts +11 -0
  120. package/build/libraries/deployment-units/computeMDUs.d.ts.map +1 -0
  121. package/build/libraries/deployment-units/computeMDUs.js +695 -0
  122. package/build/libraries/deployment-units/computeMDUs.js.map +1 -0
  123. package/build/libraries/deployment-units/computeMDUs.test.d.ts +2 -0
  124. package/build/libraries/deployment-units/computeMDUs.test.d.ts.map +1 -0
  125. package/build/libraries/deployment-units/computeMDUs.test.js +996 -0
  126. package/build/libraries/deployment-units/computeMDUs.test.js.map +1 -0
  127. package/build/libraries/deployment-units/index.d.ts +6 -0
  128. package/build/libraries/deployment-units/index.d.ts.map +1 -0
  129. package/build/libraries/deployment-units/index.js +8 -0
  130. package/build/libraries/deployment-units/index.js.map +1 -0
  131. package/build/libraries/deployment-units/manifestWriter.d.ts +11 -0
  132. package/build/libraries/deployment-units/manifestWriter.d.ts.map +1 -0
  133. package/build/libraries/deployment-units/manifestWriter.js +28 -0
  134. package/build/libraries/deployment-units/manifestWriter.js.map +1 -0
  135. package/build/libraries/deployment-units/types.d.ts +43 -0
  136. package/build/libraries/deployment-units/types.d.ts.map +1 -0
  137. package/build/libraries/deployment-units/types.js +3 -0
  138. package/build/libraries/deployment-units/types.js.map +1 -0
  139. package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.d.ts +2 -0
  140. package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.d.ts.map +1 -0
  141. package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.js +17 -0
  142. package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.js.map +1 -0
  143. package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.d.ts +2 -0
  144. package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.d.ts.map +1 -0
  145. package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.js +13 -0
  146. package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.js.map +1 -0
  147. package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.d.ts +2 -0
  148. package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.d.ts.map +1 -0
  149. package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.js +12 -0
  150. package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.js.map +1 -0
  151. package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.d.ts +2 -0
  152. package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.d.ts.map +1 -0
  153. package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.js +21 -0
  154. package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.js.map +1 -0
  155. package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.d.ts +2 -0
  156. package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.d.ts.map +1 -0
  157. package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.js +16 -0
  158. package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.js.map +1 -0
  159. package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.d.ts +2 -0
  160. package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.d.ts.map +1 -0
  161. package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.js +14 -0
  162. package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.js.map +1 -0
  163. package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.d.ts +2 -0
  164. package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.d.ts.map +1 -0
  165. package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.js +88 -0
  166. package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.js.map +1 -0
  167. package/build/libraries/eventsourcing/__tests__/queryVisibility.test.d.ts +2 -0
  168. package/build/libraries/eventsourcing/__tests__/queryVisibility.test.d.ts.map +1 -0
  169. package/build/libraries/eventsourcing/__tests__/queryVisibility.test.js +82 -0
  170. package/build/libraries/eventsourcing/__tests__/queryVisibility.test.js.map +1 -0
  171. package/build/libraries/eventsourcing/commandHandlers/index.d.ts +40 -0
  172. package/build/libraries/eventsourcing/commandHandlers/index.d.ts.map +1 -0
  173. package/build/libraries/eventsourcing/commandHandlers/index.js +1065 -0
  174. package/build/libraries/eventsourcing/commandHandlers/index.js.map +1 -0
  175. package/build/libraries/eventsourcing/commandTemplates/index.d.ts.map +1 -0
  176. package/build/libraries/eventsourcing/commandTemplates/index.js.map +1 -0
  177. package/build/libraries/eventsourcing/commandTemplates/multiStream.d.ts +7 -0
  178. package/build/libraries/eventsourcing/commandTemplates/multiStream.d.ts.map +1 -0
  179. package/build/libraries/eventsourcing/commandTemplates/multiStream.js +116 -0
  180. package/build/libraries/eventsourcing/commandTemplates/multiStream.js.map +1 -0
  181. package/build/libraries/eventsourcing/commandTemplates/snapshot.d.ts +108 -0
  182. package/build/libraries/eventsourcing/commandTemplates/snapshot.d.ts.map +1 -0
  183. package/build/libraries/eventsourcing/commandTemplates/snapshot.js +127 -0
  184. package/build/libraries/eventsourcing/commandTemplates/snapshot.js.map +1 -0
  185. package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.d.ts +2 -0
  186. package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.d.ts.map +1 -0
  187. package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.js +77 -0
  188. package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.js.map +1 -0
  189. package/build/libraries/eventsourcing/eventHandlers/index.d.ts +52 -0
  190. package/build/libraries/eventsourcing/eventHandlers/index.d.ts.map +1 -0
  191. package/build/libraries/eventsourcing/eventHandlers/index.js +474 -0
  192. package/build/libraries/eventsourcing/eventHandlers/index.js.map +1 -0
  193. package/build/libraries/eventsourcing/executionContext.d.ts +50 -0
  194. package/build/libraries/eventsourcing/executionContext.d.ts.map +1 -0
  195. package/build/libraries/eventsourcing/executionContext.js +10 -0
  196. package/build/libraries/eventsourcing/executionContext.js.map +1 -0
  197. package/build/libraries/eventsourcing/idempotencyChecks/index.d.ts +5 -0
  198. package/build/libraries/eventsourcing/idempotencyChecks/index.d.ts.map +1 -0
  199. package/build/libraries/eventsourcing/idempotencyChecks/index.js +26 -0
  200. package/build/libraries/eventsourcing/idempotencyChecks/index.js.map +1 -0
  201. package/build/libraries/eventsourcing/index.d.ts +14 -0
  202. package/build/libraries/eventsourcing/index.d.ts.map +1 -0
  203. package/build/{ports → libraries}/eventsourcing/index.js +50 -15
  204. package/build/{ports → libraries}/eventsourcing/index.js.map +1 -1
  205. package/build/libraries/eventsourcing/invariants/combinators.d.ts +4 -0
  206. package/build/libraries/eventsourcing/invariants/combinators.d.ts.map +1 -0
  207. package/build/{ports → libraries}/eventsourcing/invariants/combinators.js +3 -3
  208. package/build/libraries/eventsourcing/invariants/combinators.js.map +1 -0
  209. package/build/libraries/eventsourcing/invariants/common.d.ts +15 -0
  210. package/build/libraries/eventsourcing/invariants/common.d.ts.map +1 -0
  211. package/build/libraries/eventsourcing/invariants/common.js +27 -0
  212. package/build/libraries/eventsourcing/invariants/common.js.map +1 -0
  213. package/build/libraries/eventsourcing/invariants/comparisons.d.ts +16 -0
  214. package/build/libraries/eventsourcing/invariants/comparisons.d.ts.map +1 -0
  215. package/build/libraries/eventsourcing/invariants/comparisons.js +35 -0
  216. package/build/libraries/eventsourcing/invariants/comparisons.js.map +1 -0
  217. package/build/libraries/eventsourcing/invariants/comparisons.test.d.ts +2 -0
  218. package/build/libraries/eventsourcing/invariants/comparisons.test.d.ts.map +1 -0
  219. package/build/libraries/eventsourcing/invariants/comparisons.test.js +25 -0
  220. package/build/libraries/eventsourcing/invariants/comparisons.test.js.map +1 -0
  221. package/build/libraries/eventsourcing/invariants/index.d.ts +17 -0
  222. package/build/libraries/eventsourcing/invariants/index.d.ts.map +1 -0
  223. package/build/libraries/eventsourcing/invariants/index.js +47 -0
  224. package/build/libraries/eventsourcing/invariants/index.js.map +1 -0
  225. package/build/libraries/eventsourcing/invariants/stateExistance.d.ts +4 -0
  226. package/build/libraries/eventsourcing/invariants/stateExistance.d.ts.map +1 -0
  227. package/build/libraries/eventsourcing/invariants/stateExistance.js +22 -0
  228. package/build/libraries/eventsourcing/invariants/stateExistance.js.map +1 -0
  229. package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.d.ts +2 -0
  230. package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.d.ts.map +1 -0
  231. package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.js +563 -0
  232. package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.js.map +1 -0
  233. package/build/libraries/eventsourcing/subscriptions/index.d.ts.map +1 -0
  234. package/build/libraries/eventsourcing/subscriptions/index.js.map +1 -0
  235. package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.d.ts +5 -0
  236. package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +1 -0
  237. package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.js +198 -0
  238. package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.js.map +1 -0
  239. package/build/libraries/eventsourcing/utils/aggregateBuilder.d.ts +5 -0
  240. package/build/libraries/eventsourcing/utils/aggregateBuilder.d.ts.map +1 -0
  241. package/build/{ports → libraries}/eventsourcing/utils/aggregateBuilder.js +17 -3
  242. package/build/libraries/eventsourcing/utils/aggregateBuilder.js.map +1 -0
  243. package/build/libraries/eventsourcing/utils/commandBuilder.d.ts +3 -0
  244. package/build/libraries/eventsourcing/utils/commandBuilder.d.ts.map +1 -0
  245. package/build/{ports → libraries}/eventsourcing/utils/commandBuilder.js +44 -1
  246. package/build/libraries/eventsourcing/utils/commandBuilder.js.map +1 -0
  247. package/build/{ports → libraries}/eventsourcing/utils/eventHandlerBuilder.d.ts +2 -2
  248. package/build/libraries/eventsourcing/utils/eventHandlerBuilder.d.ts.map +1 -0
  249. package/build/libraries/eventsourcing/utils/eventHandlerBuilder.js.map +1 -0
  250. package/build/libraries/eventsourcing/utils/externalSystemBuilder.d.ts +5 -0
  251. package/build/libraries/eventsourcing/utils/externalSystemBuilder.d.ts.map +1 -0
  252. package/build/libraries/eventsourcing/utils/externalSystemBuilder.js +43 -0
  253. package/build/libraries/eventsourcing/utils/externalSystemBuilder.js.map +1 -0
  254. package/build/libraries/eventsourcing/utils/index.d.ts +22 -0
  255. package/build/libraries/eventsourcing/utils/index.d.ts.map +1 -0
  256. package/build/libraries/eventsourcing/utils/index.js +88 -0
  257. package/build/libraries/eventsourcing/utils/index.js.map +1 -0
  258. package/build/libraries/eventsourcing/utils/policyBuilder.d.ts +4 -0
  259. package/build/libraries/eventsourcing/utils/policyBuilder.d.ts.map +1 -0
  260. package/build/libraries/eventsourcing/utils/policyBuilder.js +53 -0
  261. package/build/libraries/eventsourcing/utils/policyBuilder.js.map +1 -0
  262. package/build/libraries/eventsourcing/utils/readmodelBuilder.d.ts +6 -0
  263. package/build/libraries/eventsourcing/utils/readmodelBuilder.d.ts.map +1 -0
  264. package/build/libraries/eventsourcing/utils/readmodelBuilder.js +68 -0
  265. package/build/libraries/eventsourcing/utils/readmodelBuilder.js.map +1 -0
  266. package/build/libraries/localOutbox/index.d.ts +6 -0
  267. package/build/libraries/localOutbox/index.d.ts.map +1 -0
  268. package/build/libraries/localOutbox/index.js +72 -0
  269. package/build/libraries/localOutbox/index.js.map +1 -0
  270. package/build/libraries/modulePath.d.ts +14 -0
  271. package/build/libraries/modulePath.d.ts.map +1 -0
  272. package/build/libraries/modulePath.js +21 -0
  273. package/build/libraries/modulePath.js.map +1 -0
  274. package/build/libraries/modules/fs.d.ts +2 -4
  275. package/build/libraries/modules/fs.d.ts.map +1 -1
  276. package/build/libraries/modules/fs.js +21 -84
  277. package/build/libraries/modules/fs.js.map +1 -1
  278. package/build/libraries/modules/index.d.ts +2 -0
  279. package/build/libraries/modules/index.d.ts.map +1 -1
  280. package/build/libraries/modules/index.js +2 -0
  281. package/build/libraries/modules/index.js.map +1 -1
  282. package/build/libraries/modules/scopedPortsView.d.ts +42 -0
  283. package/build/libraries/modules/scopedPortsView.d.ts.map +1 -0
  284. package/build/libraries/modules/scopedPortsView.js +55 -0
  285. package/build/libraries/modules/scopedPortsView.js.map +1 -0
  286. package/build/libraries/modules/scopedPortsView.test.d.ts +10 -0
  287. package/build/libraries/modules/scopedPortsView.test.d.ts.map +1 -0
  288. package/build/libraries/modules/scopedPortsView.test.js +103 -0
  289. package/build/libraries/modules/scopedPortsView.test.js.map +1 -0
  290. package/build/libraries/modules/selectiveLoader.d.ts +21 -0
  291. package/build/libraries/modules/selectiveLoader.d.ts.map +1 -0
  292. package/build/libraries/modules/selectiveLoader.js +164 -0
  293. package/build/libraries/modules/selectiveLoader.js.map +1 -0
  294. package/build/libraries/modules/selectiveLoader.test.d.ts +2 -0
  295. package/build/libraries/modules/selectiveLoader.test.d.ts.map +1 -0
  296. package/build/libraries/modules/selectiveLoader.test.js +471 -0
  297. package/build/libraries/modules/selectiveLoader.test.js.map +1 -0
  298. package/build/libraries/openApi/pruneUnusedRef.d.ts.map +1 -1
  299. package/build/libraries/openApi/pruneUnusedRef.js.map +1 -1
  300. package/build/libraries/tcp/index.d.ts +0 -1
  301. package/build/libraries/tcp/index.d.ts.map +1 -1
  302. package/build/libraries/tcp/index.js +32 -9
  303. package/build/libraries/tcp/index.js.map +1 -1
  304. package/build/libraries/tcp/types.d.ts +0 -1
  305. package/build/libraries/tcp/types.d.ts.map +1 -1
  306. package/build/libraries/validation/__tests__/readmodelQuerySchema.test.d.ts +2 -0
  307. package/build/libraries/validation/__tests__/readmodelQuerySchema.test.d.ts.map +1 -0
  308. package/build/libraries/validation/__tests__/readmodelQuerySchema.test.js +100 -0
  309. package/build/libraries/validation/__tests__/readmodelQuerySchema.test.js.map +1 -0
  310. package/build/libraries/validation/__tests__/validation.test.js +17 -7
  311. package/build/libraries/validation/__tests__/validation.test.js.map +1 -1
  312. package/build/libraries/validation/index.d.ts +3 -3
  313. package/build/libraries/validation/index.d.ts.map +1 -1
  314. package/build/libraries/validation/index.js +49 -15
  315. package/build/libraries/validation/index.js.map +1 -1
  316. package/build/ports/authentication/index.js.map +1 -1
  317. package/build/ports/authentication/index.test.d.ts +2 -0
  318. package/build/ports/authentication/index.test.d.ts.map +1 -0
  319. package/build/ports/authentication/index.test.js +38 -0
  320. package/build/ports/authentication/index.test.js.map +1 -0
  321. package/build/ports/base.d.ts.map +1 -1
  322. package/build/ports/base.js +39 -5
  323. package/build/ports/base.js.map +1 -1
  324. package/build/ports/base.test.d.ts +2 -0
  325. package/build/ports/base.test.d.ts.map +1 -0
  326. package/build/ports/base.test.js +92 -0
  327. package/build/ports/base.test.js.map +1 -0
  328. package/build/ports/cache/index.js.map +1 -1
  329. package/build/ports/cache/index.test.d.ts +2 -0
  330. package/build/ports/cache/index.test.d.ts.map +1 -0
  331. package/build/ports/cache/index.test.js +43 -0
  332. package/build/ports/cache/index.test.js.map +1 -0
  333. package/build/ports/configuration/__tests__/cliArgs.test.d.ts +2 -0
  334. package/build/ports/configuration/__tests__/cliArgs.test.d.ts.map +1 -0
  335. package/build/ports/configuration/__tests__/cliArgs.test.js +158 -0
  336. package/build/ports/configuration/__tests__/cliArgs.test.js.map +1 -0
  337. package/build/ports/configuration/__tests__/configurationPortEmitter.test.d.ts +2 -0
  338. package/build/ports/configuration/__tests__/configurationPortEmitter.test.d.ts.map +1 -0
  339. package/build/ports/configuration/__tests__/configurationPortEmitter.test.js +63 -0
  340. package/build/ports/configuration/__tests__/configurationPortEmitter.test.js.map +1 -0
  341. package/build/ports/configuration/__tests__/getArgsSync.test.d.ts +2 -0
  342. package/build/ports/configuration/__tests__/getArgsSync.test.d.ts.map +1 -0
  343. package/build/ports/configuration/__tests__/getArgsSync.test.js +85 -0
  344. package/build/ports/configuration/__tests__/getArgsSync.test.js.map +1 -0
  345. package/build/ports/configuration/args.d.ts +50 -43
  346. package/build/ports/configuration/args.d.ts.map +1 -1
  347. package/build/ports/configuration/args.js +76 -13
  348. package/build/ports/configuration/args.js.map +1 -1
  349. package/build/ports/configuration/common.js +1 -2
  350. package/build/ports/configuration/common.js.map +1 -1
  351. package/build/ports/configuration/index.d.ts +1 -1
  352. package/build/ports/configuration/index.d.ts.map +1 -1
  353. package/build/ports/configuration/index.js +85 -17
  354. package/build/ports/configuration/index.js.map +1 -1
  355. package/build/ports/configuration/localConfig.d.ts.map +1 -1
  356. package/build/ports/configuration/localConfig.js +46 -27
  357. package/build/ports/configuration/localConfig.js.map +1 -1
  358. package/build/ports/database/index.d.ts +1 -2
  359. package/build/ports/database/index.d.ts.map +1 -1
  360. package/build/ports/database/index.js +23 -17
  361. package/build/ports/database/index.js.map +1 -1
  362. package/build/ports/database/index.test.d.ts +2 -0
  363. package/build/ports/database/index.test.d.ts.map +1 -0
  364. package/build/ports/database/index.test.js +43 -0
  365. package/build/ports/database/index.test.js.map +1 -0
  366. package/build/ports/endpoints/__tests__/declarationSite.test.d.ts +2 -0
  367. package/build/ports/endpoints/__tests__/declarationSite.test.d.ts.map +1 -0
  368. package/build/ports/endpoints/__tests__/declarationSite.test.js +165 -0
  369. package/build/ports/endpoints/__tests__/declarationSite.test.js.map +1 -0
  370. package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.d.ts +9 -0
  371. package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.d.ts.map +1 -0
  372. package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.js +20 -0
  373. package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.js.map +1 -0
  374. package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.d.ts +10 -0
  375. package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.d.ts.map +1 -0
  376. package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.js +21 -0
  377. package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.js.map +1 -0
  378. package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.d.ts +15 -0
  379. package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.d.ts.map +1 -0
  380. package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.js +46 -0
  381. package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.js.map +1 -0
  382. package/build/ports/endpoints/__tests__/manifestEndpoints.test.d.ts +2 -0
  383. package/build/ports/endpoints/__tests__/manifestEndpoints.test.d.ts.map +1 -0
  384. package/build/ports/endpoints/__tests__/manifestEndpoints.test.js +117 -0
  385. package/build/ports/endpoints/__tests__/manifestEndpoints.test.js.map +1 -0
  386. package/build/ports/endpoints/declarationSite.d.ts +63 -0
  387. package/build/ports/endpoints/declarationSite.d.ts.map +1 -0
  388. package/build/ports/endpoints/declarationSite.js +126 -0
  389. package/build/ports/endpoints/declarationSite.js.map +1 -0
  390. package/build/ports/endpoints/health.d.ts +26 -0
  391. package/build/ports/endpoints/health.d.ts.map +1 -0
  392. package/build/ports/endpoints/health.js +96 -0
  393. package/build/ports/endpoints/health.js.map +1 -0
  394. package/build/ports/endpoints/index.d.ts +43 -7
  395. package/build/ports/endpoints/index.d.ts.map +1 -1
  396. package/build/ports/endpoints/index.js +317 -67
  397. package/build/ports/endpoints/index.js.map +1 -1
  398. package/build/ports/endpoints/openApi.d.ts +3 -2
  399. package/build/ports/endpoints/openApi.d.ts.map +1 -1
  400. package/build/ports/endpoints/openApi.js +184 -55
  401. package/build/ports/endpoints/openApi.js.map +1 -1
  402. package/build/ports/endpoints/utils.d.ts.map +1 -1
  403. package/build/ports/endpoints/utils.js.map +1 -1
  404. package/build/ports/eventstore/index.d.ts.map +1 -1
  405. package/build/ports/eventstore/index.js +37 -5
  406. package/build/ports/eventstore/index.js.map +1 -1
  407. package/build/ports/eventstore/index.test.d.ts +2 -0
  408. package/build/ports/eventstore/index.test.d.ts.map +1 -0
  409. package/build/ports/eventstore/index.test.js +68 -0
  410. package/build/ports/eventstore/index.test.js.map +1 -0
  411. package/build/ports/infrastructure/index.d.ts +61 -23
  412. package/build/ports/infrastructure/index.d.ts.map +1 -1
  413. package/build/ports/infrastructure/index.js +187 -37
  414. package/build/ports/infrastructure/index.js.map +1 -1
  415. package/build/ports/infrastructure/index.test.d.ts +2 -0
  416. package/build/ports/infrastructure/index.test.d.ts.map +1 -0
  417. package/build/ports/infrastructure/index.test.js +228 -0
  418. package/build/ports/infrastructure/index.test.js.map +1 -0
  419. package/build/ports/infrastructure/utils.d.ts +2 -1
  420. package/build/ports/infrastructure/utils.d.ts.map +1 -1
  421. package/build/ports/infrastructure/utils.js +48 -22
  422. package/build/ports/infrastructure/utils.js.map +1 -1
  423. package/build/ports/logger/__tests__/logger.test.d.ts +2 -0
  424. package/build/ports/logger/__tests__/logger.test.d.ts.map +1 -0
  425. package/build/ports/logger/__tests__/logger.test.js +69 -0
  426. package/build/ports/logger/__tests__/logger.test.js.map +1 -0
  427. package/build/ports/logger/index.d.ts.map +1 -1
  428. package/build/ports/logger/index.js +3 -2
  429. package/build/ports/logger/index.js.map +1 -1
  430. package/build/utils/__tests__/applyCollectionFilterInMemory.test.d.ts +2 -0
  431. package/build/utils/__tests__/applyCollectionFilterInMemory.test.d.ts.map +1 -0
  432. package/build/utils/__tests__/applyCollectionFilterInMemory.test.js +33 -0
  433. package/build/utils/__tests__/applyCollectionFilterInMemory.test.js.map +1 -0
  434. package/build/utils/__tests__/decodeObjectQueryParams.test.d.ts +2 -0
  435. package/build/utils/__tests__/decodeObjectQueryParams.test.d.ts.map +1 -0
  436. package/build/utils/__tests__/decodeObjectQueryParams.test.js +118 -0
  437. package/build/utils/__tests__/decodeObjectQueryParams.test.js.map +1 -0
  438. package/build/utils/index.d.ts +26 -34
  439. package/build/utils/index.d.ts.map +1 -1
  440. package/build/utils/index.js +159 -170
  441. package/build/utils/index.js.map +1 -1
  442. package/package.json +31 -11
  443. package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts +0 -1
  444. package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts.map +0 -1
  445. package/build/adapters/cache/memory/__tests__/memoryCache.test.js +0 -6
  446. package/build/adapters/cache/memory/__tests__/memoryCache.test.js.map +0 -1
  447. package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts +0 -1
  448. package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts.map +0 -1
  449. package/build/adapters/database/memory/__tests__/memoryDb.test.js +0 -36
  450. package/build/adapters/database/memory/__tests__/memoryDb.test.js.map +0 -1
  451. package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts +0 -2
  452. package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts.map +0 -1
  453. package/build/ports/endpoints/__tests__/endpointsCall.test.js +0 -21
  454. package/build/ports/endpoints/__tests__/endpointsCall.test.js.map +0 -1
  455. package/build/ports/endpoints/__tests__/test-client-library/base.d.ts +0 -77
  456. package/build/ports/endpoints/__tests__/test-client-library/base.d.ts.map +0 -1
  457. package/build/ports/endpoints/__tests__/test-client-library/base.js +0 -91
  458. package/build/ports/endpoints/__tests__/test-client-library/base.js.map +0 -1
  459. package/build/ports/endpoints/__tests__/test-client-library/index.d.ts +0 -29
  460. package/build/ports/endpoints/__tests__/test-client-library/index.d.ts.map +0 -1
  461. package/build/ports/endpoints/__tests__/test-client-library/index.js +0 -43
  462. package/build/ports/endpoints/__tests__/test-client-library/index.js.map +0 -1
  463. package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts +0 -106
  464. package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts.map +0 -1
  465. package/build/ports/endpoints/__tests__/test-client-library/services/service.js +0 -62
  466. package/build/ports/endpoints/__tests__/test-client-library/services/service.js.map +0 -1
  467. package/build/ports/endpoints/__tests__/utils.test.d.ts +0 -1
  468. package/build/ports/endpoints/__tests__/utils.test.d.ts.map +0 -1
  469. package/build/ports/endpoints/__tests__/utils.test.js +0 -53
  470. package/build/ports/endpoints/__tests__/utils.test.js.map +0 -1
  471. package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts +0 -2
  472. package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts.map +0 -1
  473. package/build/ports/eventsourcing/__tests__/eventhandlers.test.js +0 -35
  474. package/build/ports/eventsourcing/__tests__/eventhandlers.test.js.map +0 -1
  475. package/build/ports/eventsourcing/__tests__/invariants.test.d.ts +0 -2
  476. package/build/ports/eventsourcing/__tests__/invariants.test.d.ts.map +0 -1
  477. package/build/ports/eventsourcing/__tests__/invariants.test.js +0 -210
  478. package/build/ports/eventsourcing/__tests__/invariants.test.js.map +0 -1
  479. package/build/ports/eventsourcing/commandHandlers/index.d.ts +0 -25
  480. package/build/ports/eventsourcing/commandHandlers/index.d.ts.map +0 -1
  481. package/build/ports/eventsourcing/commandHandlers/index.js +0 -392
  482. package/build/ports/eventsourcing/commandHandlers/index.js.map +0 -1
  483. package/build/ports/eventsourcing/commandTemplates/index.d.ts.map +0 -1
  484. package/build/ports/eventsourcing/commandTemplates/index.js.map +0 -1
  485. package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts +0 -4
  486. package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts.map +0 -1
  487. package/build/ports/eventsourcing/commandTemplates/multiStream.js +0 -73
  488. package/build/ports/eventsourcing/commandTemplates/multiStream.js.map +0 -1
  489. package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts +0 -9
  490. package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts.map +0 -1
  491. package/build/ports/eventsourcing/commandTemplates/snapshot.js +0 -39
  492. package/build/ports/eventsourcing/commandTemplates/snapshot.js.map +0 -1
  493. package/build/ports/eventsourcing/eventHandlers/index.d.ts +0 -33
  494. package/build/ports/eventsourcing/eventHandlers/index.d.ts.map +0 -1
  495. package/build/ports/eventsourcing/eventHandlers/index.js +0 -276
  496. package/build/ports/eventsourcing/eventHandlers/index.js.map +0 -1
  497. package/build/ports/eventsourcing/index.d.ts +0 -9
  498. package/build/ports/eventsourcing/index.d.ts.map +0 -1
  499. package/build/ports/eventsourcing/invariants/combinators.d.ts +0 -4
  500. package/build/ports/eventsourcing/invariants/combinators.d.ts.map +0 -1
  501. package/build/ports/eventsourcing/invariants/combinators.js.map +0 -1
  502. package/build/ports/eventsourcing/invariants/common.d.ts +0 -10
  503. package/build/ports/eventsourcing/invariants/common.d.ts.map +0 -1
  504. package/build/ports/eventsourcing/invariants/common.js +0 -37
  505. package/build/ports/eventsourcing/invariants/common.js.map +0 -1
  506. package/build/ports/eventsourcing/invariants/comparisons.d.ts +0 -19
  507. package/build/ports/eventsourcing/invariants/comparisons.d.ts.map +0 -1
  508. package/build/ports/eventsourcing/invariants/comparisons.js +0 -83
  509. package/build/ports/eventsourcing/invariants/comparisons.js.map +0 -1
  510. package/build/ports/eventsourcing/invariants/index.d.ts +0 -5
  511. package/build/ports/eventsourcing/invariants/index.d.ts.map +0 -1
  512. package/build/ports/eventsourcing/invariants/index.js +0 -21
  513. package/build/ports/eventsourcing/invariants/index.js.map +0 -1
  514. package/build/ports/eventsourcing/invariants/stateExistance.d.ts +0 -4
  515. package/build/ports/eventsourcing/invariants/stateExistance.d.ts.map +0 -1
  516. package/build/ports/eventsourcing/invariants/stateExistance.js +0 -33
  517. package/build/ports/eventsourcing/invariants/stateExistance.js.map +0 -1
  518. package/build/ports/eventsourcing/subscriptions/index.d.ts.map +0 -1
  519. package/build/ports/eventsourcing/subscriptions/index.js.map +0 -1
  520. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts +0 -3
  521. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +0 -1
  522. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js +0 -81
  523. package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js.map +0 -1
  524. package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts +0 -4
  525. package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts.map +0 -1
  526. package/build/ports/eventsourcing/utils/aggregateBuilder.js.map +0 -1
  527. package/build/ports/eventsourcing/utils/commandBuilder.d.ts +0 -3
  528. package/build/ports/eventsourcing/utils/commandBuilder.d.ts.map +0 -1
  529. package/build/ports/eventsourcing/utils/commandBuilder.js.map +0 -1
  530. package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts.map +0 -1
  531. package/build/ports/eventsourcing/utils/eventHandlerBuilder.js.map +0 -1
  532. package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts +0 -4
  533. package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts.map +0 -1
  534. package/build/ports/eventsourcing/utils/externalSystemBuilder.js +0 -34
  535. package/build/ports/eventsourcing/utils/externalSystemBuilder.js.map +0 -1
  536. package/build/ports/eventsourcing/utils/index.d.ts +0 -13
  537. package/build/ports/eventsourcing/utils/index.d.ts.map +0 -1
  538. package/build/ports/eventsourcing/utils/index.js +0 -45
  539. package/build/ports/eventsourcing/utils/index.js.map +0 -1
  540. package/build/ports/eventsourcing/utils/policyBuilder.d.ts +0 -3
  541. package/build/ports/eventsourcing/utils/policyBuilder.d.ts.map +0 -1
  542. package/build/ports/eventsourcing/utils/policyBuilder.js +0 -29
  543. package/build/ports/eventsourcing/utils/policyBuilder.js.map +0 -1
  544. package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts +0 -5
  545. package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts.map +0 -1
  546. package/build/ports/eventsourcing/utils/readmodelBuilder.js +0 -45
  547. package/build/ports/eventsourcing/utils/readmodelBuilder.js.map +0 -1
  548. package/build/ports/infrastructure/__tests__/fixture/index.d.ts +0 -3
  549. package/build/ports/infrastructure/__tests__/fixture/index.d.ts.map +0 -1
  550. package/build/ports/infrastructure/__tests__/fixture/index.js +0 -19
  551. package/build/ports/infrastructure/__tests__/fixture/index.js.map +0 -1
  552. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts +0 -19
  553. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts.map +0 -1
  554. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js +0 -76
  555. package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js.map +0 -1
  556. package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts +0 -177
  557. package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts.map +0 -1
  558. package/build/ports/infrastructure/__tests__/fixture/structureState.js +0 -258
  559. package/build/ports/infrastructure/__tests__/fixture/structureState.js.map +0 -1
  560. package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts +0 -2
  561. package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts.map +0 -1
  562. package/build/ports/infrastructure/__tests__/infrastructure.test.js +0 -11
  563. package/build/ports/infrastructure/__tests__/infrastructure.test.js.map +0 -1
  564. package/src/adapters/cache/index.ts +0 -1
  565. package/src/adapters/cache/memory/__tests__/memoryCache.test.ts +0 -6
  566. package/src/adapters/cache/memory/index.ts +0 -142
  567. package/src/adapters/configuration/__tests__/.env +0 -4
  568. package/src/adapters/configuration/__tests__/dotEnv.test.ts +0 -38
  569. package/src/adapters/configuration/dotEnv.ts +0 -33
  570. package/src/adapters/configuration/index.ts +0 -1
  571. package/src/adapters/database/index.ts +0 -1
  572. package/src/adapters/database/memory/__tests__/memoryDb.test.ts +0 -37
  573. package/src/adapters/database/memory/index.ts +0 -279
  574. package/src/adapters/endpoints/addAuthUser/index.ts +0 -55
  575. package/src/adapters/endpoints/endpointValidation/index.ts +0 -26
  576. package/src/adapters/endpoints/index.ts +0 -4
  577. package/src/adapters/endpoints/localAuthorization/index.ts +0 -75
  578. package/src/adapters/endpoints/tcpConsumer/index.ts +0 -69
  579. package/src/adapters/endpoints/userSession/index.ts +0 -40
  580. package/src/adapters/eventstore/database.ts +0 -178
  581. package/src/adapters/eventstore/index.ts +0 -1
  582. package/src/adapters/infrastructure/index.ts +0 -1
  583. package/src/adapters/infrastructure/local/index.ts +0 -40
  584. package/src/adapters/logger/console.ts +0 -42
  585. package/src/adapters/logger/index.ts +0 -1
  586. package/src/index.ts +0 -25
  587. package/src/libraries/modules/fs.ts +0 -88
  588. package/src/libraries/modules/index.ts +0 -1
  589. package/src/libraries/openApi/index.ts +0 -1
  590. package/src/libraries/openApi/pruneUnusedRef.ts +0 -35
  591. package/src/libraries/tcp/index.ts +0 -98
  592. package/src/libraries/tcp/types.ts +0 -43
  593. package/src/libraries/validation/__tests__/validation.test.ts +0 -25
  594. package/src/libraries/validation/index.ts +0 -48
  595. package/src/ports/authentication/index.ts +0 -25
  596. package/src/ports/base.ts +0 -20
  597. package/src/ports/cache/index.ts +0 -17
  598. package/src/ports/configuration/__tests__/configurationPort.test.ts +0 -47
  599. package/src/ports/configuration/args.ts +0 -39
  600. package/src/ports/configuration/common.ts +0 -12
  601. package/src/ports/configuration/index.ts +0 -110
  602. package/src/ports/configuration/localConfig.ts +0 -117
  603. package/src/ports/database/index.ts +0 -25
  604. package/src/ports/endpoints/__tests__/endpointsCall.test.ts +0 -20
  605. package/src/ports/endpoints/__tests__/test-client-library/base.ts +0 -167
  606. package/src/ports/endpoints/__tests__/test-client-library/index.ts +0 -23
  607. package/src/ports/endpoints/__tests__/test-client-library/services/service.ts +0 -181
  608. package/src/ports/endpoints/__tests__/utils.test.ts +0 -54
  609. package/src/ports/endpoints/index.ts +0 -272
  610. package/src/ports/endpoints/openApi.ts +0 -191
  611. package/src/ports/endpoints/utils.ts +0 -31
  612. package/src/ports/eventsourcing/__tests__/eventhandlers.test.ts +0 -30
  613. package/src/ports/eventsourcing/__tests__/invariants.test.ts +0 -213
  614. package/src/ports/eventsourcing/commandHandlers/index.ts +0 -625
  615. package/src/ports/eventsourcing/commandTemplates/index.ts +0 -2
  616. package/src/ports/eventsourcing/commandTemplates/multiStream.ts +0 -70
  617. package/src/ports/eventsourcing/commandTemplates/snapshot.ts +0 -43
  618. package/src/ports/eventsourcing/eventHandlers/index.ts +0 -429
  619. package/src/ports/eventsourcing/index.ts +0 -98
  620. package/src/ports/eventsourcing/invariants/combinators.ts +0 -25
  621. package/src/ports/eventsourcing/invariants/common.ts +0 -42
  622. package/src/ports/eventsourcing/invariants/comparisons.ts +0 -90
  623. package/src/ports/eventsourcing/invariants/index.ts +0 -4
  624. package/src/ports/eventsourcing/invariants/stateExistance.ts +0 -34
  625. package/src/ports/eventsourcing/subscriptions/index.ts +0 -1
  626. package/src/ports/eventsourcing/subscriptions/sseSubscriptions.ts +0 -103
  627. package/src/ports/eventsourcing/utils/aggregateBuilder.ts +0 -49
  628. package/src/ports/eventsourcing/utils/commandBuilder.ts +0 -113
  629. package/src/ports/eventsourcing/utils/eventHandlerBuilder.ts +0 -22
  630. package/src/ports/eventsourcing/utils/externalSystemBuilder.ts +0 -42
  631. package/src/ports/eventsourcing/utils/index.ts +0 -25
  632. package/src/ports/eventsourcing/utils/policyBuilder.ts +0 -31
  633. package/src/ports/eventsourcing/utils/readmodelBuilder.ts +0 -52
  634. package/src/ports/eventstore/index.ts +0 -11
  635. package/src/ports/infrastructure/__tests__/fixture/index.ts +0 -2
  636. package/src/ports/infrastructure/__tests__/fixture/infrastructureServices.ts +0 -72
  637. package/src/ports/infrastructure/__tests__/fixture/structureState.ts +0 -254
  638. package/src/ports/infrastructure/__tests__/infrastructure.test.ts +0 -11
  639. package/src/ports/infrastructure/index.ts +0 -162
  640. package/src/ports/infrastructure/utils.ts +0 -130
  641. package/src/ports/logger/index.ts +0 -34
  642. package/src/utils/index.ts +0 -186
  643. package/tsconfig.json +0 -19
  644. /package/build/{ports → libraries}/eventsourcing/commandTemplates/index.d.ts +0 -0
  645. /package/build/{ports → libraries}/eventsourcing/commandTemplates/index.js +0 -0
  646. /package/build/{ports → libraries}/eventsourcing/subscriptions/index.d.ts +0 -0
  647. /package/build/{ports → libraries}/eventsourcing/subscriptions/index.js +0 -0
  648. /package/build/{ports → libraries}/eventsourcing/utils/eventHandlerBuilder.js +0 -0
@@ -1,178 +0,0 @@
1
- import { ensureArray, map, reduce } from '@bett3r-dev/bett3r-utils';
2
- import { CollectionFilter, CollectionSort, CommittedEvent, DatabasePort, DatabaseTransaction, EventStoreAdapter, EventStoreConfig, EventToCommit, LoggerPort, ReadMultipleStreamOptions, ReadStreamOptions } from '@bett3r-dev/pv3-types';
3
- import { always, clone, flatten, path, pathOr } from 'ramda';
4
- import { ConcurrencyError, createError, dieOnError } from '../..';
5
- import { createPort } from '../../ports/base';
6
-
7
- export const DatabaseEventstore = ( config: EventStoreConfig, loggerPort: LoggerPort, database: DatabasePort ): EventStoreAdapter => {
8
- const logger = loggerPort.createLoggerInstance( 'eventstore' );
9
- const collection = config.collection || 'eventstore';
10
-
11
- if ( config.enabled !== false )
12
- database.onStarted(() => {
13
- const eventstoreCollection = database.getCollection<CommittedEvent>( collection );
14
- Promise.resolve()
15
- .then(() => eventstoreCollection.ensureIndex([ 'stream', 'version' ], { isUnique: true }))
16
- .then(() => eventstoreCollection.ensureIndex(['id'], { isUnique: true }))
17
- .then(() => eventstoreCollection.ensureIndex(['name']))
18
- .then(() => eventstoreCollection.ensureIndex(['metadata.correlationId']))
19
- .then(() => {
20
- eventstorePort.isStarted = true;
21
- eventstorePort.emitter.emit( 'started' );
22
- })
23
- .catch( dieOnError( logger ));
24
- });
25
-
26
- const getNextEventPosition = () =>
27
- database.getCollection( '__counters' ).atomicIncrement( 'eventPosition', { field: 'eventStore', op:'eq', value: collection });
28
-
29
- const createEventToCommit = ( stream: string, actualVersion: number )=> ({ name, data, metadata, stream: eventCommit }: EventToCommit, index: number ): Promise<CommittedEvent> => {
30
- return getNextEventPosition()
31
- .then(( commit = 1 ) => ({
32
- id: commit,
33
- name,
34
- version: actualVersion + index + 1,
35
- timestamp: new Date().toISOString(),
36
- data,
37
- stream: eventCommit || stream,
38
- metadata: {
39
- ...metadata,
40
- }
41
- }));
42
- };
43
-
44
- const validateExpectedVersion = ( expectedVersion?: number ) => ( actualVersion: number ) => {
45
- if ( expectedVersion === undefined || expectedVersion === actualVersion )
46
- return Promise.resolve( actualVersion );
47
- else
48
- return Promise.reject( createError( ConcurrencyError(), {
49
- details:{
50
- expectedVersion: expectedVersion.toString(),
51
- actualVersion: actualVersion.toString()
52
- }
53
- }));
54
- };
55
-
56
- const ensureNumber = ( value: string ) => value ? Number( value ) : 0;
57
-
58
- const extractAndValidateExpectedVersion = ( expectedVersion: number | undefined ) => ( event: CommittedEvent ) => {
59
- return Promise.resolve( event )
60
- .then( pathOr( '0', ['version']))
61
- .then( ensureNumber )
62
- .then( validateExpectedVersion( expectedVersion ));
63
- };
64
-
65
- const appendToStream = <Type>(
66
- stream: string,
67
- events: EventToCommit|EventToCommit[],
68
- expectedVersion?: number,
69
- transaction?: DatabaseTransaction
70
- ): Promise<CommittedEvent<Type>[]> =>{
71
- const eventstoreCollection = transaction ? transaction.getCollection<CommittedEvent>( collection ) : database.getCollection<CommittedEvent>( collection );
72
- return eventstoreCollection
73
- .query({ filter:[{ field:'stream', op:'eq', value: stream }], sort:[{ field: 'version', direction:'desc' }], limit:1, select:['version']})
74
- .then( path(['0']))
75
- .then( extractAndValidateExpectedVersion( expectedVersion ))
76
- .then(( actualVersion )=> map( createEventToCommit( stream, actualVersion ), ensureArray( events )) as unknown as Promise<CommittedEvent>[])
77
- .then<CommittedEvent[]>(( promises ) => Promise.all( promises ))
78
- .then(( events: CommittedEvent[]) => eventstoreCollection.createMany( clone( events )).then( always( events )));
79
- };
80
-
81
- const appendToMultipleStreams = <Type>(
82
- streams: Record<string, {
83
- events: EventToCommit|EventToCommit[]
84
- expectedVersion?: number,
85
- }>,
86
- // transaction?: DatabaseTransaction
87
- ): Promise<CommittedEvent<Type>[]> =>{
88
- return database.initTransaction(( getCollection ) => {
89
- const eventstoreCollection = getCollection<CommittedEvent>( collection );
90
- return Promise.all( Object.keys( streams ).map(( stream ) => {
91
- return eventstoreCollection
92
- .query({ filter:[{ field:'stream', op:'eq', value: stream }], sort:[{ field: 'version', direction:'desc' }], limit:1, select:[ 'stream','version' ]});
93
- }))
94
- .then( flatten )
95
- .then( reduce(( promise, e )=>{
96
- return Promise.resolve( e )
97
- .then( extractAndValidateExpectedVersion( streams[e.stream].expectedVersion ))
98
- .then( actualVersion => Promise.all([ promise, actualVersion ]))
99
- .then(([ state, actualVersion ]) => {
100
- state[e.stream] = actualVersion;
101
- return state;
102
- });
103
- }, Promise.resolve({})))
104
- .then(( actualVersions )=> {
105
- return Object.keys( streams ).map(( stream ) => {
106
- return map( createEventToCommit( stream, actualVersions[stream]), ensureArray( streams[stream].events ));
107
- }).flat();
108
- })
109
- .then<CommittedEvent[]>(( promises ) => Promise.all( promises ))
110
- .then(( events: CommittedEvent[]) => eventstoreCollection.createMany( clone( events )).then( always( events )));
111
- });
112
- };
113
- const readStream = async <ReducedModel=any>( readOptions: ReadStreamOptions, callback: ( event: CommittedEvent, stop: () => void ) => Partial<ReducedModel> | Promise<Partial<ReducedModel>> ): Promise<ReducedModel> => {
114
- const eventstoreCollection = database.getCollection<CommittedEvent>( collection );
115
- const filter: CollectionFilter<CommittedEvent>[] = [];
116
- if ( readOptions.stream )
117
- filter.push({ field:'stream', op:'eq', value: readOptions.stream } as CollectionFilter<CommittedEvent> );
118
- if ( readOptions.fromVersion )
119
- filter.push({ field:'version', op:'gt', value: readOptions.fromVersion } as CollectionFilter<CommittedEvent> );
120
- const sort = ( readOptions.direction === 'backwards' ? [{ field: 'id', direction:'desc' }] : [{ field: 'id', direction:'asc' }]) as CollectionSort<CommittedEvent>[];
121
- let result: Partial<ReducedModel>;
122
- await eventstoreCollection.forEach({
123
- limit: readOptions.limit,
124
- after: readOptions.from,
125
- filter,
126
- sort,
127
- }, async ( record: CommittedEvent, stop ) => {
128
- result = await callback( record, stop );
129
- });
130
- return result! as ReducedModel;
131
- };
132
-
133
- const readMultipleStream = async <Model=unknown>( readOptions: ReadMultipleStreamOptions, callback: ( event: CommittedEvent, stop: () => void ) => Record<string,Partial<Model>> | Promise<Record<string,Partial<Model>>> ): Promise<Record<string, Model>> => {
134
- const eventstoreCollection = database.getCollection<CommittedEvent>( collection );
135
- const filter = readOptions.streams ? [{ field:'stream', op:'in', value: readOptions.streams } as CollectionFilter<CommittedEvent>] : undefined;
136
- const sort = ( readOptions.direction === 'backwards' ? [{ field: 'id', direction:'desc' }] : [{ field: 'id', direction:'asc' }]) as CollectionSort<CommittedEvent>[];
137
- let result: Record<string,Partial<Model>>;
138
- await eventstoreCollection.forEach({
139
- limit: readOptions.limit,
140
- after: readOptions.from,
141
- filter,
142
- sort,
143
- }, async ( record: CommittedEvent, stop ) => {
144
- result = await callback( record, stop );
145
- });
146
- return result! as Record<string,Model>;
147
- };
148
-
149
- const flush = async () => {
150
- if ( process.env.NODE_ENV !== 'production' ){
151
- const eventstoreCollection = database.getCollection<CommittedEvent>( collection );
152
- await eventstoreCollection.destroyMany([]);
153
- const countersCollection = database.getCollection<CommittedEvent>( '__counters' );
154
- await countersCollection.destroyMany([]);
155
- }
156
- };
157
-
158
- const subscribe = ( onEvent: ( event: CommittedEvent ) => void, onError?: ( e: Error ) => void ) => {
159
- return database.getCollection<CommittedEvent>( collection ).watch(['insert'], ( data ) => {
160
- onEvent( data.data! );
161
- }, onError );
162
- };
163
-
164
- const eventstorePort = createPort({
165
- name: 'database',
166
- appendToStream,
167
- appendToMultipleStreams,
168
- readStream,
169
- readMultipleStream,
170
- subscribe,
171
- flush,
172
- start: async () => {},
173
- stop: async () => {},
174
- _adapter: () => database
175
- });
176
-
177
- return eventstorePort;
178
- };
@@ -1 +0,0 @@
1
- export * from './database';
@@ -1 +0,0 @@
1
- export * from './local';
@@ -1,40 +0,0 @@
1
- import { Ports } from '@bett3r-dev/pv3-types';
2
- import { EnvironmentServiceType, InfrastructureAdapterType } from '@bett3r-dev/pv3-types';
3
- import { getThisServiceIps } from '../../../ports/infrastructure/utils';
4
- import { HttpConfigSchema } from '@bett3r-dev/pv3-types';
5
-
6
- export const LocalInfrastructure = ( ports: Pick<Ports, 'configuration'|'endpoints'> ): InfrastructureAdapterType => {
7
- const start = async () => {};
8
- let { config } = ports.configuration.getModuleConfig( 'http', HttpConfigSchema );
9
-
10
- const getServices = async (): Promise<EnvironmentServiceType[]> => {
11
- const ips = getThisServiceIps();
12
- return [
13
- {
14
- openApi: ports.endpoints.getOpenApiSpec(),
15
- // FIXME: Hard coded
16
- openApiEndpoint: '/documentation/json',
17
- service: ips[0],
18
- instances: [{ host: ips[0], timeRunning: 0 }],
19
- port: Number( config.port ),
20
- }
21
- ];
22
- };
23
-
24
- const listenForInfrastructureChanges = () => {};
25
-
26
- const reloadLoadBalancer = async () => {};
27
-
28
- const stop = async () => {};
29
-
30
- return {
31
- _adapter: () => {},
32
- name: 'local-environment',
33
- scaleService: async () => {},
34
- reloadLoadBalancer,
35
- start,
36
- stop,
37
- getServices,
38
- listenForInfrastructureChanges,
39
- };
40
- };
@@ -1,42 +0,0 @@
1
- import { compose, prepend } from 'ramda';
2
- import { LoggerAdapter } from '@bett3r-dev/pv3-types';
3
-
4
- export const ConsoleLogger = (): LoggerAdapter => {
5
- const consoleLog = ( args: string[], level: string ) => {
6
- level = level === 'silly' ? 'debug' : level;
7
- console[level]( ...args );
8
- };
9
-
10
- function formatLogDateTime( date ) {
11
- const timeMethods = [
12
- 'getHours',
13
- 'getMinutes',
14
- 'getSeconds',
15
- ];
16
- if ( typeof date === 'string' ) date = +date;
17
- date = new Date( date );
18
- const str = `${date.toLocaleDateString()} ${timeMethods.map( m=>date[m]().toString().padStart( 2, '0' )).join( ':' )}.${date.getMilliseconds().toString().padStart( 3,'0' )}`;
19
- return str;
20
- }
21
-
22
- const formatArgs = ( originalArgs: any[], level: string, module: string ): string[] => {
23
- const timestamp = formatLogDateTime( new Date());
24
- return compose(
25
- prepend( `[${level}]` ),
26
- prepend( `[${module}]` ),
27
- prepend( `[${timestamp }]` ),
28
- )([...originalArgs]) as string[];
29
- };
30
-
31
- const log = ( originalArgs: any[], level: string, module: string ) => {
32
- consoleLog( formatArgs( originalArgs, level, module ), level );
33
- };
34
-
35
- return {
36
- _adapter: () => {},
37
- start: async()=>{},
38
- stop: async()=>{},
39
- name: 'console',
40
- log
41
- };
42
- };
@@ -1 +0,0 @@
1
- export * from './console';
package/src/index.ts DELETED
@@ -1,25 +0,0 @@
1
- export * from './ports/authentication';
2
- export * from './ports/base';
3
- export * from './ports/cache';
4
- export * from './ports/configuration';
5
- export * from './ports/database';
6
- export * from './ports/endpoints';
7
- export * from './ports/eventsourcing';
8
- export * from './ports/eventstore';
9
- export * from './ports/logger';
10
- export * from './ports/infrastructure';
11
-
12
- export * from './adapters/cache';
13
- export * from './adapters/configuration';
14
- export * from './adapters/database';
15
- export * from './adapters/endpoints';
16
- export * from './adapters/logger';
17
- export * from './adapters/eventstore';
18
- export * from './adapters/infrastructure';
19
-
20
- export * from './libraries/tcp';
21
- export * from './libraries/validation';
22
- export * from './libraries/modules';
23
- export * from './libraries/openApi';
24
-
25
- export * from './utils';
@@ -1,88 +0,0 @@
1
- import { Ports } from '@bett3r-dev/pv3-types';
2
- import fs from 'fs/promises';
3
- import path from 'path';
4
-
5
- export type LoadModuleOptions = {
6
- whiteList?: ( string|RegExp )[]
7
- blackList?: ( string|RegExp )[]
8
- }
9
-
10
- function rejectFilename( filename:string, module:string, { whiteList, blackList }: LoadModuleOptions ) {
11
- if (
12
- filename === '.git' ||
13
- filename === '.DS_Store' ||
14
- ( whiteList?.length && !whiteList?.some(( match: any ) => !match.test ? match === module : match.test( module ))) ||
15
- ( blackList?.length && blackList?.some(( match: any ) => !match.test ? match === module : match.test( module )))
16
- )
17
- return true;
18
- }
19
-
20
- const getArtifactsFromModule = async ( modulesPath:string, moduleName: string, artifactsList: string[] = []): Promise<string[]> => {
21
- const files = await fs.readdir( path.join( modulesPath, moduleName ));
22
- for ( const file of files ) {
23
- const stat = await fs.stat( path.join( modulesPath, moduleName, file ));
24
- if ( stat.isDirectory()){
25
- artifactsList = await getArtifactsFromModule( path.join( modulesPath, moduleName ), file, artifactsList );
26
- } else {
27
- if ( file.search( /\.(readmodel|aggregate|externalSystem|system|policy)\.(j|t)s/mig ) !== -1 ){
28
- artifactsList.push( file.replace( /\.(j|t)s/mig, '' ));
29
- }
30
- }
31
- }
32
- return artifactsList;
33
- };
34
-
35
- export async function loadModulesFromDirectory( modulesPath: string, options: LoadModuleOptions = {}): Promise<{modules: Record<string, {create: ( ports: Partial<Ports> ) => any}>, modulesList: Record<string,string[]>}> {
36
- const modules = await fs.readdir( modulesPath );
37
- const modulesList = modules.reduce(( acc, component ) => {
38
- acc[component] = {};
39
- return acc;
40
- }, {});
41
-
42
- // const e = Error('x');
43
- // const line = e.stack?.split('\n')[2];
44
- // // regex to extract folder name from generic line
45
- // // const line = 'at Object.routeEventHandler (/Users/tomasruiz/Documents/development/pv3/src/ports/eventsourcing/index.ts:79:40)';
46
- // //REVIEW: Esto hay que probarlo en windows
47
- // const folder = line?.match(/[\/\\].+?\.(j|t)s/g)?.[0];
48
- // if (folder){
49
- // const f = path.basename(folder);
50
- // fs.readdir(folder).then(async files => {
51
- // for (const file of files) {
52
- // const stat = await fs.stat(path.join(folder, file))
53
- // if (stat.isDirectory()){
54
-
55
- // } else {
56
- // console.log(files)
57
- // }
58
- // }
59
- // })
60
-
61
-
62
- // }
63
-
64
- // console.log('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%', e.stack);
65
-
66
-
67
- if ( options.whiteList ){
68
- const missing = options.whiteList.reduce(( errors, w ) => {
69
- !modules.some( c => RegExp( w ).test( c )) && errors.push( w );
70
- return errors;
71
- }, [] as any[]);
72
- if ( missing.length )
73
- throw Error( `Whitelisted module or pattern not found or returned 0 matches: ${missing.join( ', ' )}` );
74
- }
75
- const modulesMap: Record<string, any> = {};
76
- for ( let moduleName of modules ) {
77
- const module = path.parse( moduleName ).name;
78
- modulesList[moduleName] = await getArtifactsFromModule( modulesPath, moduleName );
79
- const filePath = `${modulesPath}/${moduleName}`;
80
- if ( rejectFilename( moduleName, module, options ))
81
- continue;
82
- else modulesMap[module] = await import( filePath );
83
- }
84
- return {
85
- modules: modulesMap,
86
- modulesList
87
- };
88
- }
@@ -1 +0,0 @@
1
- export * from './fs';
@@ -1 +0,0 @@
1
- export * from './pruneUnusedRef';
@@ -1,35 +0,0 @@
1
- import { OpenAPIV3_1 } from 'openapi-types';
2
-
3
- const collectRefs = ( obj: object, refs = new Set<string>()) => {
4
- if ( !obj || typeof obj !== 'object' ) return refs;
5
-
6
- if ( obj['$ref'] && typeof obj['$ref'] === 'string' ) {
7
- refs.add( obj['$ref']);
8
- }
9
-
10
- for ( let key in obj ) {
11
- if ( obj.hasOwnProperty( key )) {
12
- collectRefs( obj[key], refs );
13
- }
14
- }
15
-
16
- return refs;
17
- };
18
-
19
- export const pruneUnusedRefs = ( spec: OpenAPIV3_1.Document ) => {
20
- const refs = collectRefs( spec );
21
- const definedSchemas = spec.components && spec.components.schemas ? Object.keys( spec.components.schemas ) : [];
22
-
23
- const unusedSchemas = definedSchemas.filter( schema => {
24
- const ref = `#/components/schemas/${schema}`;
25
- return !refs.has( ref );
26
- });
27
-
28
- unusedSchemas.forEach( schema => {
29
- delete spec.components!.schemas![schema];
30
- });
31
-
32
- return spec;
33
- };
34
-
35
-
@@ -1,98 +0,0 @@
1
- import { LoggerPort } from '@bett3r-dev/pv3-types';
2
- import { stream } from 'flyd';
3
- import net, { Server, Socket } from 'net';
4
- import { Connections, TcpClientObject, TcpServerConnectionHandler, TcpServerObject, TcpSocket, TcpType } from './types';
5
- export * from './types';
6
-
7
- export const send = ( socket: Socket ) => ( message:string | Buffer ) => new Promise<void>(( resolve, reject ) => socket.write( message, ( err?: Error ) => err ? reject( err ) : resolve( undefined )));
8
-
9
- export const Tcp = ( loggerPort: LoggerPort ): TcpType => {
10
- const logger = loggerPort.createLoggerInstance( 'Tcp' );
11
-
12
- const createTcpServerConnectionHandler = ( idGenerator: () => string, connections: Connections ): TcpServerConnectionHandler => {
13
- const connectedStream: flyd.Stream<{socket: Socket}> = stream();
14
- const disconnectedStream: flyd.Stream<any> = stream();
15
- const dataStream: flyd.Stream<any> = stream();
16
- const errorStream: flyd.Stream<any> = stream();
17
- const handleClientTcpConnection = ( socket: TcpSocket ) => {
18
- const id = idGenerator();
19
- socket.id = id;
20
- socket.send = send( socket );
21
- socket.on( 'data', message=>dataStream({ socket, message }));
22
- socket.on( 'error', message=>errorStream({ socket, message: message.toString() }));
23
- socket.on( 'close', () => {
24
- disconnectedStream( id );
25
- delete connections[id];
26
- });
27
- connections[id] = socket;
28
- connectedStream({ socket });
29
- };
30
- const broadcast = message => Object.values( connections ).forEach(( socket: any ) => socket.write( message ));
31
-
32
- return {
33
- handleClientTcpConnection,
34
- streams: {
35
- connectedStream,
36
- disconnectedStream,
37
- dataStream,
38
- errorStream,
39
- broadcast,
40
- }
41
- };
42
- };
43
-
44
- const clientTcpConnection = ( socket: TcpSocket ): TcpClientObject => {
45
- const dataStream: flyd.Stream<any> = stream();
46
- const errorStream: flyd.Stream<any> = stream();
47
- const disconnectedStream: flyd.Stream<any> = stream();
48
- socket.send = send( socket );
49
- socket.on( 'data', message => dataStream({ socket, message }));
50
- socket.on( 'error', message => errorStream({ socket, message }));
51
- socket.on( 'close', () => { disconnectedStream( true ); disconnectedStream.end( true ); dataStream.end( true ); });
52
- return {
53
- socket,
54
- send: socket.send,
55
- dataStream,
56
- errorStream,
57
- disconnectedStream,
58
- destroy: () => !socket.destroyed ? socket.destroy() : socket
59
- };
60
- };
61
-
62
- const createTCPClient = ( tcpPort: number, tcpServerAddress: string, timeout: number = 15000 ): Promise<TcpClientObject> =>
63
- new Promise(( resolve, reject ) => {
64
- const client: TcpSocket = net.createConnection( tcpPort, tcpServerAddress, () => {
65
- clearTimeout( destroyTimeout );
66
- client.id = `${tcpServerAddress}:${tcpPort}`;
67
- const handler = clientTcpConnection( client );
68
- resolve( handler );
69
- });
70
- client.on( 'error', reject );
71
- const destroyTimeout = setTimeout(() => {
72
- client.destroy();
73
- reject( 'Connection TimedOut' );
74
- }, timeout );
75
- });
76
-
77
- const createTCPServer = ( tcpPort: number, idGenerator:() => string = () => ( Math.floor( Math.random() * 1000000 )).toString(), connections: Connections = {}) : Promise<TcpServerObject> =>
78
- new Promise(( resolve ) => {
79
- const manager: TcpServerConnectionHandler = createTcpServerConnectionHandler( idGenerator, connections );
80
- const server: Server = net.createServer( manager.handleClientTcpConnection );
81
- server.listen( tcpPort, () => {
82
- logger.log( 'TCP Server listening at tcpPort: ', tcpPort );
83
- resolve({
84
- ...manager.streams,
85
- close: () => new Promise(( resolve, reject ) => {
86
- Object.values( connections ).map(( c : TcpSocket )=>c.destroy());
87
- server.close( err => err ? reject( err ) : resolve({}));
88
- })
89
- });
90
- });
91
- });
92
-
93
-
94
- return {
95
- createTCPServer,
96
- createTCPClient
97
- };
98
- };
@@ -1,43 +0,0 @@
1
- import { Socket } from 'net';
2
- import {} from 'flyd';
3
-
4
- export type Connections = { [id:string|number] : TcpSocket }
5
-
6
- export type TcpSocket = Socket & {
7
- id?: string
8
- send?: ( message: string ) => Promise<void>
9
- }
10
-
11
- export type TcpServerConnectionStreams = {
12
- connectedStream: flyd.Stream<{socket: Socket}>,
13
- disconnectedStream: flyd.Stream<any>,
14
- dataStream: flyd.Stream<{socket: TcpSocket, message: string}>,
15
- errorStream: flyd.Stream<any>,
16
- broadcast: ( message: string ) => void,
17
- }
18
-
19
- export type TcpServerConnectionHandler = {
20
- handleClientTcpConnection: ( socket: TcpSocket ) => void,
21
- streams: TcpServerConnectionStreams
22
- }
23
-
24
- export type TcpServerObject = TcpServerConnectionStreams & {
25
- close: () => Promise<unknown>
26
- }
27
-
28
- export type TcpDataMessage = {socket: TcpSocket, message: string};
29
-
30
- export type TcpClientObject = {
31
- socket: TcpSocket,
32
- disconnectedStream: flyd.Stream<any>,
33
- dataStream: flyd.Stream<TcpDataMessage>,
34
- errorStream: flyd.Stream<any>,
35
- send?: ( message: string ) => Promise<void>
36
- destroy: ( error?: Error ) => TcpSocket
37
- }
38
-
39
-
40
- export type TcpType = {
41
- createTCPServer: ( tcpPort:number, idGenerator?: () => string, connections?: Connections ) => Promise<TcpServerObject>,
42
- createTCPClient: ( tcpPort: number, tcpServer: string, timeout?: number ) => Promise<TcpClientObject>,
43
- }
@@ -1,25 +0,0 @@
1
- import S from '@bett3r-dev/jsonschema-definer';
2
- import * as validation from '..';
3
-
4
- describe( 'validation', () => {
5
- describe( 'validateResult', () => {
6
- const schema = S.shape({
7
- string: S.string(),
8
- number: S.number()
9
- });
10
-
11
- it( 'returns the same value being validated is ok', () => {
12
- const val = validation.validateSchema( schema )({ string:'asdf', number:12 });
13
- expect( val ).toEqual({ string:'asdf', number:12 });
14
- });
15
- it( 'returns err detail if value being validated is not ok', () => {
16
- try{
17
- //@ts-ignore for testing purposes
18
- validation.validateSchema( schema )({ string:34, number:12 });
19
- } catch ( err ) {
20
- expect( err ).toBeInstanceOf( Error );
21
- expect( err.name ).toEqual( 'BadRequestError' );
22
- }
23
- });
24
- });
25
- });
@@ -1,48 +0,0 @@
1
- import { BaseSchema } from '@bett3r-dev/jsonschema-definer';
2
- import { EndpointActionParams, EndpointSchemas } from '@bett3r-dev/pv3-types';
3
- import Ajv from 'ajv';
4
- import addFormats from 'ajv-formats';
5
- import { ValidationError, createError } from '../../utils';
6
-
7
- const ajv = new Ajv({ allErrors: true, schemaId: '$id', useDefaults: true });
8
- addFormats( ajv );
9
- const schemas = new WeakMap();
10
-
11
- const getCompiledSchema = ( schema: object, coerceTypes: boolean ) => {
12
- ajv.opts.coerceTypes = coerceTypes;
13
- const compiled = schemas.get( schema );
14
- if ( !compiled ){
15
- const compiled = ajv.compile( schema );
16
- schemas.set( schema, compiled );
17
- return compiled;
18
- }
19
- return compiled;
20
- };
21
-
22
- export const validateSchema = <T>( schema: BaseSchema<T>, coerceTypes = false )=> ( value:T ): T => {
23
- const compiled = getCompiledSchema( schema.plain, coerceTypes );
24
-
25
- if ( schema === null && value !== undefined ){
26
- throw createError( ValidationError(), { description: 'Must not have body', details: [value]});
27
- }
28
- if ( !compiled( value )){
29
- throw createError( ValidationError(), { description: 'Validation Error', details: compiled.errors });
30
- }
31
- return value;
32
- };
33
-
34
- export const validateEndpoint = <B=any,Q=any,P=any>( validateSchema: <T>( schema: BaseSchema<T> ) => ( value:T ) => T, schemas?: EndpointSchemas<B,Q,P> ) => async ( epParams: EndpointActionParams<B> ): Promise<EndpointActionParams<B>> =>{
35
- const response = {
36
- ...epParams,
37
- query: schemas?.query && epParams.query ? validateSchema( schemas.query )( epParams.query ) : epParams.query,
38
- params: schemas?.params && epParams.params ? validateSchema( schemas.params )( epParams.params ) : epParams.params,
39
- body: schemas?.body && epParams.body ? validateSchema( schemas.body )( epParams.body ) : epParams.body
40
- };
41
- return response;
42
- };
43
-
44
- export function dieOnError ( logger: {error: ( err:any ) => void} = console, err?: any ) {
45
- if ( arguments.length === 1 ) return ( err: any ) => dieOnError( logger, err );
46
- logger.error( err );
47
- process.exit( 1 );
48
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * Provides the abstraction over the Authentication and Authorization functionality with an external provider like Auth0, Okta, Keycloak, etc.
4
- */
5
- import { AuthenticationAdapter, AuthenticationPort, RouteAuthManagerFactory } from '@bett3r-dev/pv3-types';
6
- import { createPort } from '../base';
7
-
8
- /**
9
- * @category Factories
10
- * @param adapter
11
- * @returns
12
- */
13
- export const Authentication = ( adapter: AuthenticationAdapter, routesAuthManager: RouteAuthManagerFactory ): AuthenticationPort => {
14
- const authentication = createPort({
15
- ...adapter,
16
- RouteManager: routesAuthManager
17
- });
18
- adapter.start()
19
- .then(() => {
20
- authentication.isStarted = true;
21
- authentication.emitter.emit( 'started' );
22
- });
23
-
24
- return authentication;
25
- };