@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,57 @@
1
+ import yargs from 'yargs';
2
+ export declare const getYargs: () => yargs.Argv<{}>;
3
+ export declare const getYargsInit: () => yargs.Argv<{
4
+ modules: (string | number)[] | undefined;
5
+ } & {
6
+ m: (string | number)[] | undefined;
7
+ } & {
8
+ admin: boolean | undefined;
9
+ } & {
10
+ s: boolean | undefined;
11
+ } & {
12
+ infrastructure: boolean | undefined;
13
+ } & {
14
+ i: boolean | undefined;
15
+ } & {
16
+ requestAuthorization: boolean | undefined;
17
+ } & {
18
+ r: boolean | undefined;
19
+ } & {
20
+ outbox: boolean | undefined;
21
+ } & {
22
+ o: boolean | undefined;
23
+ }>;
24
+ export declare const formatArgs: (config: Record<string, any>) => Promise<Omit<{
25
+ [x: string]: unknown;
26
+ modules: (string | number)[] | undefined;
27
+ m: (string | number)[] | undefined;
28
+ admin: boolean | undefined;
29
+ s: boolean | undefined;
30
+ infrastructure: boolean | undefined;
31
+ i: boolean | undefined;
32
+ requestAuthorization: boolean | undefined;
33
+ r: boolean | undefined;
34
+ outbox: boolean | undefined;
35
+ o: boolean | undefined;
36
+ _: (string | number)[];
37
+ $0: string;
38
+ }, "_" | "m" | "$0">>;
39
+ export declare const applyArgs: (config?: Record<string, any>) => Promise<{
40
+ config: any;
41
+ args: Omit<{
42
+ [x: string]: unknown;
43
+ modules: (string | number)[] | undefined;
44
+ m: (string | number)[] | undefined;
45
+ admin: boolean | undefined;
46
+ s: boolean | undefined;
47
+ infrastructure: boolean | undefined;
48
+ i: boolean | undefined;
49
+ requestAuthorization: boolean | undefined;
50
+ r: boolean | undefined;
51
+ outbox: boolean | undefined;
52
+ o: boolean | undefined;
53
+ _: (string | number)[];
54
+ $0: string;
55
+ }, "_" | "m" | "$0">;
56
+ }>;
57
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/ports/configuration/args.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,QAAQ,sBAAc,CAAC;AAEpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;EAiBwC,CAAC;AAGlE,eAAO,MAAM,UAAU,WAAiB,OAAO,MAAM,EAAC,GAAG,CAAC;;;;;;;;;;;;;;qBAIzD,CAAC;AAEF,eAAO,MAAM,SAAS,YAAmB,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;EAM3D,CAAC"}
@@ -0,0 +1,44 @@
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.applyArgs = exports.formatArgs = exports.getYargsInit = exports.getYargs = void 0;
7
+ const ramda_1 = require("ramda");
8
+ const yargs_1 = __importDefault(require("yargs"));
9
+ const common_1 = require("./common");
10
+ const getYargs = () => yargs_1.default;
11
+ exports.getYargs = getYargs;
12
+ const getYargsInit = () => yargs_1.default
13
+ .config()
14
+ .usage('Usage: $0 [Commands | Options]')
15
+ .help('h')
16
+ .alias('h', 'help')
17
+ .array('modules')
18
+ .alias('modules', 'm')
19
+ .boolean('admin')
20
+ .alias('admin', 's')
21
+ .boolean('infrastructure')
22
+ .alias('infrastructure', 'i')
23
+ .boolean('requestAuthorization')
24
+ .alias('requestAuthorization', 'r')
25
+ .boolean('outbox')
26
+ .alias('outbox', 'o')
27
+ .describe('modules', 'Modules to load')
28
+ .epilog(`copyright bett3r.dev ${new Date().getFullYear()}`);
29
+ exports.getYargsInit = getYargsInit;
30
+ const formatArgs = async (config) => {
31
+ const y = (0, exports.getYargsInit)();
32
+ const args = await y.parseAsync();
33
+ return (0, ramda_1.omit)(['m', '$0', '_'], args);
34
+ };
35
+ exports.formatArgs = formatArgs;
36
+ const applyArgs = async (config = {}) => {
37
+ const args = await (0, exports.formatArgs)(config);
38
+ return {
39
+ config: (0, common_1.mergeConfigProperty)(config, args),
40
+ args
41
+ };
42
+ };
43
+ exports.applyArgs = applyArgs;
44
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/ports/configuration/args.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA6B;AAC7B,kDAA0B;AAC1B,qCAA+C;AAExC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,eAAK,CAAC;AAAvB,QAAA,QAAQ,YAAe;AAE7B,MAAM,YAAY,GAAG,GAAG,EAAE,CAC/B,eAAK;KACF,MAAM,EAAE;KACR,KAAK,CAAE,gCAAgC,CAAE;KACzC,IAAI,CAAE,GAAG,CAAE;KACX,KAAK,CAAE,GAAG,EAAE,MAAM,CAAE;KACpB,KAAK,CAAE,SAAS,CAAE;KAClB,KAAK,CAAE,SAAS,EAAE,GAAG,CAAE;KACvB,OAAO,CAAE,OAAO,CAAE;KAClB,KAAK,CAAE,OAAO,EAAE,GAAG,CAAE;KACrB,OAAO,CAAE,gBAAgB,CAAE;KAC3B,KAAK,CAAE,gBAAgB,EAAE,GAAG,CAAE;KAC9B,OAAO,CAAE,sBAAsB,CAAE;KACjC,KAAK,CAAE,sBAAsB,EAAE,GAAG,CAAE;KACpC,OAAO,CAAE,QAAQ,CAAE;KACnB,KAAK,CAAE,QAAQ,EAAE,GAAG,CAAE;KACtB,QAAQ,CAAE,SAAS,EAAE,iBAAiB,CAAE;KACxC,MAAM,CAAE,wBAAwB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAE,CAAC;AAjBrD,QAAA,YAAY,gBAiByC;AAG3D,MAAM,UAAU,GAAG,KAAK,EAAE,MAAyB,EAAG,EAAE;IAC7D,MAAM,CAAC,GAAG,IAAA,oBAAY,GAAE,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IAClC,OAAO,IAAA,YAAI,EAAC,CAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAC;AACzC,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB;AAEK,MAAM,SAAS,GAAG,KAAK,EAAG,SAA8B,EAAE,EAAE,EAAE;IACnE,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAU,EAAE,MAAM,CAAE,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,IAAA,4BAAmB,EAAE,MAAM,EAAE,IAAI,CAAE;QAC3C,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB"}
@@ -0,0 +1,2 @@
1
+ export declare function mergeConfigProperty(configObj: any, newConfig: any): any;
2
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/ports/configuration/common.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAE,SAAS,EAAC,GAAG,EAAE,SAAS,EAAC,GAAG,OAWhE"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeConfigProperty = void 0;
4
+ function mergeConfigProperty(configObj, newConfig) {
5
+ if (!newConfig)
6
+ return configObj;
7
+ Object.getOwnPropertyNames(newConfig).forEach((prop) => {
8
+ if (newConfig[prop] && typeof newConfig[prop] === 'object' && !Array.isArray(newConfig[prop])) {
9
+ configObj[prop] = configObj[prop] || {};
10
+ mergeConfigProperty(configObj[prop], newConfig[prop]);
11
+ }
12
+ else {
13
+ configObj[prop] = newConfig[prop];
14
+ }
15
+ });
16
+ return configObj;
17
+ }
18
+ exports.mergeConfigProperty = mergeConfigProperty;
19
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/ports/configuration/common.ts"],"names":[],"mappings":";;;AAAA,SAAgB,mBAAmB,CAAE,SAAa,EAAE,SAAa;IAC/D,IAAK,CAAC,SAAS;QAAG,OAAO,SAAS,CAAC;IACnC,MAAM,CAAC,mBAAmB,CAAE,SAAS,CAAE,CAAC,OAAO,CAAC,CAAE,IAAI,EAAG,EAAE;QACzD,IAAK,SAAS,CAAC,IAAI,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;YAC/F,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxC,mBAAmB,CAAE,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACxD;aAAK;YACJ,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;SACnC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,kDAWC"}
@@ -0,0 +1,10 @@
1
+ import { ConfigurationAdapter, ConfigurationPort } from '@bett3r-dev/pv3-types';
2
+ declare global {
3
+ namespace globalThis {
4
+ interface global {
5
+ appRoot: string;
6
+ }
7
+ }
8
+ }
9
+ export declare const Configuration: (...adapters: ConfigurationAdapter[]) => Promise<ConfigurationPort>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/configuration/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,oBAAoB,EAAE,iBAAiB,EAAqD,MAAM,uBAAuB,CAAC;AAS3K,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU,CAAC;QACnB,UAAU,MAAM;YACd,OAAO,EAAE,MAAM,CAAA;SAChB;KACF;CACF;AAUD,eAAO,MAAM,aAAa,gBAAkB,oBAAoB,EAAE,KAAG,QAAQ,iBAAiB,CA0F7F,CAAC"}
@@ -0,0 +1,96 @@
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.Configuration = void 0;
7
+ const pv3_types_1 = require("@bett3r-dev/pv3-types");
8
+ const path_1 = __importDefault(require("path"));
9
+ const ramda_1 = __importDefault(require("ramda"));
10
+ const validation_1 = require("../../libraries/validation");
11
+ const base_1 = require("../base");
12
+ const args_1 = require("./args");
13
+ const localConfig_1 = require("./localConfig");
14
+ const appRoot = process.env.APP_ROOT_DIR || global.appRoot || process.cwd() || path_1.default.dirname(require.main?.filename || '');
15
+ const Configuration = (...adapters) => {
16
+ let _config;
17
+ let _args = {};
18
+ const applyAdapters = (config) => {
19
+ return (adapters || []).reduce((success, adapter) => success.then(adapter.applyConfig), Promise.resolve(config));
20
+ };
21
+ const _getConfig = () => _config
22
+ ? Promise.resolve(_config)
23
+ : (0, localConfig_1.getProjectRootConfig)(appRoot)
24
+ .then((rootConfig) => (0, localConfig_1.getLocalConfig)(appRoot, './config', rootConfig))
25
+ .then(applyAdapters)
26
+ .then(config => _config = config);
27
+ const getModuleConfig = (configPath, schema) => {
28
+ const moduleConfig = ramda_1.default.path(configPath.split('.'), _config);
29
+ if (!moduleConfig) {
30
+ if (schema.isRequired)
31
+ throw Error(`Configuration not available for ${configPath}`);
32
+ // return { config: {} as T, onArgsApplied: () => {} };
33
+ }
34
+ let moduleConfigInstance;
35
+ try {
36
+ moduleConfigInstance = (0, validation_1.validateSchema)(schema, true)(moduleConfig || {});
37
+ }
38
+ catch (e) {
39
+ e.description = `${e.description} - configPath: ${configPath}`;
40
+ throw e;
41
+ }
42
+ return {
43
+ config: moduleConfigInstance,
44
+ onArgsApplied: (callback) => {
45
+ config.emitter.on('argsApplied', ({ config }) => {
46
+ callback(ramda_1.default.path(configPath.split('.'), config));
47
+ });
48
+ }
49
+ };
50
+ };
51
+ const applyCLIArgs = async () => {
52
+ const appliedArgs = await (0, args_1.applyArgs)(_config);
53
+ config.emitter.emit('argsApplied', appliedArgs);
54
+ _config = appliedArgs.config;
55
+ _args = appliedArgs.args;
56
+ return config;
57
+ };
58
+ const getArgs = async () => {
59
+ await applyCLIArgs();
60
+ return _args;
61
+ };
62
+ const configureCliArg = (options, yargs) => {
63
+ const args = yargs || (0, args_1.getYargs)();
64
+ args[options['type']](options['name']);
65
+ options.alias && args.alias(options['name'], options['alias']);
66
+ options.default && args.default(options['name'], options['default']);
67
+ options.description && args.describe(options['name'], options['description']);
68
+ };
69
+ const configureCliCommand = (options) => {
70
+ const args = (0, args_1.getYargs)();
71
+ args.command([options.name, options.alias || ''].filter(n => !!n), options.description || '', (yargs) => {
72
+ options.arguments && options.arguments.forEach((arg) => {
73
+ yargs.positional(arg.name, arg);
74
+ });
75
+ return yargs;
76
+ }, options.handler);
77
+ };
78
+ const config = (0, base_1.createPort)({
79
+ _getConfig: () => _config,
80
+ getModules: () => _config.modules,
81
+ getArgs,
82
+ applyArgs: applyCLIArgs,
83
+ getModuleConfig,
84
+ configureCliArg,
85
+ configureCliCommand,
86
+ emitter: new pv3_types_1.TypedEventEmitter()
87
+ });
88
+ return _getConfig()
89
+ .then((_config) => {
90
+ config.isStarted = true;
91
+ config.emitter.emit('started');
92
+ return config;
93
+ });
94
+ };
95
+ exports.Configuration = Configuration;
96
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/configuration/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const getProjectRootConfig: (appRoot: string) => Promise<any>;
2
+ export declare function getLocalConfig(appRoot: string, configFolder?: string, initialConfig?: {}, forceCreateDefaultConfigFile?: boolean): Promise<any>;
3
+ //# sourceMappingURL=localConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localConfig.d.ts","sourceRoot":"","sources":["../../../src/ports/configuration/localConfig.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,oBAAoB,YAAc,MAAM,iBASpD,CAAC;AAEF,wBAAgB,cAAc,CAAE,OAAO,EAAE,MAAM,EAAE,YAAY,SAAa,EAAE,aAAa,KAAK,EAAE,4BAA4B,UAAQ,gBA6DnI"}
@@ -0,0 +1,108 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.getLocalConfig = exports.getProjectRootConfig = void 0;
30
+ const fs_1 = __importDefault(require("fs"));
31
+ const glob = __importStar(require("glob"));
32
+ const js_yaml_1 = __importDefault(require("js-yaml"));
33
+ const path_1 = __importDefault(require("path"));
34
+ const ramda_1 = require("ramda");
35
+ const util_1 = require("util");
36
+ const common_1 = require("./common");
37
+ const environment = process.env.NODE_ENV || 'development';
38
+ const readFile = (0, util_1.promisify)(fs_1.default.readFile);
39
+ function searchFile(folder, pattern) {
40
+ const files = glob.globSync(pattern, { cwd: folder });
41
+ if (files && files.length && files[0])
42
+ return files[0];
43
+ }
44
+ const createDefaultConfigFile = (folder) => (content) => {
45
+ Promise.resolve();
46
+ return (0, util_1.promisify)(fs_1.default.writeFile)(path_1.default.join(folder, 'default.yaml'), js_yaml_1.default.dump(content, {
47
+ indent: 2,
48
+ sortKeys: true,
49
+ }))
50
+ .then((0, ramda_1.always)(content));
51
+ };
52
+ function getFileContent(fileName) {
53
+ if (['.js', '.json'].includes(path_1.default.extname(fileName))) {
54
+ return Promise.resolve(`${fileName}`).then(s => __importStar(require(s)));
55
+ }
56
+ else if (['.yaml', '.yml'].includes(path_1.default.extname(fileName))) {
57
+ return readFile(fileName, 'utf8').then((file) => js_yaml_1.default.load(file, { json: true }));
58
+ }
59
+ else {
60
+ return Promise.reject(Error(`Unkown config file type for file ${fileName}.`));
61
+ }
62
+ }
63
+ const getProjectRootConfig = (appRoot) => {
64
+ do {
65
+ appRoot = path_1.default.dirname(appRoot);
66
+ const rootProjectFolder = path_1.default.join(appRoot, '.esas.config.json');
67
+ if (fs_1.default.existsSync(rootProjectFolder)) {
68
+ return getLocalConfig(appRoot);
69
+ }
70
+ } while (appRoot !== '/');
71
+ return Promise.resolve({});
72
+ };
73
+ exports.getProjectRootConfig = getProjectRootConfig;
74
+ function getLocalConfig(appRoot, configFolder = './config', initialConfig = {}, forceCreateDefaultConfigFile = false) {
75
+ const options = {
76
+ configFolder: path_1.default.join(appRoot, configFolder),
77
+ configFilePattern: '*+(c|C)onfig.+(js|json|yaml|yml)',
78
+ };
79
+ let defaultConfigFile = searchFile(options.configFolder, 'default.+(js|json|yaml|yml)');
80
+ let defaultConfigPromise = Promise.resolve();
81
+ return (!defaultConfigFile && forceCreateDefaultConfigFile
82
+ ? defaultConfigPromise
83
+ .then(createDefaultConfigFile(path_1.default.join(appRoot, '/config')))
84
+ :
85
+ defaultConfigPromise
86
+ .then(() => !defaultConfigFile ? {} : getFileContent(path_1.default.join(options.configFolder, defaultConfigFile)))
87
+ .then((defaultConfig) => (0, common_1.mergeConfigProperty)(initialConfig, defaultConfig)))
88
+ .then(async (configObj) => {
89
+ let localConfigFile = searchFile(options.configFolder, 'local.+(js|json|yaml|yml)');
90
+ if (localConfigFile) {
91
+ localConfigFile = path_1.default.join(options.configFolder, localConfigFile);
92
+ configObj = (0, common_1.mergeConfigProperty)(configObj, await getFileContent(localConfigFile));
93
+ }
94
+ let environmentFileName = searchFile(options.configFolder, `${environment}.+(js|json|yaml|yml)`);
95
+ if (environmentFileName) {
96
+ environmentFileName = path_1.default.join(options.configFolder, environmentFileName);
97
+ configObj = (0, common_1.mergeConfigProperty)(configObj, await getFileContent(environmentFileName));
98
+ }
99
+ let environmentFileLocalName = searchFile(options.configFolder, `local-${environment}.+(js|json|yaml|yml)`);
100
+ if (environmentFileLocalName) {
101
+ environmentFileLocalName = path_1.default.join(options.configFolder, environmentFileLocalName);
102
+ configObj = (0, common_1.mergeConfigProperty)(configObj, await getFileContent(environmentFileLocalName));
103
+ }
104
+ return configObj;
105
+ });
106
+ }
107
+ exports.getLocalConfig = getLocalConfig;
108
+ //# sourceMappingURL=localConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localConfig.js","sourceRoot":"","sources":["../../../src/ports/configuration/localConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DatabaseAdapter, DatabasePort } from '@bett3r-dev/pv3-types';
2
+ export declare const DuplicatedValueInIndex: () => import("@bett3r-dev/pv3-types").AppErrorType<{}>;
3
+ export declare const Database: (adapter: DatabaseAdapter) => DatabasePort;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/database/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGtE,eAAO,MAAM,sBAAsB,wDAKjC,CAAC;AAEH,eAAO,MAAM,QAAQ,YAAc,eAAe,KAAI,YAYrD,CAAC"}
@@ -0,0 +1,27 @@
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.Database = exports.DuplicatedValueInIndex = void 0;
7
+ const utils_1 = require("../../utils");
8
+ const base_1 = require("../base");
9
+ const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
10
+ const DuplicatedValueInIndex = () => (0, utils_1.AppError)({
11
+ error: 'NotUniqueError',
12
+ description: 'Duplicated values for Index marked as Unique',
13
+ schema: jsonschema_definer_1.default.shape({}).additionalProperties(true),
14
+ type: 'ConflictError',
15
+ });
16
+ exports.DuplicatedValueInIndex = DuplicatedValueInIndex;
17
+ const Database = (adapter) => {
18
+ const database = Object.assign((0, base_1.createPort)(adapter), { _adapter: adapter });
19
+ adapter.start()
20
+ .then(() => {
21
+ database.isStarted = true;
22
+ database.emitter.emit('started');
23
+ });
24
+ return database;
25
+ };
26
+ exports.Database = Database;
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/database/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAuC;AACvC,kCAAqC;AAErC,wFAA+C;AAExC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,IAAA,gBAAQ,EAAC;IACnD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,4BAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAE,IAAI,CAAE;IAChD,IAAI,EAAE,eAAe;CACtB,CAAC,CAAC;AALU,QAAA,sBAAsB,0BAKhC;AAEI,MAAM,QAAQ,GAAG,CAAE,OAAwB,EAAiB,EAAE;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,IAAA,iBAAU,EAAE,OAAO,CAAE,EACrB,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC;IACF,OAAO,CAAC,KAAK,EAAE;SACZ,IAAI,CAAC,GAAG,EAAE;QACT,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAE,SAAS,CAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAZW,QAAA,QAAQ,YAYnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=endpointsCall.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpointsCall.test.d.ts","sourceRoot":"","sources":["../../../../src/ports/endpoints/__tests__/endpointsCall.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const pv3_1 = require("@bett3r-dev/pv3");
4
+ const index_1 = require("../index");
5
+ const test_client_library_1 = require("./test-client-library");
6
+ describe('Endpoints', () => {
7
+ let configuration;
8
+ beforeAll(async () => {
9
+ configuration = await (0, pv3_1.Configuration)();
10
+ });
11
+ it('should be defined', async () => {
12
+ const endpoints = (0, index_1.Endpoints)({ packageJson: { name: 'test', version: '3' }, configuration });
13
+ const clientLibrary = (0, test_client_library_1.create)({ baseUrl: '' }, endpoints.fetch);
14
+ const response = await clientLibrary.commands.AssignFlowGroup({
15
+ id: 'asdf',
16
+ body: {},
17
+ query: {}
18
+ });
19
+ });
20
+ });
21
+ //# sourceMappingURL=endpointsCall.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpointsCall.test.js","sourceRoot":"","sources":["../../../../src/ports/endpoints/__tests__/endpointsCall.test.ts"],"names":[],"mappings":";;AAAA,yCAAgD;AAEhD,oCAAqC;AACrC,+DAA+C;AAE/C,QAAQ,CAAE,WAAW,EAAE,GAAG,EAAE;IAC1B,IAAI,aAAgC,CAAC;IACrC,SAAS,CAAE,KAAK,IAAG,EAAE;QACnB,aAAa,GAAG,MAAM,IAAA,mBAAa,GAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,EAAE,CAAE,mBAAmB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,SAAS,GAAG,IAAA,iBAAS,EAAC,EAAE,WAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3F,MAAM,aAAa,GAAG,IAAA,4BAAM,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,KAAK,CAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC5D,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,77 @@
1
+ /** OneOf type helpers */
2
+ export type Without<T, U> = {
3
+ [P in Exclude<keyof T, keyof U>]?: never;
4
+ };
5
+ export type XOR<T, U> = (T | U) extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
6
+ export type OneOf<T extends any[]> = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR<A, B>, ...Rest]> : never;
7
+ export type BackendConfig = {
8
+ baseUrl: string;
9
+ token?: string;
10
+ };
11
+ export type EventMetadata = {
12
+ causationId?: string | undefined;
13
+ correlationId?: string | undefined;
14
+ user?: any;
15
+ };
16
+ export type CommittedEvent<Payload = any> = {
17
+ name: string;
18
+ data?: Payload;
19
+ stream: string;
20
+ metadata: EventMetadata;
21
+ id: number;
22
+ timestamp: string;
23
+ version: number;
24
+ };
25
+ export type CommandParams<Body = any> = {
26
+ id: string;
27
+ query?: {
28
+ expectedVersion?: string;
29
+ correlationId?: string;
30
+ };
31
+ body?: Body;
32
+ };
33
+ export type CommandExecutionResponse<Model = any, Event = any> = {
34
+ state?: Model;
35
+ events: CommittedEvent<Event>[];
36
+ };
37
+ export type ReadModelChange<T = any> = {
38
+ type: 'insert' | 'update' | 'delete';
39
+ data: T;
40
+ };
41
+ export type QueryParams<Query = any, Params = any> = {
42
+ query?: Partial<Query>;
43
+ };
44
+ export type FetchResponse<T = any> = Response & {
45
+ bodyParsed: T;
46
+ };
47
+ export type Document = {
48
+ id: string | number;
49
+ };
50
+ export type QueryFilter<Model extends Document = any> = {
51
+ field: keyof Model;
52
+ op: 'eq' | 'neq' | 'lt' | 'gt' | 'lte' | 'gte' | 'in' | 'nin' | 'contains' | 'notContains' | 'some' | 'every' | 'exists' | 'notExists';
53
+ value: any;
54
+ };
55
+ export type QuerySort<Model extends Document = any> = {
56
+ field: keyof Model;
57
+ direction?: 'asc' | 'desc';
58
+ };
59
+ export type ReadModelQueryBase<Model extends Document = any> = {
60
+ access_token?: string;
61
+ apikey?: string;
62
+ limit?: number;
63
+ after?: string | number;
64
+ sort?: QuerySort<Model>[];
65
+ filter?: QueryFilter<Model>[];
66
+ select?: keyof Model | (keyof Model)[];
67
+ };
68
+ export declare const parseResponseBody: (type: 'json' | 'text', response: Response, method: 'reject' | 'resolve') => Promise<void | FetchResponse>;
69
+ export declare const processFetchResponse: <T = any>(response: Response) => Promise<void | FetchResponse<T>>;
70
+ export declare const parseQueryParams: (query?: Record<string, any>) => "" | URLSearchParams;
71
+ export type Requests = ReturnType<typeof requests>;
72
+ export declare const requests: (params: BackendConfig, _fetch?: typeof fetch) => {
73
+ post: (path: string, body?: any, headers?: Record<string, string>) => Promise<any>;
74
+ get: (path: string, headers?: Record<string, string>) => Promise<any>;
75
+ subscribe: (path: string, name: string, onChange: (change: ReadModelChange) => void) => any;
76
+ };
77
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/ports/endpoints/__tests__/test-client-library/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requests = exports.parseQueryParams = exports.processFetchResponse = exports.parseResponseBody = void 0;
4
+ const parseResponseBody = (type, response, method) => {
5
+ return response[type]()
6
+ .then((bodyParsed) => {
7
+ return Promise[method](Object.assign(response, {
8
+ bodyParsed
9
+ }));
10
+ });
11
+ };
12
+ exports.parseResponseBody = parseResponseBody;
13
+ const processFetchResponse = (response) => {
14
+ if (response.ok === true)
15
+ return (0, exports.parseResponseBody)('json', response, 'resolve');
16
+ else
17
+ return (0, exports.parseResponseBody)('json', response, 'reject');
18
+ };
19
+ exports.processFetchResponse = processFetchResponse;
20
+ const processQueryPropertyMap = {
21
+ filter: (filter, params) => {
22
+ return filter.reduce((acc, filterItem) => {
23
+ acc.append('filter', `${filterItem.field},${filterItem.op},${filterItem.value}`);
24
+ return acc;
25
+ }, params);
26
+ },
27
+ sort: (sort, params) => {
28
+ return sort.reduce((acc, sortItem) => {
29
+ acc.append('sort', `${sortItem.field},${sortItem.direction || 'asc'}`);
30
+ return acc;
31
+ }, params);
32
+ }
33
+ };
34
+ const parseQueryParams = (query) => {
35
+ if (query && Object.keys(query).length) {
36
+ return Object.keys(query).reduce((acc, key) => {
37
+ if (['filter', 'sort'].includes(key)) {
38
+ return processQueryPropertyMap[key](query[key], acc);
39
+ }
40
+ else if (Array.isArray(query[key])) {
41
+ query[key].forEach((value) => acc.append(key, value));
42
+ return acc;
43
+ }
44
+ else {
45
+ acc.append(key, query[key]);
46
+ }
47
+ return acc;
48
+ }, new URLSearchParams());
49
+ }
50
+ return '';
51
+ };
52
+ exports.parseQueryParams = parseQueryParams;
53
+ const requests = (params, _fetch = fetch) => {
54
+ const defaultHeaders = {
55
+ 'Content-Type': 'application/json',
56
+ 'Authorization': `Bearer ${params.token}`
57
+ };
58
+ const post = (path, body, headers = {}) => {
59
+ return _fetch(`${params.baseUrl}${path}`, { method: 'post',
60
+ headers: { ...defaultHeaders, ...headers }, ...(body
61
+ ? { body: JSON.stringify(body) }
62
+ : {}),
63
+ })
64
+ .then(exports.processFetchResponse)
65
+ .then((response) => { return response?.bodyParsed; });
66
+ };
67
+ const get = (path, headers = {}) => {
68
+ return _fetch(`${params.baseUrl}${path}`, { method: 'get',
69
+ headers: { ...defaultHeaders, ...headers }, })
70
+ .then(exports.processFetchResponse)
71
+ .then((response) => { return response?.bodyParsed; });
72
+ };
73
+ const subscribe = (path, name, onChange) => {
74
+ console.log(`Stablishing connection with subscription ${name}...`);
75
+ const source = new EventSource(`${params.baseUrl}${path}`);
76
+ source.addEventListener('open', (e) => console.log(`Connections to the server established for subscription ${name}`), false);
77
+ source.onmessage = (e) => {
78
+ if (e.data === 'Connected')
79
+ return;
80
+ onChange(JSON.parse(e.data));
81
+ };
82
+ return source.close.bind(source);
83
+ };
84
+ return {
85
+ post,
86
+ get,
87
+ subscribe
88
+ };
89
+ };
90
+ exports.requests = requests;
91
+ //# sourceMappingURL=base.js.map