@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 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/ports/endpoints/__tests__/test-client-library/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { BackendConfig, CommandParams } from './base';
2
+ import * as service from './services/service';
3
+ export * as service from './services/service';
4
+ export { CommandParams, BackendConfig };
5
+ export declare const create: (params: BackendConfig, fetch?: any) => {
6
+ commands: {
7
+ UpsertApplication: ({ id, query, body }: CommandParams<service.UpsertApplication>) => Promise<import("./base").CommandExecutionResponse<service.ApplicationsState, service.ApplicationUpserted>>;
8
+ UpsertFlow: ({ id, query, body }: CommandParams<service.UpsertFlow>) => Promise<import("./base").CommandExecutionResponse<service.FlowGroupsState, service.FlowUpserted>>;
9
+ UpsertFlowGroup: ({ id, query, body }: CommandParams<service.UpsertFlowGroup>) => Promise<import("./base").CommandExecutionResponse<service.FlowGroupsState, service.FlowGroupUpserted>>;
10
+ UpsertFlowArtifacts: ({ id, query, body }: CommandParams<service.UpsertFlowArtifacts>) => Promise<import("./base").CommandExecutionResponse<service.FlowGroupsState, service.FlowArtifactsUpserted>>;
11
+ InitFlowTransfer: ({ id, query, body }: CommandParams<service.InitFlowTransfer>) => Promise<import("./base").CommandExecutionResponse<service.FlowGroupsState, service.FlowTransferInitiated>>;
12
+ AssignFlowGroup: ({ id, query, body }: CommandParams<service.AssignFlowGroup>) => Promise<import("./base").CommandExecutionResponse<service.FlowGroupsState, service.FlowGroupAssigned>>;
13
+ GenerateFlowCompletion: ({ id, query, body }: CommandParams<service.GenerateFlowCompletion>) => Promise<import("./base").CommandExecutionResponse<service.FlowCompletionsState, service.FlowCompletionGenerated>>;
14
+ };
15
+ queries: {
16
+ ApplicationsReadmodelById: (id: string) => Promise<service.ApplicationsReadmodel>;
17
+ ApplicationsReadmodel: ({ query }: import("./base").QueryParams<import("./base").ReadModelQueryBase<service.ApplicationsReadmodel>, service.ApplicationsReadmodelParams>) => Promise<service.ApplicationsReadmodel[]>;
18
+ FlowGroupsReadmodelById: (id: string) => Promise<service.FlowGroupsReadmodel>;
19
+ FlowGroupsReadmodel: ({ query }: import("./base").QueryParams<import("./base").ReadModelQueryBase<service.FlowGroupsReadmodel>, service.FlowGroupsReadmodelParams>) => Promise<service.FlowGroupsReadmodel[]>;
20
+ FlowsReadmodelById: (id: string) => Promise<service.FlowsReadmodel>;
21
+ FlowsReadmodel: ({ query }: import("./base").QueryParams<import("./base").ReadModelQueryBase<service.FlowsReadmodel>, service.FlowsReadmodelParams>) => Promise<service.FlowsReadmodel[]>;
22
+ };
23
+ subscriptions: {
24
+ ApplicationsReadmodel: ({ query }: import("./base").QueryParams<import("./base").ReadModelQueryBase<service.ApplicationsReadmodel>, service.ApplicationsReadmodelParams>, onChange: (change: import("./base").ReadModelChange<service.ApplicationsReadmodel>) => void) => void;
25
+ FlowGroupsReadmodel: ({ query }: import("./base").QueryParams<import("./base").ReadModelQueryBase<service.FlowGroupsReadmodel>, service.FlowGroupsReadmodelParams>, onChange: (change: import("./base").ReadModelChange<service.FlowGroupsReadmodel>) => void) => void;
26
+ FlowsReadmodel: ({ query }: import("./base").QueryParams<import("./base").ReadModelQueryBase<service.FlowsReadmodel>, service.FlowsReadmodelParams>, onChange: (change: import("./base").ReadModelChange<service.FlowsReadmodel>) => void) => void;
27
+ };
28
+ };
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ports/endpoints/__tests__/test-client-library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAY,aAAa,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAExC,eAAO,MAAM,MAAM,WAAa,aAAa,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAezD,CAAC"}
@@ -0,0 +1,43 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.create = exports.service = void 0;
27
+ const base_1 = require("./base");
28
+ const service = __importStar(require("./services/service"));
29
+ exports.service = __importStar(require("./services/service"));
30
+ const create = (params, fetch) => {
31
+ const req = (0, base_1.requests)(params, fetch);
32
+ return {
33
+ commands: {
34
+ ...service.commands(req, params),
35
+ }, queries: {
36
+ ...service.queries(req, params),
37
+ }, subscriptions: {
38
+ ...service.subscriptions(req, params),
39
+ }
40
+ };
41
+ };
42
+ exports.create = create;
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ports/endpoints/__tests__/test-client-library/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAgE;AAChE,4DAA8C;AAC9C,8DAA8C;AAKvC,MAAM,MAAM,GAAG,CAAE,MAAqB,EAAE,KAAW,EAAG,EAAE;IAC7D,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAE,MAAM,EAAE,KAAK,CAAE,CAAC;IAEtC,OAAO;QACL,QAAQ,EAAE;YACR,GAAG,OAAO,CAAC,QAAQ,CAAE,GAAG,EAAE,MAAM,CAAE;SAEnC,EAAC,OAAO,EAAE;YACT,GAAG,OAAO,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,CAAE;SAElC,EAAC,aAAa,EAAE;YACf,GAAG,OAAO,CAAC,aAAa,CAAE,GAAG,EAAE,MAAM,CAAE;SAExC;KACF,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,MAAM,UAejB"}
@@ -0,0 +1,106 @@
1
+ import { BackendConfig, CommandExecutionResponse, CommandParams, QueryParams, ReadModelChange, Requests, ReadModelQueryBase } from '../base';
2
+ export type UpsertApplication = {
3
+ [key: string]: unknown | undefined;
4
+ };
5
+ export type ApplicationUpserted = {
6
+ name: string;
7
+ description?: string;
8
+ [key: string]: unknown | undefined;
9
+ };
10
+ export type ApplicationsState = {
11
+ [key: string]: unknown | undefined;
12
+ };
13
+ export type ApplicationsReadmodel = {
14
+ id: string;
15
+ [key: string]: unknown | undefined;
16
+ };
17
+ export type UpsertFlow = {
18
+ [key: string]: unknown | undefined;
19
+ };
20
+ export type FlowUpserted = {
21
+ [key: string]: unknown | undefined;
22
+ };
23
+ export type FlowGroupsState = {
24
+ [key: string]: unknown | undefined;
25
+ };
26
+ export type UpsertFlowGroup = {
27
+ [key: string]: unknown | undefined;
28
+ };
29
+ export type FlowGroupUpserted = {
30
+ [key: string]: unknown | undefined;
31
+ };
32
+ export type UpsertFlowArtifacts = {
33
+ [key: string]: unknown | undefined;
34
+ };
35
+ export type FlowArtifactsUpserted = {
36
+ [key: string]: unknown | undefined;
37
+ };
38
+ export type InitFlowTransfer = {
39
+ [key: string]: unknown | undefined;
40
+ };
41
+ export type FlowTransferInitiated = {
42
+ [key: string]: unknown | undefined;
43
+ };
44
+ export type AssignFlowGroup = {
45
+ [key: string]: unknown | undefined;
46
+ };
47
+ export type FlowGroupAssigned = {
48
+ [key: string]: unknown | undefined;
49
+ };
50
+ export type FlowGroupsReadmodel = {
51
+ id: string;
52
+ [key: string]: unknown | undefined;
53
+ };
54
+ export type GenerateFlowCompletion = {
55
+ prompt: string;
56
+ };
57
+ export type FlowCompletionGenerated = {
58
+ prompt: string;
59
+ response: Record<string, never>;
60
+ };
61
+ export type FlowCompletionsState = ({
62
+ prompt: string;
63
+ response: Record<string, never>;
64
+ })[];
65
+ export type FlowsReadmodel = {
66
+ id: string;
67
+ [key: string]: unknown | undefined;
68
+ };
69
+ export type ApplicationsReadmodelParams = {
70
+ id: string;
71
+ };
72
+ export type ApplicationsReadmodelQuery = ReadModelQueryBase<ApplicationsReadmodel> & {};
73
+ export type FlowGroupsReadmodelParams = {
74
+ id: string;
75
+ };
76
+ export type FlowGroupsReadmodelQuery = ReadModelQueryBase<FlowGroupsReadmodel> & {};
77
+ export type FlowsReadmodelParams = {
78
+ id: string;
79
+ };
80
+ export type FlowsReadmodelQuery = ReadModelQueryBase<FlowsReadmodel> & {};
81
+ export type Commands = {
82
+ UpsertApplication: ({ id, query, body }: CommandParams<UpsertApplication>) => Promise<CommandExecutionResponse<ApplicationsState, ApplicationUpserted>>;
83
+ UpsertFlow: ({ id, query, body }: CommandParams<UpsertFlow>) => Promise<CommandExecutionResponse<FlowGroupsState, FlowUpserted>>;
84
+ UpsertFlowGroup: ({ id, query, body }: CommandParams<UpsertFlowGroup>) => Promise<CommandExecutionResponse<FlowGroupsState, FlowGroupUpserted>>;
85
+ UpsertFlowArtifacts: ({ id, query, body }: CommandParams<UpsertFlowArtifacts>) => Promise<CommandExecutionResponse<FlowGroupsState, FlowArtifactsUpserted>>;
86
+ InitFlowTransfer: ({ id, query, body }: CommandParams<InitFlowTransfer>) => Promise<CommandExecutionResponse<FlowGroupsState, FlowTransferInitiated>>;
87
+ AssignFlowGroup: ({ id, query, body }: CommandParams<AssignFlowGroup>) => Promise<CommandExecutionResponse<FlowGroupsState, FlowGroupAssigned>>;
88
+ GenerateFlowCompletion: ({ id, query, body }: CommandParams<GenerateFlowCompletion>) => Promise<CommandExecutionResponse<FlowCompletionsState, FlowCompletionGenerated>>;
89
+ };
90
+ export type Queries = {
91
+ ApplicationsReadmodelById: (id: string) => Promise<ApplicationsReadmodel>;
92
+ ApplicationsReadmodel: ({ query }: QueryParams<ApplicationsReadmodelQuery, ApplicationsReadmodelParams>) => Promise<ApplicationsReadmodel[]>;
93
+ FlowGroupsReadmodelById: (id: string) => Promise<FlowGroupsReadmodel>;
94
+ FlowGroupsReadmodel: ({ query }: QueryParams<FlowGroupsReadmodelQuery, FlowGroupsReadmodelParams>) => Promise<FlowGroupsReadmodel[]>;
95
+ FlowsReadmodelById: (id: string) => Promise<FlowsReadmodel>;
96
+ FlowsReadmodel: ({ query }: QueryParams<FlowsReadmodelQuery, FlowsReadmodelParams>) => Promise<FlowsReadmodel[]>;
97
+ };
98
+ export type Subscriptions = {
99
+ ApplicationsReadmodel: ({ query }: QueryParams<ApplicationsReadmodelQuery, ApplicationsReadmodelParams>, onChange: (change: ReadModelChange<ApplicationsReadmodel>) => void) => void;
100
+ FlowGroupsReadmodel: ({ query }: QueryParams<FlowGroupsReadmodelQuery, FlowGroupsReadmodelParams>, onChange: (change: ReadModelChange<FlowGroupsReadmodel>) => void) => void;
101
+ FlowsReadmodel: ({ query }: QueryParams<FlowsReadmodelQuery, FlowsReadmodelParams>, onChange: (change: ReadModelChange<FlowsReadmodel>) => void) => void;
102
+ };
103
+ export declare const commands: (requests: Requests, { token }: BackendConfig) => Commands;
104
+ export declare const queries: (requests: Requests, { token }: BackendConfig) => Queries;
105
+ export declare const subscriptions: (requests: Requests, { token }: BackendConfig) => Subscriptions;
106
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../../src/ports/endpoints/__tests__/test-client-library/services/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subscriptions = exports.queries = exports.commands = void 0;
4
+ const base_1 = require("../base");
5
+ const commands = (requests, { token }) => ({
6
+ UpsertApplication: ({ id, query, body }) => {
7
+ return requests.post(`/applications/${id}/upsert-application${(0, base_1.parseQueryParams)(query)}`, body);
8
+ },
9
+ UpsertFlow: ({ id, query, body }) => {
10
+ return requests.post(`/flow-groups/${id}/upsert-flow${(0, base_1.parseQueryParams)(query)}`, body);
11
+ },
12
+ UpsertFlowGroup: ({ id, query, body }) => {
13
+ return requests.post(`/flow-groups/${id}/upsert-flow-group${(0, base_1.parseQueryParams)(query)}`, body);
14
+ },
15
+ UpsertFlowArtifacts: ({ id, query, body }) => {
16
+ return requests.post(`/flow-groups/${id}/upsert-flow-artifacts${(0, base_1.parseQueryParams)(query)}`, body);
17
+ },
18
+ InitFlowTransfer: ({ id, query, body }) => {
19
+ return requests.post(`/flow-groups/${id}/init-flow-transfer${(0, base_1.parseQueryParams)(query)}`, body);
20
+ },
21
+ AssignFlowGroup: ({ id, query, body }) => {
22
+ return requests.post(`/flow-groups/${id}/assign-flow-group${(0, base_1.parseQueryParams)(query)}`, body);
23
+ },
24
+ GenerateFlowCompletion: ({ id, query, body }) => {
25
+ return requests.post(`/flow-completions/${id}/generate-flow-completion${(0, base_1.parseQueryParams)(query)}`, body);
26
+ }
27
+ });
28
+ exports.commands = commands;
29
+ const queries = (requests, { token }) => ({
30
+ ApplicationsReadmodelById: (id) => {
31
+ return requests.get(`/applications-readmodel/${id}?`);
32
+ },
33
+ ApplicationsReadmodel: ({ query }) => {
34
+ return requests.get(`/applications-readmodel/?${(0, base_1.parseQueryParams)(query)}`);
35
+ },
36
+ FlowGroupsReadmodelById: (id) => {
37
+ return requests.get(`/flow-groups-readmodel/${id}?`);
38
+ },
39
+ FlowGroupsReadmodel: ({ query }) => {
40
+ return requests.get(`/flow-groups-readmodel/?${(0, base_1.parseQueryParams)(query)}`);
41
+ },
42
+ FlowsReadmodelById: (id) => {
43
+ return requests.get(`/flows-readmodel/${id}?`);
44
+ },
45
+ FlowsReadmodel: ({ query }) => {
46
+ return requests.get(`/flows-readmodel/?${(0, base_1.parseQueryParams)(query)}`);
47
+ }
48
+ });
49
+ exports.queries = queries;
50
+ const subscriptions = (requests, { token }) => ({
51
+ ApplicationsReadmodel: ({ query }, onChange) => {
52
+ return requests.subscribe(`/applications-readmodel/?${(0, base_1.parseQueryParams)(Object.assign(query || {}, token ? { access_token: token } : {}))}`, 'ApplicationsReadmodel', onChange);
53
+ },
54
+ FlowGroupsReadmodel: ({ query }, onChange) => {
55
+ return requests.subscribe(`/flow-groups-readmodel/?${(0, base_1.parseQueryParams)(Object.assign(query || {}, token ? { access_token: token } : {}))}`, 'FlowGroupsReadmodel', onChange);
56
+ },
57
+ FlowsReadmodel: ({ query }, onChange) => {
58
+ return requests.subscribe(`/flows-readmodel/?${(0, base_1.parseQueryParams)(Object.assign(query || {}, token ? { access_token: token } : {}))}`, 'FlowsReadmodel', onChange);
59
+ }
60
+ });
61
+ exports.subscriptions = subscriptions;
62
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../../src/ports/endpoints/__tests__/test-client-library/services/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../../src/ports/endpoints/__tests__/utils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ // import { FetchResponse, processFetchResponse } from './utils';
2
+ // import { AddressInfo } from 'net';
3
+ // import fetch from 'node-fetch';
4
+ // import { createFakeServer } from './tests';
5
+ // describe( 'http', function() {
6
+ // describe('processFetchJsonResponse', function() {
7
+ // it('process the response from a fetch request when request is ok', done => {
8
+ // const server = createFakeServer({body:{ name:'tomas' }});
9
+ // fetch( `http://localhost:${(server.address() as AddressInfo).port}` )
10
+ // .then(processFetchResponse)
11
+ // .then((response: FetchResponse) => {
12
+ // assert.deepEqual( response.body, { name:'tomas' });
13
+ // server.close(() => {
14
+ // done();
15
+ // });
16
+ // }, done);
17
+ // });
18
+ // it('process the response from a fetch request when request is not ok and body is object', done => {
19
+ // const server = createFakeServer({code:400, body:{ name:'tomas' }});
20
+ // fetch( `http://localhost:${(server.address() as AddressInfo).port}` )
21
+ // .then(processFetchResponse)
22
+ // .then((response: FetchResponse) => {
23
+ // assert.deepEqual( response.body, { name:'tomas' });
24
+ // server.close(() => {
25
+ // done();
26
+ // });
27
+ // }, done);
28
+ // });
29
+ // it('process the response from a fetch request when request is not ok and body is text', done => {
30
+ // const server = createFakeServer({code:400, body:"Error"});
31
+ // fetch( `http://localhost:${(server.address() as AddressInfo).port}` )
32
+ // .then(processFetchResponse<string>)
33
+ // .then((response) => {
34
+ // assert.equal( response.body, "Error");
35
+ // server.close(() => {
36
+ // done();
37
+ // });
38
+ // }, done);
39
+ // });
40
+ // it('process the response from a fetch request when request is not ok and body is number', done => {
41
+ // const server = createFakeServer({code:400, body:234});
42
+ // fetch( `http://localhost:${(server.address() as AddressInfo).port}` )
43
+ // .then(processFetchResponse<number>)
44
+ // .then((response: FetchResponse<number>) => {
45
+ // assert.equal( response.body, 234);
46
+ // server.close(() => {
47
+ // done();
48
+ // });
49
+ // }, done);
50
+ // });
51
+ // });
52
+ // });
53
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../src/ports/endpoints/__tests__/utils.test.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,qCAAqC;AACrC,kCAAkC;AAClC,8CAA8C;AAE9C,iCAAiC;AACjC,sDAAsD;AACtD,mFAAmF;AACnF,kEAAkE;AAClE,8EAA8E;AAC9E,sCAAsC;AACtC,+CAA+C;AAC/C,gEAAgE;AAChE,iCAAiC;AACjC,sBAAsB;AACtB,gBAAgB;AAChB,qBAAqB;AACrB,UAAU;AACV,0GAA0G;AAC1G,4EAA4E;AAC5E,8EAA8E;AAC9E,sCAAsC;AACtC,+CAA+C;AAC/C,gEAAgE;AAChE,iCAAiC;AACjC,sBAAsB;AACtB,gBAAgB;AAChB,oBAAoB;AACpB,UAAU;AACV,wGAAwG;AACxG,mEAAmE;AACnE,8EAA8E;AAC9E,8CAA8C;AAC9C,gCAAgC;AAChC,mDAAmD;AACnD,iCAAiC;AACjC,sBAAsB;AACtB,gBAAgB;AAChB,oBAAoB;AACpB,UAAU;AACV,0GAA0G;AAC1G,+DAA+D;AAC/D,8EAA8E;AAC9E,8CAA8C;AAC9C,uDAAuD;AACvD,+CAA+C;AAC/C,iCAAiC;AACjC,sBAAsB;AACtB,gBAAgB;AAChB,oBAAoB;AACpB,UAAU;AACV,QAAQ;AACR,MAAM"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { ConfigurationPort, EndpointsAdapter, EndpointsPort } from '@bett3r-dev/pv3-types';
3
+ import querystring from 'querystring';
4
+ export * from './utils';
5
+ export declare const optionalParamRegexp: RegExp;
6
+ export declare const pathRegex: RegExp;
7
+ export declare const getPathInfo: (path: string) => {
8
+ original: string;
9
+ base: string;
10
+ path: string;
11
+ query: "" | querystring.ParsedUrlQuery;
12
+ } | null;
13
+ export declare const PackageJsonSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
14
+ host?: string | undefined;
15
+ version: string;
16
+ name: string;
17
+ }, true>;
18
+ export type PackageJsonType = typeof PackageJsonSchema.type;
19
+ export declare const EndpointsConfigSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
20
+ outOpenApiFileFilePath?: string | undefined;
21
+ serviceDiscoveryUrl?: string | undefined;
22
+ }, true>;
23
+ export type EndpointsConfigType = typeof EndpointsConfigSchema.type;
24
+ export declare const Endpoints: (params: {
25
+ packageJson: PackageJsonType;
26
+ configuration: ConfigurationPort;
27
+ supportedModules?: Record<string, string[]>;
28
+ }, ...adapters: EndpointsAdapter[]) => EndpointsPort;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/endpoints/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAkC,gBAAgB,EAAmC,aAAa,EAA4C,MAAM,uBAAuB,CAAC;AAMtM,OAAO,WAAW,MAAM,aAAa,CAAC;AAGtC,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,mBAAmB,QAAyB,CAAC;AAC1D,eAAO,MAAM,SAAS,QAA+C,CAAC;AAEtE,eAAO,MAAM,WAAW,SAAW,MAAM;;;;;QAQxC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;QAI5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;QAGhC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEpE,eAAO,MAAM,SAAS,WAAa;IAAC,WAAW,EAAE,eAAe,CAAC;IAAC,aAAa,EAAE,iBAAiB,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,MAAM,EAAC,MAAM,EAAE,CAAC,CAAA;CAAC,eAAe,gBAAgB,EAAE,KAAG,aAwOlL,CAAC"}
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.Endpoints = exports.EndpointsConfigSchema = exports.PackageJsonSchema = exports.getPathInfo = exports.pathRegex = exports.optionalParamRegexp = void 0;
21
+ const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
22
+ const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
23
+ const pv3_types_1 = require("@bett3r-dev/pv3-types");
24
+ const promises_1 = __importDefault(require("fs/promises"));
25
+ const node_match_path_1 = require("node-match-path");
26
+ const path_1 = __importDefault(require("path"));
27
+ const querystring_1 = __importDefault(require("querystring"));
28
+ const base_1 = require("../base");
29
+ const openApi_1 = require("./openApi");
30
+ __exportStar(require("./utils"), exports);
31
+ exports.optionalParamRegexp = /(\/:[^/()]*?)\?(\/?)/;
32
+ exports.pathRegex = /\/(.+?)($|\/$|\/?\??|\/(.+?)\/?)($|\?(.+))/;
33
+ const getPathInfo = (path) => {
34
+ const r = exports.pathRegex.exec(path);
35
+ return r && {
36
+ original: r[0],
37
+ base: r[1],
38
+ path: r[3],
39
+ query: r[5] && querystring_1.default.parse(r[5])
40
+ };
41
+ };
42
+ exports.getPathInfo = getPathInfo;
43
+ exports.PackageJsonSchema = jsonschema_definer_1.default.shape({
44
+ name: jsonschema_definer_1.default.string(),
45
+ version: jsonschema_definer_1.default.string(),
46
+ host: jsonschema_definer_1.default.string().optional()
47
+ });
48
+ exports.EndpointsConfigSchema = jsonschema_definer_1.default.shape({
49
+ outOpenApiFileFilePath: jsonschema_definer_1.default.string().optional(),
50
+ serviceDiscoveryUrl: jsonschema_definer_1.default.string().optional(),
51
+ });
52
+ const Endpoints = (params, ...adapters) => {
53
+ const { packageJson, configuration } = params;
54
+ const { config: { outOpenApiFileFilePath, serviceDiscoveryUrl } } = configuration.getModuleConfig('endpoints', exports.EndpointsConfigSchema.optional());
55
+ const openApiTags = new Set();
56
+ let servicesDirectory = {};
57
+ let openApiDocument;
58
+ let paths = {};
59
+ let schemas = {};
60
+ let endpoints = {};
61
+ let supportedModules = params.supportedModules;
62
+ configuration.configureCliCommand({
63
+ name: 'generateDocumentation [servicePath]',
64
+ description: 'Generates OpenApi documentation for the endpoints and stores it in the .openapi.json file',
65
+ arguments: [{
66
+ name: 'servicePath',
67
+ type: 'string',
68
+ description: 'The service path to generate the documentation for'
69
+ }],
70
+ handler: ({ servicePath }) => {
71
+ const rootFolder = path_1.default.resolve();
72
+ const stackServiceFilePath = !servicePath || rootFolder.endsWith(servicePath) ? rootFolder : path_1.default.resolve(servicePath);
73
+ const openApiDocument = (0, openApi_1.generateOpenApiDocument)(paths, schemas, packageJson);
74
+ return generateOpenApiSpec(stackServiceFilePath, openApiDocument)
75
+ .then(() => {
76
+ console.log('OpenApi documentation generated');
77
+ process.exit(0);
78
+ })
79
+ .catch((err) => {
80
+ console.error(err);
81
+ process.exit(1);
82
+ });
83
+ }
84
+ });
85
+ const fetchServiceDiscovery = async () => {
86
+ if (serviceDiscoveryUrl) {
87
+ const response = await fetch(serviceDiscoveryUrl);
88
+ const json = await response.json();
89
+ return json;
90
+ }
91
+ };
92
+ const injectHandler = (context) => {
93
+ return Promise.all(adapters
94
+ .filter(a => a.adapterType === 'httpHandler')
95
+ .map((a) => a.injectHandler && a.injectHandler(context)))
96
+ .then(bett3r_utils_1.noop);
97
+ };
98
+ const callEventConnectionsActive = () => {
99
+ adapters
100
+ .forEach((a) => a.callEventConnectionsActive && a.callEventConnectionsActive());
101
+ };
102
+ const callEventConnectionsInactive = () => {
103
+ adapters
104
+ .forEach((a) => a.callEventConnectionsInactive && a.callEventConnectionsInactive());
105
+ };
106
+ const getEndpoints = () => Object.values(endpoints);
107
+ const registerSchema = (name, schema, tags) => {
108
+ schemas = (0, openApi_1.registerOpenApiSchema)(schemas, name, schema, tags);
109
+ };
110
+ function registerEndpoint(endpoint) {
111
+ const optionalParamMatch = endpoint.route.match(exports.optionalParamRegexp);
112
+ if (optionalParamMatch) {
113
+ const pathFull = endpoint.route.replace(exports.optionalParamRegexp, '$1$2');
114
+ const pathOptional = endpoint.route.replace(exports.optionalParamRegexp, '$2');
115
+ endpoints[`${endpoint.method}:${pathFull}`] = endpoint;
116
+ endpoints[`${endpoint.method}:${pathOptional}`] = endpoint;
117
+ }
118
+ else {
119
+ endpoints[`${endpoint.method}:${endpoint.route}`] = endpoint;
120
+ }
121
+ if (endpoint.method === 'POST' && endpoint.tags?.some(t => ['aggregate', 'system'].includes(t))) {
122
+ (0, openApi_1.registerCommandSchema)(schemas, endpoint.name, endpoint.schemas?.body);
123
+ (Object.values((endpoint?.schemas?.responses || {})['200']) || []).forEach((response) => {
124
+ (0, openApi_1.registerProducerEventSchemas)(schemas, response.schema);
125
+ });
126
+ }
127
+ if (endpoint.method === 'POST' && endpoint.tags?.some(t => ['readmodel', 'policy'].includes(t))) {
128
+ (0, openApi_1.registerConsumerEventsSchemas)(schemas, endpoint.schemas?.body);
129
+ }
130
+ if (endpoint.method === 'GET' && endpoint.tags?.some(t => t === 'readmodel')) {
131
+ (0, openApi_1.registerReadmodelSchema)(schemas, endpoint.schemas.responses['200'][0].schema.plain.oneOf[0]);
132
+ }
133
+ paths = (0, openApi_1.registerOpenApiEndpoint)(paths, endpoint);
134
+ adapters.forEach(a => a.registerEndpoint(endpoint));
135
+ }
136
+ const call = async (route, method = 'GET', params) => {
137
+ const p = (0, exports.getPathInfo)(route);
138
+ let routeParams = {};
139
+ const path = Object.keys(endpoints).find(k => {
140
+ if (k.startsWith(`${method}:/${p?.base}`)) {
141
+ const m = (0, node_match_path_1.match)(k.replace(`${method}:`, ''), route.replace(/\?.+?$/, ''));
142
+ if (m.matches) {
143
+ routeParams = m.params;
144
+ return true;
145
+ }
146
+ }
147
+ });
148
+ if (!path) {
149
+ if (!servicesDirectory) {
150
+ servicesDirectory = await fetchServiceDiscovery();
151
+ }
152
+ if (servicesDirectory[`${method}:${route}`]) {
153
+ return fetch(servicesDirectory[`${method}:${route}`], {
154
+ method: method.toUpperCase(),
155
+ headers: params?.context?.headers,
156
+ body: JSON.stringify(params?.body)
157
+ })
158
+ .then(r => r.json());
159
+ }
160
+ return Promise.reject(Error(`Endpoint not identified for ${method}:${route}`));
161
+ }
162
+ return endpoints[path].action({ ...params, params: routeParams, query: p?.query })
163
+ .catch(e => {
164
+ e.status = e.status || pv3_types_1.errorStatusCodeMap[e.type];
165
+ return Promise.reject(e);
166
+ });
167
+ };
168
+ const _fetch = async (route, params) => {
169
+ const response = call(route, params.method.toUpperCase(), { body: JSON.parse(params.body), context: { headers: params.headers } });
170
+ return {
171
+ ok: true,
172
+ json: async () => response,
173
+ text: async () => ''
174
+ };
175
+ };
176
+ const get = (route, params) => {
177
+ return call(route, 'GET', params);
178
+ };
179
+ const post = (route, params) => {
180
+ return call(route, 'POST', params);
181
+ };
182
+ const getServiceFilePath = () => {
183
+ const slashRegex = new RegExp('(/|\\\\)', 'mig');
184
+ const errorStack = new Error().stack?.split('\n');
185
+ const stackRow = (errorStack[5] || '').replace(slashRegex, '/');
186
+ return stackRow.slice(stackRow.indexOf('/'), stackRow.lastIndexOf('/'));
187
+ };
188
+ const addOpenApiTag = (tag) => {
189
+ openApiTags.add(tag);
190
+ openApiDocument = (0, openApi_1.generateOpenApiDocument)(paths, schemas, packageJson, Array.from(openApiTags));
191
+ };
192
+ const generateOpenApiSpec = async (servicePath, document) => {
193
+ document = document || (0, openApi_1.generateOpenApiDocument)(paths, schemas, packageJson, Array.from(openApiTags));
194
+ const path = servicePath || outOpenApiFileFilePath || getServiceFilePath();
195
+ await promises_1.default.writeFile(`${path}/.openapi.json`, JSON.stringify(document, null, 2));
196
+ return document;
197
+ };
198
+ const setServiceSupportedModules = (modules) => {
199
+ supportedModules = modules;
200
+ };
201
+ const start = async () => {
202
+ // const args = await configuration.getArgs();
203
+ // args.admin && args.outbox && openApiTags.add( 'pv3.outbox' );
204
+ if (supportedModules) {
205
+ openApiTags.add('pv3.service');
206
+ openApiTags.add(`modules=${JSON.stringify(supportedModules)}`);
207
+ }
208
+ return new Promise((resolve, reject) => {
209
+ const stackServiceFilePath = getServiceFilePath();
210
+ setImmediate(() => {
211
+ openApiDocument = (0, openApi_1.generateOpenApiDocument)(paths, schemas, packageJson, Array.from(openApiTags));
212
+ // TODO: Tener un config para que determinar si se crea el archivo o no.
213
+ if (process.env.NODE_ENV !== 'production') {
214
+ generateOpenApiSpec(stackServiceFilePath, openApiDocument)
215
+ .catch(reject);
216
+ }
217
+ return Promise.all(adapters.map(a => {
218
+ if (a.onServicesDirectorySet) {
219
+ a.onServicesDirectorySet((services) => {
220
+ servicesDirectory = services;
221
+ });
222
+ }
223
+ a.registerOpenApi && a.registerOpenApi(openApiDocument);
224
+ return a.start && a.start();
225
+ }))
226
+ .then(() => {
227
+ endpointsPort.emitter.emit('started');
228
+ endpointsPort.isStarted = true;
229
+ })
230
+ .then(bett3r_utils_1.noop)
231
+ .then(resolve);
232
+ });
233
+ });
234
+ };
235
+ const stop = async () => {
236
+ return Promise.all(adapters.map(a => {
237
+ a.stop && a.stop();
238
+ }))
239
+ .then(bett3r_utils_1.noop);
240
+ };
241
+ const endpointsPort = (0, base_1.createPort)({
242
+ _adapters: () => adapters,
243
+ getEndpoints,
244
+ addOpenApiTag,
245
+ setServiceSupportedModules,
246
+ generateOpenApiSpec,
247
+ getOpenApiSpec: () => openApiDocument,
248
+ registerSchema,
249
+ registerEndpoint,
250
+ injectHandler,
251
+ callEventConnectionsActive,
252
+ callEventConnectionsInactive,
253
+ call,
254
+ fetch: _fetch,
255
+ get,
256
+ post,
257
+ start,
258
+ stop
259
+ });
260
+ return endpointsPort;
261
+ };
262
+ exports.Endpoints = Endpoints;
263
+ //# sourceMappingURL=index.js.map