@daiso-tech/core 0.10.0 → 0.12.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 (453) hide show
  1. package/dist/cjs/_module.js +2 -2
  2. package/dist/cjs/_module.js.map +1 -1
  3. package/dist/cjs/_shared/utilities.js +7 -0
  4. package/dist/cjs/_shared/utilities.js.map +1 -1
  5. package/dist/cjs/cache/contracts/_module.js +22 -0
  6. package/dist/cjs/cache/contracts/_module.js.map +1 -0
  7. package/dist/cjs/{storage/contracts/storage-adapter.contract.js → cache/contracts/cache-adapter.contract.js} +1 -1
  8. package/dist/cjs/cache/contracts/cache-adapter.contract.js.map +1 -0
  9. package/dist/cjs/{storage/contracts/storage-manager.contract.js → cache/contracts/cache-factory.contract.js} +1 -1
  10. package/dist/cjs/cache/contracts/cache-factory.contract.js.map +1 -0
  11. package/dist/cjs/{storage/contracts/storage.contract.js → cache/contracts/cache.contract.js} +1 -1
  12. package/dist/cjs/cache/contracts/cache.contract.js.map +1 -0
  13. package/dist/cjs/cache/contracts/cache.errors.js +32 -0
  14. package/dist/cjs/cache/contracts/cache.errors.js.map +1 -0
  15. package/dist/cjs/cache/contracts/cache.events.js +14 -0
  16. package/dist/cjs/cache/contracts/cache.events.js.map +1 -0
  17. package/dist/cjs/cache/implementations/_module.js +20 -0
  18. package/dist/cjs/cache/implementations/_module.js.map +1 -0
  19. package/dist/cjs/{event-bus/implementations/memory-event-bus-adapter → cache/implementations/_shared}/_module.js +1 -1
  20. package/dist/cjs/cache/implementations/_shared/_module.js.map +1 -0
  21. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +192 -0
  22. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -0
  23. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +1009 -0
  24. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -0
  25. package/dist/cjs/cache/implementations/adapters/_module.js +22 -0
  26. package/dist/cjs/cache/implementations/adapters/_module.js.map +1 -0
  27. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +18 -0
  28. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +1 -0
  29. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +291 -0
  30. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -0
  31. package/dist/cjs/{event-bus/implementations/redis-event-bus-adapter → cache/implementations/adapters/libsql-cache-adapter}/_module.js +1 -1
  32. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -0
  33. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +61 -0
  34. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -0
  35. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js +18 -0
  36. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -0
  37. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +72 -0
  38. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -0
  39. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js +18 -0
  40. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -0
  41. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +262 -0
  42. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -0
  43. package/dist/cjs/{event-bus/implementations/no-op-event-bus-adapter → cache/implementations/adapters/redis-cache-adapter}/_module.js +1 -1
  44. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -0
  45. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +147 -0
  46. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -0
  47. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +18 -0
  48. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -0
  49. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +60 -0
  50. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -0
  51. package/dist/cjs/cache/implementations/derivables/_module.js +20 -0
  52. package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -0
  53. package/dist/cjs/cache/implementations/derivables/base-cache.js +262 -0
  54. package/dist/cjs/cache/implementations/derivables/base-cache.js.map +1 -0
  55. package/dist/cjs/cache/implementations/derivables/cache-factory.js +39 -0
  56. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -0
  57. package/dist/cjs/cache/implementations/derivables/cache.js +191 -0
  58. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -0
  59. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +1 -1
  60. package/dist/cjs/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
  61. package/dist/cjs/event-bus/contracts/_module.js +2 -1
  62. package/dist/cjs/event-bus/contracts/_module.js.map +1 -1
  63. package/dist/cjs/event-bus/contracts/_shared.js +0 -36
  64. package/dist/cjs/event-bus/contracts/_shared.js.map +1 -1
  65. package/dist/cjs/event-bus/contracts/{event-bus-manager.contract.js → event-bus-factory.contract.js} +1 -1
  66. package/dist/cjs/event-bus/contracts/event-bus-factory.contract.js.map +1 -0
  67. package/dist/cjs/event-bus/contracts/event-bus.errors.js +39 -0
  68. package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -0
  69. package/dist/cjs/event-bus/implementations/_module.js +2 -4
  70. package/dist/cjs/event-bus/implementations/_module.js.map +1 -1
  71. package/dist/cjs/event-bus/implementations/adapters/_module.js +20 -0
  72. package/dist/cjs/event-bus/implementations/adapters/_module.js.map +1 -0
  73. package/dist/cjs/{storage/implementations/redis-storage-adapter → event-bus/implementations/adapters/memory-event-bus-adapter}/_module.js +1 -1
  74. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -0
  75. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -0
  76. package/dist/cjs/{storage/implementations/_shared/test-utilities → event-bus/implementations/adapters/no-op-event-bus-adapter}/_module.js +1 -1
  77. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.js.map +1 -0
  78. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -0
  79. package/dist/cjs/{storage/implementations/memory-storage-adapter → event-bus/implementations/adapters/redis-event-bus-adapter}/_module.js +1 -1
  80. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +1 -0
  81. package/dist/cjs/event-bus/implementations/{redis-event-bus-adapter → adapters/redis-event-bus-adapter}/redis-event-bus-adapter.js +2 -2
  82. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +1 -0
  83. package/dist/cjs/event-bus/implementations/{event-bus → derivables}/_module.js +2 -2
  84. package/dist/cjs/event-bus/implementations/derivables/_module.js.map +1 -0
  85. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +39 -0
  86. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -0
  87. package/dist/cjs/event-bus/implementations/{event-bus → derivables}/event-bus.js +11 -8
  88. package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -0
  89. package/dist/cjs/event-bus/implementations/{event-bus → derivables}/with-namespace-event-bus-adapter.js +1 -0
  90. package/dist/cjs/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +1 -0
  91. package/dist/cjs/event-bus/implementations/derivables/with-validation-event-bus-adapter.js.map +1 -0
  92. package/dist/cjs/serializer/contracts/_module.js +1 -0
  93. package/dist/cjs/serializer/contracts/_module.js.map +1 -1
  94. package/dist/cjs/serializer/contracts/serializer.contract.js +0 -22
  95. package/dist/cjs/serializer/contracts/serializer.contract.js.map +1 -1
  96. package/dist/cjs/serializer/contracts/serializer.errors.js +25 -0
  97. package/dist/cjs/serializer/contracts/serializer.errors.js.map +1 -0
  98. package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js +3 -3
  99. package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +1 -1
  100. package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js +3 -3
  101. package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js.map +1 -1
  102. package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js +3 -3
  103. package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js.map +1 -1
  104. package/dist/cjs/serializer/implementations/super-json-serializer/super-json-serializer.js +21 -21
  105. package/dist/cjs/serializer/implementations/super-json-serializer/super-json-serializer.js.map +1 -1
  106. package/dist/cjs/utilities/_module.js +1 -0
  107. package/dist/cjs/utilities/_module.js.map +1 -1
  108. package/dist/cjs/utilities/global-errors.js +25 -0
  109. package/dist/cjs/utilities/global-errors.js.map +1 -0
  110. package/dist/cjs/utilities/time-span/time-span.js.map +1 -1
  111. package/dist/esm/_module.js +2 -2
  112. package/dist/esm/_module.js.map +1 -1
  113. package/dist/esm/_shared/utilities.js +6 -0
  114. package/dist/esm/_shared/utilities.js.map +1 -1
  115. package/dist/esm/cache/contracts/_module.js +6 -0
  116. package/dist/esm/cache/contracts/_module.js.map +1 -0
  117. package/dist/esm/cache/contracts/cache-adapter.contract.js +1 -0
  118. package/dist/esm/cache/contracts/cache-adapter.contract.js.map +1 -0
  119. package/dist/esm/cache/contracts/cache-factory.contract.js +1 -0
  120. package/dist/esm/cache/contracts/cache-factory.contract.js.map +1 -0
  121. package/dist/esm/cache/contracts/cache.contract.js +1 -0
  122. package/dist/esm/cache/contracts/cache.contract.js.map +1 -0
  123. package/dist/esm/cache/contracts/cache.errors.js +25 -0
  124. package/dist/esm/cache/contracts/cache.errors.js.map +1 -0
  125. package/dist/esm/cache/contracts/cache.events.js +11 -0
  126. package/dist/esm/cache/contracts/cache.events.js.map +1 -0
  127. package/dist/esm/cache/implementations/_module.js +4 -0
  128. package/dist/esm/cache/implementations/_module.js.map +1 -0
  129. package/dist/esm/cache/implementations/_shared/_module.js +2 -0
  130. package/dist/esm/cache/implementations/_shared/_module.js.map +1 -0
  131. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +189 -0
  132. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -0
  133. package/dist/esm/cache/implementations/_shared/cache.test-suite.js +1006 -0
  134. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -0
  135. package/dist/esm/cache/implementations/adapters/_module.js +6 -0
  136. package/dist/esm/cache/implementations/adapters/_module.js.map +1 -0
  137. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +2 -0
  138. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +1 -0
  139. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +287 -0
  140. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -0
  141. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -0
  142. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -0
  143. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +57 -0
  144. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -0
  145. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +2 -0
  146. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -0
  147. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +68 -0
  148. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -0
  149. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -0
  150. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -0
  151. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +255 -0
  152. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -0
  153. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +2 -0
  154. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -0
  155. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +143 -0
  156. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -0
  157. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +2 -0
  158. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -0
  159. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +56 -0
  160. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -0
  161. package/dist/esm/cache/implementations/derivables/_module.js +4 -0
  162. package/dist/esm/cache/implementations/derivables/_module.js.map +1 -0
  163. package/dist/esm/cache/implementations/derivables/base-cache.js +258 -0
  164. package/dist/esm/cache/implementations/derivables/base-cache.js.map +1 -0
  165. package/dist/esm/cache/implementations/derivables/cache-factory.js +35 -0
  166. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -0
  167. package/dist/esm/cache/implementations/derivables/cache.js +187 -0
  168. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -0
  169. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +1 -1
  170. package/dist/esm/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
  171. package/dist/esm/event-bus/contracts/_module.js +2 -1
  172. package/dist/esm/event-bus/contracts/_module.js.map +1 -1
  173. package/dist/esm/event-bus/contracts/_shared.js +0 -30
  174. package/dist/esm/event-bus/contracts/_shared.js.map +1 -1
  175. package/dist/esm/event-bus/contracts/event-bus-factory.contract.js +1 -0
  176. package/dist/esm/event-bus/contracts/event-bus-factory.contract.js.map +1 -0
  177. package/dist/esm/event-bus/contracts/event-bus.errors.js +31 -0
  178. package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -0
  179. package/dist/esm/event-bus/implementations/_module.js +2 -4
  180. package/dist/esm/event-bus/implementations/_module.js.map +1 -1
  181. package/dist/esm/event-bus/implementations/adapters/_module.js +4 -0
  182. package/dist/esm/event-bus/implementations/adapters/_module.js.map +1 -0
  183. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -0
  184. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -0
  185. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -0
  186. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.js +2 -0
  187. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.js.map +1 -0
  188. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -0
  189. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js +2 -0
  190. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +1 -0
  191. package/dist/esm/event-bus/implementations/{redis-event-bus-adapter → adapters/redis-event-bus-adapter}/redis-event-bus-adapter.js +2 -2
  192. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +1 -0
  193. package/dist/esm/event-bus/implementations/derivables/_module.js +3 -0
  194. package/dist/esm/event-bus/implementations/derivables/_module.js.map +1 -0
  195. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +35 -0
  196. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -0
  197. package/dist/esm/event-bus/implementations/{event-bus → derivables}/event-bus.js +12 -9
  198. package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -0
  199. package/dist/esm/event-bus/implementations/{event-bus → derivables}/with-namespace-event-bus-adapter.js +1 -0
  200. package/dist/esm/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +1 -0
  201. package/dist/esm/event-bus/implementations/derivables/with-validation-event-bus-adapter.js.map +1 -0
  202. package/dist/esm/serializer/contracts/_module.js +1 -0
  203. package/dist/esm/serializer/contracts/_module.js.map +1 -1
  204. package/dist/esm/serializer/contracts/serializer.contract.js +0 -18
  205. package/dist/esm/serializer/contracts/serializer.contract.js.map +1 -1
  206. package/dist/esm/serializer/contracts/serializer.errors.js +19 -0
  207. package/dist/esm/serializer/contracts/serializer.errors.js.map +1 -0
  208. package/dist/esm/serializer/implementations/mongodb-serializer/mongodb-serializer.js +1 -1
  209. package/dist/esm/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +1 -1
  210. package/dist/esm/serializer/implementations/redis-serializer/redis-serializer.js +1 -1
  211. package/dist/esm/serializer/implementations/redis-serializer/redis-serializer.js.map +1 -1
  212. package/dist/esm/serializer/implementations/sql-serializer/sql-serializer.js +1 -1
  213. package/dist/esm/serializer/implementations/sql-serializer/sql-serializer.js.map +1 -1
  214. package/dist/esm/serializer/implementations/super-json-serializer/super-json-serializer.js +1 -1
  215. package/dist/esm/serializer/implementations/super-json-serializer/super-json-serializer.js.map +1 -1
  216. package/dist/esm/utilities/_module.js +1 -0
  217. package/dist/esm/utilities/_module.js.map +1 -1
  218. package/dist/esm/utilities/global-errors.js +19 -0
  219. package/dist/esm/utilities/global-errors.js.map +1 -0
  220. package/dist/esm/utilities/time-span/time-span.js.map +1 -1
  221. package/dist/types/_module.d.ts +2 -2
  222. package/dist/types/_shared/types.d.ts +4 -0
  223. package/dist/types/_shared/utilities.d.ts +5 -1
  224. package/dist/types/cache/contracts/_module.d.ts +5 -0
  225. package/dist/types/cache/contracts/cache-adapter.contract.d.ts +44 -0
  226. package/dist/types/cache/contracts/cache-factory.contract.d.ts +48 -0
  227. package/dist/types/cache/contracts/cache.contract.d.ts +195 -0
  228. package/dist/types/{storage/contracts/_shared.d.ts → cache/contracts/cache.errors.d.ts} +5 -5
  229. package/dist/types/cache/contracts/cache.events.d.ts +96 -0
  230. package/dist/types/cache/implementations/_module.d.ts +3 -0
  231. package/dist/types/cache/implementations/_shared/_module.d.ts +1 -0
  232. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +51 -0
  233. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +60 -0
  234. package/dist/types/cache/implementations/adapters/_module.d.ts +5 -0
  235. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.d.ts +1 -0
  236. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +55 -0
  237. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +1 -0
  238. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +35 -0
  239. package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +1 -0
  240. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +20 -0
  241. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +1 -0
  242. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +41 -0
  243. package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +1 -0
  244. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +37 -0
  245. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +1 -0
  246. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +35 -0
  247. package/dist/types/cache/implementations/derivables/_module.d.ts +3 -0
  248. package/dist/types/cache/implementations/derivables/base-cache.d.ts +57 -0
  249. package/dist/types/cache/implementations/derivables/cache-factory.d.ts +56 -0
  250. package/dist/types/cache/implementations/derivables/cache.d.ts +88 -0
  251. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.d.ts +3 -0
  252. package/dist/types/collection/implementations/iterable-collection/_shared/cross-join-iterable.d.ts +3 -0
  253. package/dist/types/event-bus/contracts/_module.d.ts +2 -1
  254. package/dist/types/event-bus/contracts/_shared.d.ts +0 -30
  255. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +78 -0
  256. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +21 -18
  257. package/dist/types/event-bus/contracts/event-bus.errors.d.ts +33 -0
  258. package/dist/types/event-bus/implementations/_module.d.ts +2 -4
  259. package/dist/types/event-bus/implementations/adapters/_module.d.ts +3 -0
  260. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +1 -0
  261. package/dist/types/event-bus/implementations/{memory-event-bus-adapter → adapters/memory-event-bus-adapter}/memory-event-bus-adapter.d.ts +1 -1
  262. package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.d.ts +1 -0
  263. package/dist/types/event-bus/implementations/{no-op-event-bus-adapter → adapters/no-op-event-bus-adapter}/no-op-event-bus-adapter.d.ts +3 -3
  264. package/dist/types/event-bus/implementations/adapters/redis-event-bus-adapter/_module.d.ts +1 -0
  265. package/dist/types/event-bus/implementations/{redis-event-bus-adapter → adapters/redis-event-bus-adapter}/redis-event-bus-adapter.d.ts +2 -2
  266. package/dist/types/event-bus/implementations/derivables/_module.d.ts +2 -0
  267. package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +47 -0
  268. package/dist/types/event-bus/implementations/{event-bus → derivables}/event-bus.d.ts +8 -7
  269. package/dist/types/serializer/contracts/_module.d.ts +1 -0
  270. package/dist/types/serializer/contracts/serializer.contract.d.ts +0 -18
  271. package/dist/types/serializer/contracts/serializer.errors.d.ts +21 -0
  272. package/dist/types/utilities/_module.d.ts +1 -0
  273. package/dist/types/utilities/global-errors.d.ts +12 -0
  274. package/dist/types/utilities/time-span/time-span.d.ts +2 -0
  275. package/package.json +12 -2
  276. package/dist/cjs/event-bus/contracts/event-bus-manager.contract.js.map +0 -1
  277. package/dist/cjs/event-bus/implementations/event-bus/_module.js.map +0 -1
  278. package/dist/cjs/event-bus/implementations/event-bus/event-bus-manager.js +0 -31
  279. package/dist/cjs/event-bus/implementations/event-bus/event-bus-manager.js.map +0 -1
  280. package/dist/cjs/event-bus/implementations/event-bus/event-bus.js.map +0 -1
  281. package/dist/cjs/event-bus/implementations/event-bus/with-namespace-event-bus-adapter.js.map +0 -1
  282. package/dist/cjs/event-bus/implementations/event-bus/with-validation-event-bus-adapter.js.map +0 -1
  283. package/dist/cjs/event-bus/implementations/memory-event-bus-adapter/_module.js.map +0 -1
  284. package/dist/cjs/event-bus/implementations/memory-event-bus-adapter/memory-event-bus-adapter.js.map +0 -1
  285. package/dist/cjs/event-bus/implementations/no-op-event-bus-adapter/_module.js.map +0 -1
  286. package/dist/cjs/event-bus/implementations/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +0 -1
  287. package/dist/cjs/event-bus/implementations/redis-event-bus-adapter/_module.js.map +0 -1
  288. package/dist/cjs/event-bus/implementations/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
  289. package/dist/cjs/storage/contracts/_module.js +0 -22
  290. package/dist/cjs/storage/contracts/_module.js.map +0 -1
  291. package/dist/cjs/storage/contracts/_shared.js +0 -32
  292. package/dist/cjs/storage/contracts/_shared.js.map +0 -1
  293. package/dist/cjs/storage/contracts/storage-adapter.contract.js.map +0 -1
  294. package/dist/cjs/storage/contracts/storage-events.contract.js +0 -14
  295. package/dist/cjs/storage/contracts/storage-events.contract.js.map +0 -1
  296. package/dist/cjs/storage/contracts/storage-manager.contract.js.map +0 -1
  297. package/dist/cjs/storage/contracts/storage.contract.js.map +0 -1
  298. package/dist/cjs/storage/implementations/_module.js +0 -23
  299. package/dist/cjs/storage/implementations/_module.js.map +0 -1
  300. package/dist/cjs/storage/implementations/_shared/test-utilities/_module.js.map +0 -1
  301. package/dist/cjs/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js +0 -298
  302. package/dist/cjs/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js.map +0 -1
  303. package/dist/cjs/storage/implementations/memory-storage-adapter/_module.js.map +0 -1
  304. package/dist/cjs/storage/implementations/memory-storage-adapter/memory-storage-adapter.js +0 -85
  305. package/dist/cjs/storage/implementations/memory-storage-adapter/memory-storage-adapter.js.map +0 -1
  306. package/dist/cjs/storage/implementations/mongodb-storage-adapter/_module.js +0 -6
  307. package/dist/cjs/storage/implementations/mongodb-storage-adapter/_module.js.map +0 -1
  308. package/dist/cjs/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -203
  309. package/dist/cjs/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.js.map +0 -1
  310. package/dist/cjs/storage/implementations/redis-storage-adapter/_module.js.map +0 -1
  311. package/dist/cjs/storage/implementations/redis-storage-adapter/redis-storage-adapter.js +0 -228
  312. package/dist/cjs/storage/implementations/redis-storage-adapter/redis-storage-adapter.js.map +0 -1
  313. package/dist/cjs/storage/implementations/sqlite/_module.js +0 -19
  314. package/dist/cjs/storage/implementations/sqlite/_module.js.map +0 -1
  315. package/dist/cjs/storage/implementations/sqlite/_shared/_module.js +0 -18
  316. package/dist/cjs/storage/implementations/sqlite/_shared/_module.js.map +0 -1
  317. package/dist/cjs/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.js +0 -190
  318. package/dist/cjs/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.js.map +0 -1
  319. package/dist/cjs/storage/implementations/sqlite/libsql-storage-adapter/_module.js +0 -18
  320. package/dist/cjs/storage/implementations/sqlite/libsql-storage-adapter/_module.js.map +0 -1
  321. package/dist/cjs/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.js +0 -53
  322. package/dist/cjs/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.js.map +0 -1
  323. package/dist/cjs/storage/implementations/sqlite/sqlite-storage-adapter/_module.js +0 -18
  324. package/dist/cjs/storage/implementations/sqlite/sqlite-storage-adapter/_module.js.map +0 -1
  325. package/dist/cjs/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js +0 -52
  326. package/dist/cjs/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js.map +0 -1
  327. package/dist/cjs/storage/implementations/storage/_module.js +0 -19
  328. package/dist/cjs/storage/implementations/storage/_module.js.map +0 -1
  329. package/dist/cjs/storage/implementations/storage/storage-manager.js +0 -34
  330. package/dist/cjs/storage/implementations/storage/storage-manager.js.map +0 -1
  331. package/dist/cjs/storage/implementations/storage/storage.js +0 -265
  332. package/dist/cjs/storage/implementations/storage/storage.js.map +0 -1
  333. package/dist/cjs/storage/implementations/storage/with-event-storage-adapter.js +0 -255
  334. package/dist/cjs/storage/implementations/storage/with-event-storage-adapter.js.map +0 -1
  335. package/dist/cjs/storage/implementations/storage/with-namespace-storage-adapter.js +0 -53
  336. package/dist/cjs/storage/implementations/storage/with-namespace-storage-adapter.js.map +0 -1
  337. package/dist/cjs/storage/implementations/storage/with-validation-storage-adapter.js +0 -48
  338. package/dist/cjs/storage/implementations/storage/with-validation-storage-adapter.js.map +0 -1
  339. package/dist/esm/event-bus/contracts/event-bus-manager.contract.js +0 -1
  340. package/dist/esm/event-bus/contracts/event-bus-manager.contract.js.map +0 -1
  341. package/dist/esm/event-bus/implementations/event-bus/_module.js +0 -3
  342. package/dist/esm/event-bus/implementations/event-bus/_module.js.map +0 -1
  343. package/dist/esm/event-bus/implementations/event-bus/event-bus-manager.js +0 -27
  344. package/dist/esm/event-bus/implementations/event-bus/event-bus-manager.js.map +0 -1
  345. package/dist/esm/event-bus/implementations/event-bus/event-bus.js.map +0 -1
  346. package/dist/esm/event-bus/implementations/event-bus/with-namespace-event-bus-adapter.js.map +0 -1
  347. package/dist/esm/event-bus/implementations/event-bus/with-validation-event-bus-adapter.js.map +0 -1
  348. package/dist/esm/event-bus/implementations/memory-event-bus-adapter/_module.js +0 -2
  349. package/dist/esm/event-bus/implementations/memory-event-bus-adapter/_module.js.map +0 -1
  350. package/dist/esm/event-bus/implementations/memory-event-bus-adapter/memory-event-bus-adapter.js.map +0 -1
  351. package/dist/esm/event-bus/implementations/no-op-event-bus-adapter/_module.js +0 -2
  352. package/dist/esm/event-bus/implementations/no-op-event-bus-adapter/_module.js.map +0 -1
  353. package/dist/esm/event-bus/implementations/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +0 -1
  354. package/dist/esm/event-bus/implementations/redis-event-bus-adapter/_module.js +0 -2
  355. package/dist/esm/event-bus/implementations/redis-event-bus-adapter/_module.js.map +0 -1
  356. package/dist/esm/event-bus/implementations/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
  357. package/dist/esm/storage/contracts/_module.js +0 -6
  358. package/dist/esm/storage/contracts/_module.js.map +0 -1
  359. package/dist/esm/storage/contracts/_shared.js +0 -25
  360. package/dist/esm/storage/contracts/_shared.js.map +0 -1
  361. package/dist/esm/storage/contracts/storage-adapter.contract.js +0 -1
  362. package/dist/esm/storage/contracts/storage-adapter.contract.js.map +0 -1
  363. package/dist/esm/storage/contracts/storage-events.contract.js +0 -11
  364. package/dist/esm/storage/contracts/storage-events.contract.js.map +0 -1
  365. package/dist/esm/storage/contracts/storage-manager.contract.js +0 -1
  366. package/dist/esm/storage/contracts/storage-manager.contract.js.map +0 -1
  367. package/dist/esm/storage/contracts/storage.contract.js +0 -1
  368. package/dist/esm/storage/contracts/storage.contract.js.map +0 -1
  369. package/dist/esm/storage/implementations/_module.js +0 -7
  370. package/dist/esm/storage/implementations/_module.js.map +0 -1
  371. package/dist/esm/storage/implementations/_shared/test-utilities/_module.js +0 -2
  372. package/dist/esm/storage/implementations/_shared/test-utilities/_module.js.map +0 -1
  373. package/dist/esm/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js +0 -295
  374. package/dist/esm/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js.map +0 -1
  375. package/dist/esm/storage/implementations/memory-storage-adapter/_module.js +0 -2
  376. package/dist/esm/storage/implementations/memory-storage-adapter/_module.js.map +0 -1
  377. package/dist/esm/storage/implementations/memory-storage-adapter/memory-storage-adapter.js +0 -81
  378. package/dist/esm/storage/implementations/memory-storage-adapter/memory-storage-adapter.js.map +0 -1
  379. package/dist/esm/storage/implementations/mongodb-storage-adapter/_module.js +0 -2
  380. package/dist/esm/storage/implementations/mongodb-storage-adapter/_module.js.map +0 -1
  381. package/dist/esm/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -196
  382. package/dist/esm/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.js.map +0 -1
  383. package/dist/esm/storage/implementations/redis-storage-adapter/_module.js +0 -2
  384. package/dist/esm/storage/implementations/redis-storage-adapter/_module.js.map +0 -1
  385. package/dist/esm/storage/implementations/redis-storage-adapter/redis-storage-adapter.js +0 -224
  386. package/dist/esm/storage/implementations/redis-storage-adapter/redis-storage-adapter.js.map +0 -1
  387. package/dist/esm/storage/implementations/sqlite/_module.js +0 -3
  388. package/dist/esm/storage/implementations/sqlite/_module.js.map +0 -1
  389. package/dist/esm/storage/implementations/sqlite/_shared/_module.js +0 -2
  390. package/dist/esm/storage/implementations/sqlite/_shared/_module.js.map +0 -1
  391. package/dist/esm/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.js +0 -186
  392. package/dist/esm/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.js.map +0 -1
  393. package/dist/esm/storage/implementations/sqlite/libsql-storage-adapter/_module.js +0 -2
  394. package/dist/esm/storage/implementations/sqlite/libsql-storage-adapter/_module.js.map +0 -1
  395. package/dist/esm/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.js +0 -49
  396. package/dist/esm/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.js.map +0 -1
  397. package/dist/esm/storage/implementations/sqlite/sqlite-storage-adapter/_module.js +0 -2
  398. package/dist/esm/storage/implementations/sqlite/sqlite-storage-adapter/_module.js.map +0 -1
  399. package/dist/esm/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js +0 -48
  400. package/dist/esm/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js.map +0 -1
  401. package/dist/esm/storage/implementations/storage/_module.js +0 -3
  402. package/dist/esm/storage/implementations/storage/_module.js.map +0 -1
  403. package/dist/esm/storage/implementations/storage/storage-manager.js +0 -30
  404. package/dist/esm/storage/implementations/storage/storage-manager.js.map +0 -1
  405. package/dist/esm/storage/implementations/storage/storage.js +0 -261
  406. package/dist/esm/storage/implementations/storage/storage.js.map +0 -1
  407. package/dist/esm/storage/implementations/storage/with-event-storage-adapter.js +0 -251
  408. package/dist/esm/storage/implementations/storage/with-event-storage-adapter.js.map +0 -1
  409. package/dist/esm/storage/implementations/storage/with-namespace-storage-adapter.js +0 -49
  410. package/dist/esm/storage/implementations/storage/with-namespace-storage-adapter.js.map +0 -1
  411. package/dist/esm/storage/implementations/storage/with-validation-storage-adapter.js +0 -44
  412. package/dist/esm/storage/implementations/storage/with-validation-storage-adapter.js.map +0 -1
  413. package/dist/types/event-bus/contracts/event-bus-manager.contract.d.ts +0 -120
  414. package/dist/types/event-bus/implementations/event-bus/_module.d.ts +0 -2
  415. package/dist/types/event-bus/implementations/event-bus/event-bus-manager.d.ts +0 -26
  416. package/dist/types/event-bus/implementations/memory-event-bus-adapter/_module.d.ts +0 -1
  417. package/dist/types/event-bus/implementations/no-op-event-bus-adapter/_module.d.ts +0 -1
  418. package/dist/types/event-bus/implementations/redis-event-bus-adapter/_module.d.ts +0 -1
  419. package/dist/types/storage/contracts/_module.d.ts +0 -5
  420. package/dist/types/storage/contracts/storage-adapter.contract.d.ts +0 -41
  421. package/dist/types/storage/contracts/storage-events.contract.d.ts +0 -91
  422. package/dist/types/storage/contracts/storage-manager.contract.d.ts +0 -100
  423. package/dist/types/storage/contracts/storage.contract.d.ts +0 -185
  424. package/dist/types/storage/implementations/_module.d.ts +0 -6
  425. package/dist/types/storage/implementations/_shared/test-utilities/_module.d.ts +0 -1
  426. package/dist/types/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.d.ts +0 -36
  427. package/dist/types/storage/implementations/memory-storage-adapter/_module.d.ts +0 -1
  428. package/dist/types/storage/implementations/memory-storage-adapter/memory-storage-adapter.d.ts +0 -18
  429. package/dist/types/storage/implementations/mongodb-storage-adapter/_module.d.ts +0 -1
  430. package/dist/types/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.d.ts +0 -43
  431. package/dist/types/storage/implementations/redis-storage-adapter/_module.d.ts +0 -1
  432. package/dist/types/storage/implementations/redis-storage-adapter/redis-storage-adapter.d.ts +0 -38
  433. package/dist/types/storage/implementations/sqlite/_module.d.ts +0 -2
  434. package/dist/types/storage/implementations/sqlite/_shared/_module.d.ts +0 -1
  435. package/dist/types/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.d.ts +0 -39
  436. package/dist/types/storage/implementations/sqlite/libsql-storage-adapter/_module.d.ts +0 -1
  437. package/dist/types/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.d.ts +0 -30
  438. package/dist/types/storage/implementations/sqlite/sqlite-storage-adapter/_module.d.ts +0 -1
  439. package/dist/types/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.d.ts +0 -30
  440. package/dist/types/storage/implementations/storage/_module.d.ts +0 -2
  441. package/dist/types/storage/implementations/storage/storage-manager.d.ts +0 -29
  442. package/dist/types/storage/implementations/storage/storage.d.ts +0 -114
  443. package/dist/types/storage/implementations/storage/with-event-storage-adapter.d.ts +0 -31
  444. package/dist/types/storage/implementations/storage/with-namespace-storage-adapter.d.ts +0 -24
  445. package/dist/types/storage/implementations/storage/with-validation-storage-adapter.d.ts +0 -22
  446. /package/dist/cjs/event-bus/implementations/{memory-event-bus-adapter → adapters/memory-event-bus-adapter}/memory-event-bus-adapter.js +0 -0
  447. /package/dist/cjs/event-bus/implementations/{no-op-event-bus-adapter → adapters/no-op-event-bus-adapter}/no-op-event-bus-adapter.js +0 -0
  448. /package/dist/cjs/event-bus/implementations/{event-bus → derivables}/with-validation-event-bus-adapter.js +0 -0
  449. /package/dist/esm/event-bus/implementations/{memory-event-bus-adapter → adapters/memory-event-bus-adapter}/memory-event-bus-adapter.js +0 -0
  450. /package/dist/esm/event-bus/implementations/{no-op-event-bus-adapter → adapters/no-op-event-bus-adapter}/no-op-event-bus-adapter.js +0 -0
  451. /package/dist/esm/event-bus/implementations/{event-bus → derivables}/with-validation-event-bus-adapter.js +0 -0
  452. /package/dist/types/event-bus/implementations/{event-bus → derivables}/with-namespace-event-bus-adapter.d.ts +0 -0
  453. /package/dist/types/event-bus/implementations/{event-bus → derivables}/with-validation-event-bus-adapter.d.ts +0 -0
