@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":"utils.js","sourceRoot":"","sources":["../../../src/ports/infrastructure/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { LoggerAdapter, LoggerConfig, LoggerPort } from '@bett3r-dev/pv3-types';
2
+ export declare const Logger: (config: LoggerConfig, ...adapters: LoggerAdapter[]) => LoggerPort;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,YAAY,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAEtH,eAAO,MAAM,MAAM,WAAa,YAAY,eAAe,aAAa,EAAE,KAAG,UA8B5E,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ const pv3_types_1 = require("@bett3r-dev/pv3-types");
5
+ const Logger = (config, ...adapters) => {
6
+ const skipModule = (module) => config?.modulesBlacklist?.includes(module) || (config?.modulesWhitelist && !config?.modulesWhitelist?.includes(module));
7
+ function createLoggerInstance(module) {
8
+ const LogLevel = pv3_types_1.LogLevelMap[config.logLevel || 'info'];
9
+ const internalLog = skipModule(module) ?
10
+ () => () => { }
11
+ : (level) => (...args) => {
12
+ if (LogLevel >= level)
13
+ adapters.forEach(a => {
14
+ a.log(args, pv3_types_1.LevelLogMap[level], module);
15
+ });
16
+ };
17
+ const logger = {
18
+ error: internalLog(0),
19
+ warn: internalLog(1),
20
+ info: internalLog(2),
21
+ log: internalLog(3),
22
+ debug: internalLog(4),
23
+ silly: internalLog(5),
24
+ };
25
+ return logger;
26
+ }
27
+ return {
28
+ createLoggerInstance
29
+ };
30
+ };
31
+ exports.Logger = Logger;
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/logger/index.ts"],"names":[],"mappings":";;;AAAA,qDAAsH;AAE/G,MAAM,MAAM,GAAG,CAAE,MAAoB,EAAE,GAAG,QAAyB,EAAc,EAAE;IACxF,MAAM,UAAU,GAAG,CAAE,MAAc,EAAG,EAAE,CACtC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAE,MAAM,CAAE,IAAI,CAAE,MAAM,EAAE,gBAAgB,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAE,MAAM,CAAE,CAAC,CAAC;IAE/H,SAAS,oBAAoB,CAAE,MAAc;QAC3C,MAAM,QAAQ,GAAG,uBAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,UAAU,CAAE,MAAM,CAAE,CAAC,CAAC;YACxC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;YACd,CAAC,CAAC,CAAE,KAAa,EAAG,EAAE,CAAC,CAAE,GAAG,IAAW,EAAE,EAAE;gBACzC,IAAK,QAAQ,IAAI,KAAK;oBACpB,QAAQ,CAAC,OAAO,CAAE,CAAC,CAAA,EAAE;wBACnB,CAAC,CAAC,GAAG,CAAE,IAAI,EAAE,uBAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAE,CAAC;oBAC5C,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAe;YACzB,KAAK,EAAE,WAAW,CAAE,CAAC,CAAE;YACvB,IAAI,EAAE,WAAW,CAAE,CAAC,CAAE;YACtB,IAAI,EAAE,WAAW,CAAE,CAAC,CAAE;YACtB,GAAG,EAAE,WAAW,CAAE,CAAC,CAAE;YACrB,KAAK,EAAE,WAAW,CAAE,CAAC,CAAE;YACvB,KAAK,EAAE,WAAW,CAAE,CAAC,CAAE;SACxB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,MAAM,UA8BjB"}
@@ -0,0 +1,35 @@
1
+ /// <reference types="ramda/node_modules/ts-toolbelt" />
2
+ import { AppErrorData, AppErrorInstance, AppErrorType, CommittedEvent, EventFactory, EventHandler, GetMessageType, System } from '@bett3r-dev/pv3-types';
3
+ export declare const createEvent: <Handler extends System | EventHandler>(handler: Handler) => <EVENT extends keyof import("Object/Path")._Path<Handler, ["events"], 1>>(event: EVENT, data?: GetMessageType<Handler["events"][EVENT]> | undefined, committedEvent?: Partial<Omit<CommittedEvent, 'data' | 'name'>>) => EventFactory<EVENT, GetMessageType<Handler["events"][EVENT]>>;
4
+ export declare const createError: <ErrorPayload>(error: AppErrorType<ErrorPayload>, params: Partial<AppErrorData<ErrorPayload>>) => AppErrorInstance;
5
+ export declare const AppError: <ErrorPayload>(err: AppErrorType<ErrorPayload>) => AppErrorType<ErrorPayload>;
6
+ export declare const EmailAlreadyExists: () => AppErrorType<string>;
7
+ export declare const InvalidTokenError: () => AppErrorType<string>;
8
+ export declare const AuthenticationError: () => AppErrorType<string>;
9
+ export declare const UnknownRouteError: () => AppErrorType<string>;
10
+ export declare const UnauthorizedError: () => AppErrorType<string>;
11
+ export declare const ConcurrencyError: () => AppErrorType<{
12
+ expectedVersion: string;
13
+ actualVersion: string;
14
+ }>;
15
+ export declare const ValidationError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any[]>;
16
+ export declare const BadRequestError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
17
+ export declare const PaymentRequiredError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
18
+ export declare const ForbiddenError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
19
+ export declare const NotFoundError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
20
+ export declare const MethodNotAllowedError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
21
+ export declare const NotAcceptableError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
22
+ export declare const ProxyAuthenticationRequiredError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
23
+ export declare const RequestTimeoutError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
24
+ export declare const ConflictError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
25
+ export declare const GoneError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
26
+ export declare const LengthRequiredError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
27
+ export declare const PreconditionFailedError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
28
+ export declare const PayloadTooLargeError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
29
+ export declare const TooManyRequestsError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
30
+ export declare const InternalServerError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
31
+ export declare const NotImplementedError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
32
+ export declare const BadGatewayError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
33
+ export declare const ServiceUnavailableError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
34
+ export declare const GatewayTimeoutError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIzJ,eAAO,MAAM,WAAW,qOAAqM,QAAQ,KAAK,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,kEAO1Q,CAAC;AAMF,eAAO,MAAM,WAAW,oGAAqG,gBAM5H,CAAC;AAEF,eAAO,MAAM,QAAQ,+EAA2D,CAAC;AAEjF,eAAO,MAAM,kBAAkB,4BAI7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,4BAI5B,CAAC;AAEH,eAAO,MAAM,mBAAmB,4BAI9B,CAAC;AAEH,eAAO,MAAM,iBAAiB,4BAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,4BAI5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;EAO3B,CAAC;AAEH,eAAO,MAAM,eAAe,8EAI1B,CAAC;AAEH,eAAO,MAAM,eAAe,4EAI1B,CAAC;AAEH,eAAO,MAAM,oBAAoB,4EAI/B,CAAC;AAEH,eAAO,MAAM,cAAc,4EAIzB,CAAC;AAEH,eAAO,MAAM,aAAa,4EAIxB,CAAC;AAEH,eAAO,MAAM,qBAAqB,4EAIhC,CAAC;AAEH,eAAO,MAAM,kBAAkB,4EAI7B,CAAC;AAEH,eAAO,MAAM,gCAAgC,4EAI3C,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC;AAEH,eAAO,MAAM,aAAa,4EAIxB,CAAC;AAEH,eAAO,MAAM,SAAS,4EAIpB,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC;AAEH,eAAO,MAAM,uBAAuB,4EAIlC,CAAC;AAEH,eAAO,MAAM,oBAAoB,4EAI/B,CAAC;AAEH,eAAO,MAAM,oBAAoB,4EAI/B,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC;AAEH,eAAO,MAAM,eAAe,4EAI1B,CAAC;AAEH,eAAO,MAAM,uBAAuB,4EAIlC,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC"}
@@ -0,0 +1,190 @@
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.GatewayTimeoutError = exports.ServiceUnavailableError = exports.BadGatewayError = exports.NotImplementedError = exports.InternalServerError = exports.TooManyRequestsError = exports.PayloadTooLargeError = exports.PreconditionFailedError = exports.LengthRequiredError = exports.GoneError = exports.ConflictError = exports.RequestTimeoutError = exports.ProxyAuthenticationRequiredError = exports.NotAcceptableError = exports.MethodNotAllowedError = exports.NotFoundError = exports.ForbiddenError = exports.PaymentRequiredError = exports.BadRequestError = exports.ValidationError = exports.ConcurrencyError = exports.UnauthorizedError = exports.UnknownRouteError = exports.AuthenticationError = exports.InvalidTokenError = exports.EmailAlreadyExists = exports.AppError = exports.createError = exports.createEvent = void 0;
7
+ const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
8
+ const ramda_1 = require("ramda");
9
+ const createEvent = (handler) => (event, data, committedEvent) => {
10
+ return () => ({
11
+ ...handler.events[event](),
12
+ name: event,
13
+ data,
14
+ ...(committedEvent ? committedEvent : {})
15
+ });
16
+ };
17
+ exports.createEvent = createEvent;
18
+ //*******************************************
19
+ // Errors
20
+ //*******************************************
21
+ const createError = (error, params) => {
22
+ return Object.assign(new Error(params.description), {
23
+ ...(0, ramda_1.omit)(['schema', 'name'], error),
24
+ ...(0, ramda_1.omit)(['schema', 'name'], params),
25
+ name: error.error || error.type,
26
+ });
27
+ };
28
+ exports.createError = createError;
29
+ const AppError = (err) => err;
30
+ exports.AppError = AppError;
31
+ const EmailAlreadyExists = () => (0, exports.AppError)({
32
+ schema: jsonschema_definer_1.default.string(),
33
+ type: 'ConflictError',
34
+ status: 409
35
+ });
36
+ exports.EmailAlreadyExists = EmailAlreadyExists;
37
+ const InvalidTokenError = () => (0, exports.AppError)({
38
+ schema: jsonschema_definer_1.default.string(),
39
+ type: 'UnauthorizedError',
40
+ status: 401
41
+ });
42
+ exports.InvalidTokenError = InvalidTokenError;
43
+ const AuthenticationError = () => (0, exports.AppError)({
44
+ schema: jsonschema_definer_1.default.string(),
45
+ type: 'UnauthorizedError',
46
+ status: 401
47
+ });
48
+ exports.AuthenticationError = AuthenticationError;
49
+ const UnknownRouteError = () => (0, exports.AppError)({
50
+ schema: jsonschema_definer_1.default.string(),
51
+ type: 'BadRequestError',
52
+ status: 400
53
+ });
54
+ exports.UnknownRouteError = UnknownRouteError;
55
+ const UnauthorizedError = () => (0, exports.AppError)({
56
+ schema: jsonschema_definer_1.default.string(),
57
+ type: 'ForbiddenError',
58
+ status: 403
59
+ });
60
+ exports.UnauthorizedError = UnauthorizedError;
61
+ const ConcurrencyError = () => (0, exports.AppError)({
62
+ schema: jsonschema_definer_1.default.shape({
63
+ expectedVersion: jsonschema_definer_1.default.string(),
64
+ actualVersion: jsonschema_definer_1.default.string()
65
+ }),
66
+ type: 'ConcurrencyError',
67
+ status: 409
68
+ });
69
+ exports.ConcurrencyError = ConcurrencyError;
70
+ const ValidationError = () => (0, exports.AppError)({
71
+ schema: jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.any()),
72
+ type: 'BadRequestError',
73
+ status: 400
74
+ });
75
+ exports.ValidationError = ValidationError;
76
+ const BadRequestError = () => (0, exports.AppError)({
77
+ schema: jsonschema_definer_1.default.any(),
78
+ type: 'BadRequestError',
79
+ status: 400
80
+ });
81
+ exports.BadRequestError = BadRequestError;
82
+ const PaymentRequiredError = () => (0, exports.AppError)({
83
+ schema: jsonschema_definer_1.default.any(),
84
+ type: 'PaymentRequiredError',
85
+ status: 402
86
+ });
87
+ exports.PaymentRequiredError = PaymentRequiredError;
88
+ const ForbiddenError = () => (0, exports.AppError)({
89
+ schema: jsonschema_definer_1.default.any(),
90
+ type: 'ForbiddenError',
91
+ status: 403
92
+ });
93
+ exports.ForbiddenError = ForbiddenError;
94
+ const NotFoundError = () => (0, exports.AppError)({
95
+ schema: jsonschema_definer_1.default.any(),
96
+ type: 'NotFoundError',
97
+ status: 404
98
+ });
99
+ exports.NotFoundError = NotFoundError;
100
+ const MethodNotAllowedError = () => (0, exports.AppError)({
101
+ schema: jsonschema_definer_1.default.any(),
102
+ type: 'MethodNotAllowedError',
103
+ status: 405
104
+ });
105
+ exports.MethodNotAllowedError = MethodNotAllowedError;
106
+ const NotAcceptableError = () => (0, exports.AppError)({
107
+ schema: jsonschema_definer_1.default.any(),
108
+ type: 'NotAcceptableError',
109
+ status: 406
110
+ });
111
+ exports.NotAcceptableError = NotAcceptableError;
112
+ const ProxyAuthenticationRequiredError = () => (0, exports.AppError)({
113
+ schema: jsonschema_definer_1.default.any(),
114
+ type: 'ProxyAuthenticationRequiredError',
115
+ status: 407
116
+ });
117
+ exports.ProxyAuthenticationRequiredError = ProxyAuthenticationRequiredError;
118
+ const RequestTimeoutError = () => (0, exports.AppError)({
119
+ schema: jsonschema_definer_1.default.any(),
120
+ type: 'RequestTimeoutError',
121
+ status: 408
122
+ });
123
+ exports.RequestTimeoutError = RequestTimeoutError;
124
+ const ConflictError = () => (0, exports.AppError)({
125
+ schema: jsonschema_definer_1.default.any(),
126
+ type: 'ConflictError',
127
+ status: 409
128
+ });
129
+ exports.ConflictError = ConflictError;
130
+ const GoneError = () => (0, exports.AppError)({
131
+ schema: jsonschema_definer_1.default.any(),
132
+ type: 'GoneError',
133
+ status: 410
134
+ });
135
+ exports.GoneError = GoneError;
136
+ const LengthRequiredError = () => (0, exports.AppError)({
137
+ schema: jsonschema_definer_1.default.any(),
138
+ type: 'LengthRequiredError',
139
+ status: 411
140
+ });
141
+ exports.LengthRequiredError = LengthRequiredError;
142
+ const PreconditionFailedError = () => (0, exports.AppError)({
143
+ schema: jsonschema_definer_1.default.any(),
144
+ type: 'PreconditionFailedError',
145
+ status: 412
146
+ });
147
+ exports.PreconditionFailedError = PreconditionFailedError;
148
+ const PayloadTooLargeError = () => (0, exports.AppError)({
149
+ schema: jsonschema_definer_1.default.any(),
150
+ type: 'PayloadTooLargeError',
151
+ status: 413
152
+ });
153
+ exports.PayloadTooLargeError = PayloadTooLargeError;
154
+ const TooManyRequestsError = () => (0, exports.AppError)({
155
+ schema: jsonschema_definer_1.default.any(),
156
+ type: 'TooManyRequestsError',
157
+ status: 429
158
+ });
159
+ exports.TooManyRequestsError = TooManyRequestsError;
160
+ const InternalServerError = () => (0, exports.AppError)({
161
+ schema: jsonschema_definer_1.default.any(),
162
+ type: 'InternalServerError',
163
+ status: 500
164
+ });
165
+ exports.InternalServerError = InternalServerError;
166
+ const NotImplementedError = () => (0, exports.AppError)({
167
+ schema: jsonschema_definer_1.default.any(),
168
+ type: 'NotImplementedError',
169
+ status: 501
170
+ });
171
+ exports.NotImplementedError = NotImplementedError;
172
+ const BadGatewayError = () => (0, exports.AppError)({
173
+ schema: jsonschema_definer_1.default.any(),
174
+ type: 'BadGatewayError',
175
+ status: 502
176
+ });
177
+ exports.BadGatewayError = BadGatewayError;
178
+ const ServiceUnavailableError = () => (0, exports.AppError)({
179
+ schema: jsonschema_definer_1.default.any(),
180
+ type: 'ServiceUnavailableError',
181
+ status: 503
182
+ });
183
+ exports.ServiceUnavailableError = ServiceUnavailableError;
184
+ const GatewayTimeoutError = () => (0, exports.AppError)({
185
+ schema: jsonschema_definer_1.default.any(),
186
+ type: 'GatewayTimeoutError',
187
+ status: 504
188
+ });
189
+ exports.GatewayTimeoutError = GatewayTimeoutError;
190
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@bett3r-dev/pv3",
3
+ "version": "1.0.0",
4
+ "main": "build/index.js",
5
+ "types": "build/index.d.ts",
6
+ "license": "MIT",
7
+ "scripts": {
8
+ "clean": "yarn run -T tsc --build --clean",
9
+ "prebuild": "yarn clean",
10
+ "build": "yarn run -T tsc --build --verbose"
11
+ },
12
+ "dependencies": {
13
+ "@bett3r-dev/bett3r-utils": "^4.0.11",
14
+ "@bett3r-dev/jsonschema-definer": "^1.4.4",
15
+ "ajv": "^8.12.0",
16
+ "ajv-formats": "^2.1.1",
17
+ "ansi-colors": "^4.1.3",
18
+ "async": "^3.2.4",
19
+ "change-case": "^4",
20
+ "dotenv": "^16.3.1",
21
+ "flyd": "^0.2.8",
22
+ "glob": "^10.3.10",
23
+ "js-yaml": "^4.1.0",
24
+ "json-schema-for-openapi": "~0.3.2",
25
+ "ramda": "^0.29.1",
26
+ "yargs": "17.7.1"
27
+ }
28
+ }
@@ -0,0 +1 @@
1
+ export * from './memory';
@@ -0,0 +1,6 @@
1
+ // import { CacheAdapterTest } from '@bett3r-dev/pv3-library-tests';
2
+ // import { MemoryCache } from '..';
3
+
4
+ // describe( 'description', () => {
5
+ // CacheAdapterTest( MemoryCache());
6
+ // });
@@ -0,0 +1,142 @@
1
+ import { map } from '@bett3r-dev/bett3r-utils';
2
+ import { assocPath } from 'ramda';
3
+
4
+ import { CacheAdapter } from '@bett3r-dev/pv3-types';
5
+
6
+ type Expiration = {
7
+ initialTtl: number;
8
+ timestamp: number;
9
+ expiresAt: number;
10
+ reference: NodeJS.Timeout;
11
+ };
12
+
13
+ export const MemoryCache = (): CacheAdapter<Record<string, string| object>> => {
14
+ const cache: Record<string, string | object> = {};
15
+ const expirations: Record<string, Expiration> = {};
16
+
17
+ function setExpiration( key: string, expiration: number ): void {
18
+ const reference = setTimeout(() => {
19
+ delete cache[key];
20
+ delete expirations[key];
21
+ }, expiration * 1000 );
22
+ expirations[key] && clearTimeout( expirations[key].reference );
23
+ expirations[key] = {
24
+ initialTtl: expiration,
25
+ timestamp: new Date().valueOf(),
26
+ expiresAt: expiration + new Date().valueOf(),
27
+ reference
28
+ };
29
+ }
30
+
31
+ function set<T extends Record<string, any>>( key: string ) : ( value: T, expirationSeconds?: number | boolean ) => Promise<T>
32
+ function set<T extends Record<string, any>>( key: string, value: T, expirationSeconds?: number | boolean ): Promise<T>
33
+ function set <T extends Record<string, any>>( key: string, value?: T, expirationSeconds: number | boolean = false ): Promise<T> | (( value: T, expirationSeconds: number | boolean ) => Promise<T> ) {
34
+ cache[key] = JSON.stringify( value );
35
+ if ( expirationSeconds !== false ) {
36
+ setExpiration( key, expirationSeconds as number );
37
+ }
38
+ return Promise.resolve( value ) as Promise<T>;
39
+ }
40
+
41
+ const memoize = <F extends Function>( fn: F, expirationSeconds?: number | false ) => {
42
+ return ( async ( ...args: any[]) => {
43
+ const key = JSON.stringify( args );
44
+ if ( cache[key]) {
45
+ return cache[key];
46
+ }
47
+ const result = await fn( ...args );
48
+ cache[key] = result;
49
+ if ( expirationSeconds !== false ) {
50
+ setExpiration( key, expirationSeconds as number );
51
+ }
52
+ return result;
53
+ }) as unknown as F;
54
+ };
55
+
56
+ const keys = ( pattern: string ): Promise<string[]> => {
57
+ const regex = new RegExp( pattern.replace( '*', '.*' ));
58
+ return Promise.resolve( Object.keys( cache ).filter(( key ) => regex.test( key )));
59
+ };
60
+
61
+ const incrementBy = ( key:string, value: number ) =>
62
+ Promise.resolve( cache[key] = JSON.stringify( Number( cache[key]) + value ))
63
+ .then( Number );
64
+
65
+ const get = <T>( key: string ): Promise<T> => {
66
+ return new Promise(( resolve ) => {
67
+ resolve( JSON.parse( cache[key] as string || 'null' ) || null );
68
+ });
69
+ };
70
+
71
+ const remove = ( key: string ): Promise<void> => {
72
+ delete cache[key];
73
+ delete expirations[key];
74
+ return Promise.resolve();
75
+ };
76
+
77
+ const flushAll = (): Promise<void> => {
78
+ Object.keys( cache ).forEach(( k ) => delete cache[k]);
79
+ return Promise.resolve();
80
+ };
81
+
82
+ //*******************************************
83
+ // HASHES
84
+ //*******************************************
85
+ // HEXISTS
86
+ const hashExists = ( key: string, hash:string ) =>
87
+ Promise.resolve( !!cache[key][hash]);
88
+ // HGET
89
+ const hashGet = <T>( key: string, hash:string ) =>
90
+ Promise.resolve( cache[key][hash]);
91
+ // HGETALL
92
+ const hashGetAll = ( key: string ) =>
93
+ Promise.resolve( map(( val ) => val.toString(), cache[key] as object || {}));
94
+ // HSET
95
+ const hashSet = <T>( key: string, hash:string, value: T ) => {
96
+ assocPath([ key, hash ], JSON.stringify( value ), cache );
97
+ return Promise.resolve( true );
98
+ };
99
+ // HSETNX
100
+ const hashSetIfNotExists = <T>( key: string, hash:string, value: T ) =>{
101
+ if ( !cache[key][hash])
102
+ assocPath([ key, hash ], JSON.stringify( value ), cache );
103
+ return Promise.resolve( cache[key][hash]);
104
+ };
105
+ // HINCRBY
106
+ const hashIncrementBy = ( key: string, hash:string, value: number ) =>{
107
+ assocPath([ key, hash ], JSON.stringify(( Number( cache[key][hash])) + value ), cache );
108
+ return Promise.resolve( cache[key][hash]);
109
+ };
110
+ // HDEL
111
+ const hashDel = ( key: string, hash:string ) =>{
112
+ delete cache[key][hash];
113
+ return Promise.resolve( true );
114
+ };
115
+
116
+ const close = (): Promise<void> => Promise.resolve();
117
+
118
+ const adapter = {
119
+ name: 'memoryCache',
120
+ start: async () => {},
121
+ stop: async () => {},
122
+ connect: () => Promise.resolve( 'Memory Cache Started.' ),
123
+ get,
124
+ set,
125
+ keys,
126
+ memoize,
127
+ incrementBy,
128
+ remove,
129
+ flushAll,
130
+ close,
131
+ hashExists,
132
+ hashGet,
133
+ hashGetAll,
134
+ hashSet,
135
+ hashSetIfNotExists,
136
+ hashIncrementBy,
137
+ hashDel,
138
+ _adapter: () => cache
139
+ };
140
+
141
+ return adapter;
142
+ };
@@ -0,0 +1,4 @@
1
+ SOME_VAR_NUMBER=1
2
+ SOME_VAR_STRING=string
3
+ SOME_VAR_BOOLEAN=true
4
+ SOME_VAR_ARRAY=one,two,three
@@ -0,0 +1,38 @@
1
+ import path from 'path';
2
+ import { DotEnv } from '../dotEnv';
3
+
4
+ describe( 'DotEnv', () => {
5
+ it( 'should augment the current config with the env configuration', async () => {
6
+ const dotEnv = DotEnv( path.join( __dirname, '.env' ), ( env ) => {
7
+ return {
8
+ number: Number( env.SOME_VAR_NUMBER ),
9
+ boolean: Boolean( env.SOME_VAR_BOOLEAN ),
10
+ array: env.SOME_VAR_ARRAY.split( ',' ),
11
+ nested: {
12
+ nested2: {
13
+ string: env.SOME_VAR_STRING
14
+ }
15
+ }
16
+ };
17
+ });
18
+ const result = await dotEnv.applyConfig({
19
+ number: 10,
20
+ boolean: false,
21
+ nested: {
22
+ nested2: {
23
+ string: 'string original'
24
+ }
25
+ }
26
+ });
27
+ expect( result ).toEqual({
28
+ boolean: true,
29
+ number: 1,
30
+ array: [ 'one', 'two', 'three' ],
31
+ nested: {
32
+ nested2: {
33
+ string: 'string'
34
+ }
35
+ }
36
+ });
37
+ });
38
+ });
@@ -0,0 +1,33 @@
1
+ import { mergeDeepRight } from 'ramda';
2
+ import { ConfigurationAdapter } from '@bett3r-dev/pv3-types';
3
+
4
+ const deepFilterUndefined = ( obj: Record<string, any> ): Record<string, any> => {
5
+ const result: Record<string, any> = {};
6
+ Object.keys( obj ).forEach(( key ) => {
7
+ if ( typeof obj[key] === 'object' && !Array.isArray( obj[key])) {
8
+ const value = deepFilterUndefined( obj[key]);
9
+ if ( Object.keys( value ).length > 0 ) {
10
+ result[key] = value;
11
+ }
12
+ } else if ( typeof obj[key] !== 'undefined' ) {
13
+ result[key] = obj[key];
14
+ }
15
+ });
16
+ return result;
17
+ };
18
+
19
+ export const DotEnv = ( envFilePath:string, configMap: ( env: Record<string, any>, previous: Record<string, any> ) => Record<string, any> ): ConfigurationAdapter => {
20
+ require( 'dotenv' ).config({ path: envFilePath });
21
+ const applyConfig = async <CONFIG extends object>( config: CONFIG ): Promise<CONFIG> => {
22
+ const envConfig = configMap( process.env, config );
23
+ return mergeDeepRight( config, deepFilterUndefined( envConfig )) as CONFIG;
24
+ };
25
+
26
+ return {
27
+ _adapter: () => {},
28
+ start: async()=>{},
29
+ stop: async()=>{},
30
+ name: 'dotEnv',
31
+ applyConfig
32
+ };
33
+ };
@@ -0,0 +1 @@
1
+ export * from './dotEnv';
@@ -0,0 +1 @@
1
+ export * from './memory';
@@ -0,0 +1,37 @@
1
+ // import { Database } from '../../../../ports/database';
2
+ // import { DatabaseAdapterTest } from '@bett3r-dev/pv3-library-tests';
3
+ // import { MemoryDb } from '../index';
4
+
5
+ // describe( 'MemoryDb tests', () => {
6
+ // DatabaseAdapterTest( MemoryDb());
7
+ // });
8
+
9
+ // describe( 'Upsert', () => {
10
+ // it( 'when upserting a dot notation nested value then it stores it respecting the structure', async () => {
11
+ // const database = Database( MemoryDb());
12
+ // await database.getCollection( 'test' ).upsert( '1', { 'id': '1', 'string.nested.value': 4 });
13
+ // const result = await database.getCollection( 'test' ).readById( '1' );
14
+ // expect( result ).toEqual({ id: '1', string: { nested: { value: 4 }}}
15
+ // );
16
+ // });
17
+ // it( 'when upserting a dot notation nested value then it stores it respecting the structure', async () => {
18
+ // const database = Database( MemoryDb());
19
+ // await database.getCollection( 'test' ).upsert( 'processing', { events:
20
+ // { 2: 'Carts-CartsReadmodel-1',
21
+ // 3: null,
22
+ // 4: 'Carts-CartsReadmodel-3',
23
+ // 5: 'Carts-CartsReadmodel-0' },
24
+ // lastProcessed: 3 });
25
+ // const result = await database.getCollection( 'test' ).readById( 'processing' );
26
+ // expect( result ).toEqual({
27
+ // events: {
28
+ // 2: 'Carts-CartsReadmodel-1',
29
+ // 3: null,
30
+ // 4: 'Carts-CartsReadmodel-3',
31
+ // 5: 'Carts-CartsReadmodel-0'
32
+ // },
33
+ // id: 'processing',
34
+ // lastProcessed: 3
35
+ // });
36
+ // });
37
+ // });