@@ -1,251 +0,0 @@
1
- import { STORAGE_EVENTS, } from "../../../storage/contracts/_module";
2
- import { UnexpectedEventBusError, } from "../../../event-bus/contracts/_module";
3
- import { isArrayEmpty, isObjectEmpty } from "../../../_shared/utilities";
4
- export class WithEventStorageAdapter {
5
- withNamespaceStorageAdapter;
6
- eventBus;
7
- eventAttributes;
8
- constructor(withNamespaceStorageAdapter, eventBus, eventAttributes) {
9
- this.withNamespaceStorageAdapter = withNamespaceStorageAdapter;
10
- this.eventBus = eventBus;
11
- this.eventAttributes = eventAttributes;
12
- }
13
- async triggerGetManyEvents(result) {
14
- const keysNotFoundEvent = {
15
- ...this.eventAttributes,
16
- type: STORAGE_EVENTS.KEYS_NOT_FOUND,
17
- keys: [],
18
- };
19
- const keysFoundEvent = {
20
- ...this.eventAttributes,
21
- type: STORAGE_EVENTS.KEYS_FOUND,
22
- values: {},
23
- };
24
- for (const key in result) {
25
- const value = result[key];
26
- if (value === undefined) {
27
- throw new UnexpectedEventBusError(`Destructed field "key" is undefined`);
28
- }
29
- if (value === null) {
30
- keysNotFoundEvent.keys.push(key);
31
- }
32
- else {
33
- keysFoundEvent.values[key] = value;
34
- }
35
- }
36
- const events = [];
37
- if (!isArrayEmpty(keysNotFoundEvent.keys)) {
38
- events.push(keysNotFoundEvent);
39
- }
40
- if (!isObjectEmpty(keysFoundEvent.values)) {
41
- events.push(keysFoundEvent);
42
- }
43
- await this.eventBus.dispatch(events);
44
- }
45
- async getMany(keys) {
46
- const result = await this.withNamespaceStorageAdapter.getMany(keys);
47
- await this.triggerGetManyEvents(result);
48
- return result;
49
- }
50
- async triggerAddManyEvents(values, result) {
51
- const keysAddedEvent = {
52
- ...this.eventAttributes,
53
- type: STORAGE_EVENTS.KEYS_ADDED,
54
- values: {},
55
- };
56
- for (const key in result) {
57
- const value = values[key];
58
- if (value === undefined) {
59
- throw new UnexpectedEventBusError(`Destructed field "key" is undefined`);
60
- }
61
- const hasAdded = result[key];
62
- if (hasAdded) {
63
- keysAddedEvent.values[key] = value;
64
- }
65
- }
66
- if (!isObjectEmpty(keysAddedEvent.values)) {
67
- await this.eventBus.dispatch([keysAddedEvent]);
68
- }
69
- }
70
- async addMany(values) {
71
- const result = await this.withNamespaceStorageAdapter.addMany(values);
72
- await this.triggerAddManyEvents(values, result);
73
- return result;
74
- }
75
- async triggerUpdateManyEvents(values, result) {
76
- const keysUpdatedEvent = {
77
- ...this.eventAttributes,
78
- type: STORAGE_EVENTS.KEYS_UPDATED,
79
- values: {},
80
- };
81
- const keysNotFoundEvent = {
82
- ...this.eventAttributes,
83
- type: STORAGE_EVENTS.KEYS_NOT_FOUND,
84
- keys: [],
85
- };
86
- for (const key in result) {
87
- const value = values[key];
88
- if (value === undefined) {
89
- throw new UnexpectedEventBusError(`Destructed field "key" is undefined`);
90
- }
91
- const { [key]: keysExists } = result;
92
- if (keysExists) {
93
- keysUpdatedEvent.values[key] = value;
94
- }
95
- else {
96
- keysNotFoundEvent.keys.push(key);
97
- }
98
- }
99
- const events = [];
100
- if (!isObjectEmpty(keysUpdatedEvent.values)) {
101
- events.push(keysUpdatedEvent);
102
- }
103
- if (!isArrayEmpty(keysNotFoundEvent.keys)) {
104
- events.push(keysNotFoundEvent);
105
- }
106
- await this.eventBus.dispatch(events);
107
- }
108
- async updateMany(values) {
109
- const result = await this.withNamespaceStorageAdapter.updateMany(values);
110
- await this.triggerUpdateManyEvents(values, result);
111
- return result;
112
- }
113
- async triggerPutManyEvents(values, result) {
114
- const keysUpdatedEvent = {
115
- ...this.eventAttributes,
116
- type: STORAGE_EVENTS.KEYS_UPDATED,
117
- values: {},
118
- };
119
- const keysAddedEvent = {
120
- ...this.eventAttributes,
121
- type: STORAGE_EVENTS.KEYS_ADDED,
122
- values: {},
123
- };
124
- for (const key in result) {
125
- const value = values[key];
126
- if (value === undefined) {
127
- throw new UnexpectedEventBusError(`Destructed field "key" is undefined`);
128
- }
129
- const keyExists = result[key];
130
- if (keyExists) {
131
- keysUpdatedEvent.values[key] = value;
132
- }
133
- else {
134
- keysAddedEvent.values[key] = value;
135
- }
136
- }
137
- const events = [];
138
- if (!isObjectEmpty(keysUpdatedEvent.values)) {
139
- events.push(keysUpdatedEvent);
140
- }
141
- if (!isObjectEmpty(keysAddedEvent.values)) {
142
- events.push(keysAddedEvent);
143
- }
144
- await this.eventBus.dispatch(events);
145
- }
146
- async putMany(values) {
147
- const result = await this.withNamespaceStorageAdapter.putMany(values);
148
- await this.triggerPutManyEvents(values, result);
149
- return result;
150
- }
151
- async triggerRemoveManyEvents(result) {
152
- const keysRemovedEvent = {
153
- ...this.eventAttributes,
154
- type: STORAGE_EVENTS.KEYS_REMOVED,
155
- keys: [],
156
- };
157
- const keysNotFoundEvent = {
158
- ...this.eventAttributes,
159
- type: STORAGE_EVENTS.KEYS_NOT_FOUND,
160
- keys: [],
161
- };
162
- for (const key in result) {
163
- const { [key]: keysExists } = result;
164
- if (keysExists === undefined) {
165
- throw new UnexpectedEventBusError(`Destructed field "key" is undefined`);
166
- }
167
- if (keysExists) {
168
- keysRemovedEvent.keys.push(key);
169
- }
170
- else {
171
- keysNotFoundEvent.keys.push(key);
172
- }
173
- }
174
- const events = [];
175
- if (!isArrayEmpty(keysRemovedEvent.keys)) {
176
- events.push(keysRemovedEvent);
177
- }
178
- if (!isArrayEmpty(keysNotFoundEvent.keys)) {
179
- events.push(keysNotFoundEvent);
180
- }
181
- await this.eventBus.dispatch(events);
182
- }
183
- async removeMany(keys) {
184
- const result = await this.withNamespaceStorageAdapter.removeMany(keys);
185
- await this.triggerRemoveManyEvents(result);
186
- return result;
187
- }
188
- async triggerIncrementEvents(key, value, keyExists) {
189
- if (keyExists) {
190
- await this.eventBus.dispatch([
191
- {
192
- ...this.eventAttributes,
193
- type: STORAGE_EVENTS.KEY_INCREMENTED,
194
- key,
195
- value,
196
- },
197
- ]);
198
- }
199
- else {
200
- await this.eventBus.dispatch([
201
- {
202
- ...this.eventAttributes,
203
- type: STORAGE_EVENTS.KEYS_NOT_FOUND,
204
- keys: [key],
205
- },
206
- ]);
207
- }
208
- }
209
- async triggerDecrementEvents(key, value, keyExists) {
210
- if (keyExists) {
211
- await this.eventBus.dispatch([
212
- {
213
- ...this.eventAttributes,
214
- type: STORAGE_EVENTS.KEY_DECREMENTED,
215
- key,
216
- value,
217
- },
218
- ]);
219
- }
220
- else {
221
- await this.eventBus.dispatch([
222
- {
223
- ...this.eventAttributes,
224
- type: STORAGE_EVENTS.KEYS_NOT_FOUND,
225
- keys: [key],
226
- },
227
- ]);
228
- }
229
- }
230
- async increment(key, value) {
231
- const keyExists = await this.withNamespaceStorageAdapter.increment(key, value);
232
- if (value > 0) {
233
- await this.triggerIncrementEvents(key, value, keyExists);
234
- }
235
- else if (value < 0) {
236
- await this.triggerDecrementEvents(key, value, keyExists);
237
- }
238
- return keyExists;
239
- }
240
- async triggerClearEvents() {
241
- await this.eventBus.dispatch({
242
- ...this.eventAttributes,
243
- type: STORAGE_EVENTS.KEYS_CLEARED,
244
- });
245
- }
246
- async clear() {
247
- await this.withNamespaceStorageAdapter.clear();
248
- await this.triggerClearEvents();
249
- }
250
- }
251
- //# sourceMappingURL=with-event-storage-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"with-event-storage-adapter.js","sourceRoot":"","sources":["../../../../../src/storage/implementations/storage/with-event-storage-adapter.ts"],"names":[],"mappings":"AAUA,OAAO,EACH,cAAc,GAKjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACH,uBAAuB,GAE1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKlE,MAAM,OAAO,uBAAuB;IAIX;IACA;IACA;IAHrB,YACqB,2BAA+D,EAC/D,QAA4C,EAC5C,eAA6B;QAF7B,gCAA2B,GAA3B,2BAA2B,CAAoC;QAC/D,aAAQ,GAAR,QAAQ,CAAoC;QAC5C,oBAAe,GAAf,eAAe,CAAc;IAC/C,CAAC;IAEI,KAAK,CAAC,oBAAoB,CAC9B,MAAoC;QAEpC,MAAM,iBAAiB,GAA6B;YAChD,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,cAAc;YACnC,IAAI,EAAE,EAAE;SACX,CAAC;QACF,MAAM,cAAc,GAAiC;YACjD,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,UAAU;YAC/B,MAAM,EAAE,EAAE;SACb,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,uBAAuB,CAC7B,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACJ,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO,CACT,IAAa;QAEb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEpE,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAExC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAC9B,MAA6B,EAC7B,MAA+B;QAE/B,MAAM,cAAc,GAAiC;YACjD,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,UAAU;YAC/B,MAAM,EAAE,EAAE;SACb,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,uBAAuB,CAC7B,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACX,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CACT,MAA4B;QAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACjC,MAA6B,EAC7B,MAA+B;QAE/B,MAAM,gBAAgB,GAAmC;YACrD,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,YAAY;YACjC,MAAM,EAAE,EAAE;SACb,CAAC;QACF,MAAM,iBAAiB,GAA6B;YAChD,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,cAAc;YACnC,IAAI,EAAE,EAAE;SACX,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,uBAAuB,CAC7B,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YACrC,IAAI,UAAU,EAAE,CAAC;gBACb,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,MAA4B;QAE5B,MAAM,MAAM,GACR,MAAM,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE9D,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAC9B,MAA6B,EAC7B,MAA+B;QAE/B,MAAM,gBAAgB,GAAmC;YACrD,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,YAAY;YACjC,MAAM,EAAE,EAAE;SACb,CAAC;QACF,MAAM,cAAc,GAAiC;YACjD,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,UAAU;YAC/B,MAAM,EAAE,EAAE;SACb,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,uBAAuB,CAC7B,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,SAAS,EAAE,CAAC;gBACZ,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO,CACT,MAA4B;QAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEtE,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACjC,MAA+B;QAE/B,MAAM,gBAAgB,GAA4B;YAC9C,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,YAAY;YACjC,IAAI,EAAE,EAAE;SACX,CAAC;QACF,MAAM,iBAAiB,GAA6B;YAChD,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,cAAc;YACnC,IAAI,EAAE,EAAE;SACX,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YACrC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,uBAAuB,CAC7B,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,IAAa;QAEb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAChC,GAAW,EACX,KAAa,EACb,SAAkB;QAElB,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACzB;oBACI,GAAG,IAAI,CAAC,eAAe;oBACvB,IAAI,EAAE,cAAc,CAAC,eAAe;oBACpC,GAAG;oBACH,KAAK;iBACR;aACJ,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACzB;oBACI,GAAG,IAAI,CAAC,eAAe;oBACvB,IAAI,EAAE,cAAc,CAAC,cAAc;oBACnC,IAAI,EAAE,CAAC,GAAG,CAAC;iBACd;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAChC,GAAW,EACX,KAAa,EACb,SAAkB;QAElB,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACzB;oBACI,GAAG,IAAI,CAAC,eAAe;oBACvB,IAAI,EAAE,cAAc,CAAC,eAAe;oBACpC,GAAG;oBACH,KAAK;iBACR;aACJ,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACzB;oBACI,GAAG,IAAI,CAAC,eAAe;oBACvB,IAAI,EAAE,cAAc,CAAC,cAAc;oBACnC,IAAI,EAAE,CAAC,GAAG,CAAC;iBACd;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,KAAa;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAC9D,GAAG,EACH,KAAK,CACR,CAAC;QAEF,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzB,GAAG,IAAI,CAAC,eAAe;YACvB,IAAI,EAAE,cAAc,CAAC,YAAY;SACpC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACpC,CAAC;CACJ"}
@@ -1,49 +0,0 @@
1
- export class WithNamespaceStorageAdapter {
2
- storageAdapter;
3
- namespace;
4
- constructor(storageAdapter, namespace) {
5
- this.storageAdapter = storageAdapter;
6
- this.namespace = namespace;
7
- }
8
- withNamespace(key) {
9
- return `${this.namespace}${key}`;
10
- }
11
- withNamespaceArray(keys) {
12
- return keys.map((key) => this.withNamespace(key));
13
- }
14
- withNamespaceObject(object) {
15
- return Object.fromEntries(Object.entries(object).map(([key, value]) => {
16
- return [this.withNamespace(key), value];
17
- }));
18
- }
19
- withoutNamespace(key) {
20
- return key.slice(this.namespace.length);
21
- }
22
- withoutNamespaceObject(object) {
23
- return Object.fromEntries(Object.entries(object).map(([key, value]) => {
24
- return [this.withoutNamespace(key), value];
25
- }));
26
- }
27
- async getMany(keys) {
28
- return this.withoutNamespaceObject(await this.storageAdapter.getMany(this.withNamespaceArray(keys)));
29
- }
30
- async addMany(values) {
31
- return this.withoutNamespaceObject(await this.storageAdapter.addMany(this.withNamespaceObject(values)));
32
- }
33
- async updateMany(values) {
34
- return this.withoutNamespaceObject(await this.storageAdapter.updateMany(this.withNamespaceObject(values)));
35
- }
36
- async putMany(values) {
37
- return this.withoutNamespaceObject(await this.storageAdapter.putMany(this.withNamespaceObject(values)));
38
- }
39
- async removeMany(keys) {
40
- return this.withoutNamespaceObject(await this.storageAdapter.removeMany(this.withNamespaceArray(keys)));
41
- }
42
- async increment(key, value) {
43
- return await this.storageAdapter.increment(this.withNamespace(key), value);
44
- }
45
- async clear() {
46
- await this.storageAdapter.clear(this.namespace);
47
- }
48
- }
49
- //# sourceMappingURL=with-namespace-storage-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"with-namespace-storage-adapter.js","sourceRoot":"","sources":["../../../../../src/storage/implementations/storage/with-namespace-storage-adapter.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,2BAA2B;IAIf;IACA;IAFrB,YACqB,cAAsC,EACtC,SAAiB;QADjB,mBAAc,GAAd,cAAc,CAAwB;QACtC,cAAS,GAAT,SAAS,CAAQ;IACnC,CAAC;IAEI,aAAa,CAAC,GAAW;QAC7B,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;IACrC,CAAC;IAEO,kBAAkB,CAAC,IAAc;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAEO,mBAAmB,CACvB,MAA8B;QAE9B,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEO,gBAAgB,CAAC,GAAW;QAChC,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAEO,sBAAsB,CAC1B,MAA8B;QAE9B,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CACT,IAAa;QAEb,OAAO,IAAI,CAAC,sBAAsB,CAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CACT,MAA4B;QAE5B,OAAO,IAAI,CAAC,sBAAsB,CAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CACtE,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,MAA4B;QAE5B,OAAO,IAAI,CAAC,sBAAsB,CAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAChC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CACnC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CACT,MAA4B;QAE5B,OAAO,IAAI,CAAC,sBAAsB,CAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CACtE,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,IAAa;QAEb,OAAO,IAAI,CAAC,sBAAsB,CAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,KAAa;QACtC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EACvB,KAAK,CACR,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACJ"}
@@ -1,44 +0,0 @@
1
- export class WithValidationStorageAdapter {
2
- storageAdapter;
3
- validator;
4
- constructor(storageAdapter, validator) {
5
- this.storageAdapter = storageAdapter;
6
- this.validator = validator;
7
- }
8
- validateOutput(values) {
9
- return Object.fromEntries(Object.entries(values).map(([key, value]) => {
10
- if (value === null) {
11
- return [key, value];
12
- }
13
- return [key, this.validator(value)];
14
- }));
15
- }
16
- validateInput(values) {
17
- return Object.fromEntries(Object.entries(values).map(([key, value]) => [
18
- key,
19
- this.validator(value),
20
- ]));
21
- }
22
- async getMany(keys) {
23
- return this.validateOutput(await this.storageAdapter.getMany(keys));
24
- }
25
- async addMany(values) {
26
- return await this.storageAdapter.addMany(this.validateInput(values));
27
- }
28
- async updateMany(values) {
29
- return await this.storageAdapter.updateMany(this.validateInput(values));
30
- }
31
- async putMany(values) {
32
- return await this.storageAdapter.putMany(this.validateInput(values));
33
- }
34
- async removeMany(keys) {
35
- return await this.storageAdapter.removeMany(keys);
36
- }
37
- async increment(key, value) {
38
- return await this.storageAdapter.increment(key, this.validator(value));
39
- }
40
- async clear(prefix) {
41
- await this.storageAdapter.clear(prefix);
42
- }
43
- }
44
- //# sourceMappingURL=with-validation-storage-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"with-validation-storage-adapter.js","sourceRoot":"","sources":["../../../../../src/storage/implementations/storage/with-validation-storage-adapter.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,4BAA4B;IAIhB;IACA;IAFrB,YACqB,cAAsC,EACtC,SAA2B;QAD3B,mBAAc,GAAd,cAAc,CAAwB;QACtC,cAAS,GAAT,SAAS,CAAkB;IAC7C,CAAC;IAEI,cAAc,CAClB,MAAmC;QAEnC,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACxC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CACmB,CAAC;IAC9B,CAAC;IAEO,aAAa,CACjB,MAA4B;QAE5B,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACzC,GAAG;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACxB,CAAC,CACmB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CACT,IAAa;QAEb,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,OAAO,CACT,MAA4B;QAE5B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,MAA4B;QAE5B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,OAAO,CACT,MAA4B;QAE5B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,IAAa;QAEb,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,KAAa;QACtC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CACtC,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAW,CAClC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc;QACtB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;CACJ"}
@@ -1,120 +0,0 @@
1
- /**
2
- * @module EventBus
3
- */
4
- import { type Validator } from "../../utilities/_module";
5
- import type { INamespacedEventBus } from "../../event-bus/contracts/event-bus.contract";
6
- import type { IBaseEvent } from "../../event-bus/contracts/_shared";
7
- /**
8
- * The <i>IEventBusFactory</i> contract makes it easy to switch between different <i>{@link IEventBusAdapter | event adapters}</i> dynamically.
9
- * @group Contracts
10
- */
11
- export type IEventBusFactory<TAdapters extends string = string, TEvents extends IBaseEvent = IBaseEvent> = {
12
- /**
13
- * @example
14
- * ```ts
15
- * import { EventBusManager, MemoryEventBusAdapter, RedisEventBusAdapter } from "@daiso-tech/core";
16
- * import Redis from "ioredis";
17
- *
18
- * const eventBusManager = new EventBusManager({
19
- * adapters: {
20
- * memory: new MemoryEventBusAdapter(),
21
- * redis: new RedisEventBusAdapter({
22
- * dispatcherClient: new Redis();
23
- * listenerClient: new Redis();
24
- * }),
25
- * },
26
- * defaultAdapter: "memory",
27
- * rootNamespace: "@storage/"
28
- * });
29
- *
30
- * (async () => {
31
- * // Will dispatch envent using the default adapter which is the memory addapter
32
- * await eventBusManager
33
- * .use()
34
- * .dispatch({ type: "add", a: 1, b: 2 });
35
- * // Will dispatch envent using the redis addapter
36
- * await eventBusManager
37
- * .use("redis")
38
- * .dispatch({ type: "add", a: 1, b: 2 });
39
- * })();
40
- * ```
41
- */
42
- use(adapter?: TAdapters): INamespacedEventBus<TEvents>;
43
- };
44
- /**
45
- * The <i>IEventBusManager</i> contract makes it easy to configure and switch between different <i>{@link IEventBusAdapter | event adapters}</i> dynamically.
46
- * @group Contracts
47
- */
48
- export type IEventBusManager<TAdapters extends string = string, TEvents extends IBaseEvent = IBaseEvent> = IEventBusFactory<TAdapters, TEvents> & {
49
- /**
50
- * The <i>withValidation</i> method is used to set a <i>validator</i>, which validates the event during runtime.
51
- * The type is inferred from the provided <i>validator</i>.
52
- * @example
53
- * ```ts
54
- * import { EventBusManager, MemoryEventBusAdapter, RedisEventBusAdapter, zodValidator } from "@daiso-tech/core";
55
- * import Redis from "ioredis";
56
- * import { z } from "zod"
57
- *
58
- * const eventBusManager = new EventBusManager({
59
- * adapters: {
60
- * memory: new MemoryEventBusAdapter(),
61
- * redis: new RedisEventBusAdapter({
62
- * dispatcherClient: new Redis();
63
- * listenerClient: new Redis();
64
- * }),
65
- * },
66
- * defaultAdapter: "memory",
67
- * rootNamespace: "@storage/"
68
- * });
69
- *
70
- * (async () => {
71
- * const addEventSchema = z.zod({
72
- * type: z.literal("add"),
73
- * a: z.number(),
74
- * b: z.number(),
75
- * });
76
- * await eventBusManager
77
- * .withValidation(zodValidator(addEventSchema))
78
- * .use()
79
- * // You will se an typescript error and get runtime erorr
80
- * .dispatch({ type: "add" });
81
- * })();
82
- * ```
83
- */
84
- withValidation<TOutput extends TEvents = TEvents>(validator: Validator<TOutput>): IEventBusFactory<TAdapters, TOutput>;
85
- /**
86
- * The <i>withTypes</i> method is used to set the event types of the <i>{@link IEventBus}</i>.
87
- * @example
88
- * ```ts
89
- * import { EventBusManager, MemoryEventBusAdapter, RedisEventBusAdapter, zodValidator } from "@daiso-tech/core";
90
- * import Redis from "ioredis";
91
- * import { z } from "zod"
92
- *
93
- * const eventBusManager = new EventBusManager({
94
- * adapters: {
95
- * memory: new MemoryEventBusAdapter(),
96
- * redis: new RedisEventBusAdapter({
97
- * dispatcherClient: new Redis();
98
- * listenerClient: new Redis();
99
- * }),
100
- * },
101
- * defaultAdapter: "memory",
102
- * rootNamespace: "@storage/"
103
- * });
104
- *
105
- * (async () => {
106
- * type AddEvent = {
107
- * type: "add";
108
- * a: number;
109
- * b: number;
110
- * };
111
- * await eventBusManager
112
- * .withTypes<AddEvent>()
113
- * .use()
114
- * // You will se an typescript error
115
- * .dispatch({ type: "add" });
116
- * })();
117
- * ```
118
- */
119
- withType<TOutput extends TEvents = TEvents>(): IEventBusFactory<TAdapters, TOutput>;
120
- };
@@ -1,2 +0,0 @@
1
- export * from "../../../event-bus/implementations/event-bus/event-bus";
2
- export * from "../../../event-bus/implementations/event-bus/event-bus-manager";
@@ -1,26 +0,0 @@
1
- /**
2
- * @module EventBus
3
- */
4
- import { type Validator } from "../../../utilities/_module";
5
- import type { INamespacedEventBus, IEventBusAdapter, IEventBusManager, IBaseEvent, IEventBusFactory } from "../../../event-bus/contracts/_module";
6
- /**
7
- * @group Derivables
8
- */
9
- export type EventBusManagerSettings<TAdapters extends string = string> = {
10
- adapters: Record<TAdapters, IEventBusAdapter>;
11
- defaultAdapter: NoInfer<TAdapters>;
12
- rootNamespace: string;
13
- };
14
- /**
15
- * @group Derivables
16
- */
17
- export declare class EventBusManager<TAdapters extends string = string, TEvent extends IBaseEvent = IBaseEvent> implements IEventBusManager<TAdapters> {
18
- private readonly adapters;
19
- private readonly defaultAdapter;
20
- private readonly rootNamespace;
21
- private validator;
22
- constructor(settings: EventBusManagerSettings<TAdapters>);
23
- use(adapter?: TAdapters): INamespacedEventBus<TEvent>;
24
- withValidation<TOutput extends IBaseEvent = IBaseEvent>(validator: Validator<TOutput>): IEventBusFactory<TAdapters, TOutput>;
25
- withType<TOutput extends IBaseEvent = IBaseEvent>(): IEventBusFactory<TAdapters, TOutput>;
26
- }
@@ -1 +0,0 @@
1
- export * from "../../../event-bus/implementations/memory-event-bus-adapter/_module";
@@ -1 +0,0 @@
1
- export * from "../../../event-bus/implementations/no-op-event-bus-adapter/no-op-event-bus-adapter";
@@ -1 +0,0 @@
1
- export * from "../../../event-bus/implementations/memory-event-bus-adapter/_module";
@@ -1,5 +0,0 @@
1
- export * from "../../storage/contracts/_shared";
2
- export * from "../../storage/contracts/storage.contract";
3
- export * from "../../storage/contracts/storage-adapter.contract";
4
- export * from "../../storage/contracts/storage-events.contract";
5
- export * from "../../storage/contracts/storage-manager.contract";
@@ -1,41 +0,0 @@
1
- /**
2
- * @module Storage
3
- */
4
- /**
5
- * The <i>IStorageAdapter</i> contract defines a way for storing data as key-value pairs independent of storage.
6
- * This interface is not meant to be used directly, instead you should use <i>IStorage</i>
7
- * @group Contracts
8
- */
9
- export type IStorageAdapter<TType = unknown> = {
10
- /**
11
- * The <i>getMany</i> returns the value for the <i>keys</i> that are found otherwise null will be returned.
12
- */
13
- getMany<TKeys extends string>(keys: TKeys[]): PromiseLike<Record<TKeys, TType | null>>;
14
- /**
15
- * The <i>addMany</i> method adds the keys that doesn't exists. Returns true for the keys that doesn't exists otherwise false will be returned.
16
- */
17
- addMany<TKeys extends string>(values: Record<TKeys, TType>): PromiseLike<Record<TKeys, boolean>>;
18
- /**
19
- * The <i>updateMany</i> method updates the given keys. Returns true for the keys that exists otherwise false will be returned.
20
- */
21
- updateMany<TKeys extends string>(values: Record<TKeys, TType>): PromiseLike<Record<TKeys, boolean>>;
22
- /**
23
- * The <i>putMany</i> method replaces the keys that are found. Adds keys that are not found. Returns true for all the keys that are found otherwise false is returned.
24
- */
25
- putMany<TKeys extends string>(values: Record<TKeys, TType>): PromiseLike<Record<TKeys, boolean>>;
26
- /**
27
- * The <i>removesMany</i> method removes the keys that are found. Returns true for the keys that are found otherwise false is returned.
28
- */
29
- removeMany<TKeys extends string>(keys: TKeys[]): PromiseLike<Record<TKeys, boolean>>;
30
- /**
31
- * The <i>increment</i> method will increment the given <i>key</i> if found otherwise nonthing will occur.
32
- * Returns true if key exists otherwise false will be returned.
33
- * An error will thrown if the key is not a number.
34
- * @throws {TypeStorageError} {@link TypeStorageError}
35
- */
36
- increment(key: string, value: number): PromiseLike<boolean>;
37
- /**
38
- * The <i>clear</i> method removes all keys that starts <i>prefix</i>.
39
- */
40
- clear(prefix: string): PromiseLike<void>;
41
- };
@@ -1,91 +0,0 @@
1
- /**
2
- * @module Storage
3
- */
4
- import type { IStorageAdapter } from "../../storage/contracts/storage-adapter.contract";
5
- /**
6
- * Name of all the events of <i>{@link IStorage}</i>.
7
- * @group Events
8
- */
9
- export declare const STORAGE_EVENTS: {
10
- readonly KEYS_FOUND: "keys_found";
11
- readonly KEYS_NOT_FOUND: "keys_not_found";
12
- readonly KEYS_ADDED: "keys_added";
13
- readonly KEYS_UPDATED: "keys_updated";
14
- readonly KEYS_REMOVED: "keys_removed";
15
- readonly KEYS_CLEARED: "keys_cleared";
16
- readonly KEY_INCREMENTED: "key_incremented";
17
- readonly KEY_DECREMENTED: "key_decremented";
18
- };
19
- /**
20
- * @group Events
21
- */
22
- export type StorageEventNames = (typeof STORAGE_EVENTS)[keyof typeof STORAGE_EVENTS];
23
- /**
24
- * @group Events
25
- */
26
- export type StorageEvent = {
27
- namespace: string;
28
- adapter: IStorageAdapter<any>;
29
- };
30
- /**
31
- * @group Events
32
- */
33
- export type KeysFoundStorageEvent<TType> = StorageEvent & {
34
- type: (typeof STORAGE_EVENTS)["KEYS_FOUND"];
35
- values: Record<string, TType>;
36
- };
37
- /**
38
- * @group Events
39
- */
40
- export type KeysNotFoundStorageEvent = StorageEvent & {
41
- type: (typeof STORAGE_EVENTS)["KEYS_NOT_FOUND"];
42
- keys: string[];
43
- };
44
- /**
45
- * @group Events
46
- */
47
- export type KeysAddedStorageEvent<TType> = StorageEvent & {
48
- type: (typeof STORAGE_EVENTS)["KEYS_ADDED"];
49
- values: Record<string, TType>;
50
- };
51
- /**
52
- * @group Events
53
- */
54
- export type KeysUpdatedStorageEvent<TType> = StorageEvent & {
55
- type: (typeof STORAGE_EVENTS)["KEYS_UPDATED"];
56
- values: Record<string, TType>;
57
- };
58
- /**
59
- * @group Events
60
- */
61
- export type KeyIncrementedStorageEvent = StorageEvent & {
62
- type: (typeof STORAGE_EVENTS)["KEY_INCREMENTED"];
63
- key: string;
64
- value: number;
65
- };
66
- /**
67
- * @group Events
68
- */
69
- export type KeyDecrementedStorageEvent = StorageEvent & {
70
- type: (typeof STORAGE_EVENTS)["KEY_DECREMENTED"];
71
- key: string;
72
- value: number;
73
- };
74
- /**
75
- * @group Events
76
- */
77
- export type KeysRemovedStorageEvent = StorageEvent & {
78
- type: (typeof STORAGE_EVENTS)["KEYS_REMOVED"];
79
- keys: string[];
80
- };
81
- /**
82
- * This event will be triggered when storage is cleared.
83
- * @group Events
84
- */
85
- export type KeysClearedStorageEvent = StorageEvent & {
86
- type: (typeof STORAGE_EVENTS)["KEYS_CLEARED"];
87
- };
88
- /**
89
- * @group Events
90
- */
91
- export type AllStorageEvents<TType = unknown> = KeysFoundStorageEvent<TType> | KeysNotFoundStorageEvent | KeysAddedStorageEvent<TType> | KeysUpdatedStorageEvent<TType> | KeysRemovedStorageEvent | KeysClearedStorageEvent | KeyIncrementedStorageEvent | KeyDecrementedStorageEvent;