@daiso-tech/core 0.15.0 → 0.17.4

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 (494) hide show
  1. package/dist/cjs/_module.js +2 -2
  2. package/dist/cjs/_module.js.map +1 -1
  3. package/dist/cjs/async/_module.js +1 -1
  4. package/dist/cjs/async/_module.js.map +1 -1
  5. package/dist/cjs/async/backof-policies/_module.js +1 -0
  6. package/dist/cjs/async/backof-policies/_module.js.map +1 -1
  7. package/dist/cjs/async/utilities/_module.js +3 -0
  8. package/dist/cjs/async/utilities/_module.js.map +1 -1
  9. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +21 -12
  10. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  11. package/dist/cjs/cache/contracts/cache.events.js +168 -0
  12. package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
  13. package/dist/cjs/cache/implementations/_shared/_module.js +1 -0
  14. package/dist/cjs/cache/implementations/_shared/_module.js.map +1 -1
  15. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +256 -177
  16. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  17. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +23 -2
  18. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  19. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +63 -20
  20. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  21. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -1
  22. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
  23. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +56 -0
  24. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -0
  25. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +30 -16
  26. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  27. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js +1 -0
  28. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
  29. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +26 -0
  30. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -0
  31. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +66 -39
  32. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  33. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -1
  34. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
  35. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +44 -0
  36. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -0
  37. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +78 -28
  38. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  39. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +10 -1
  40. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  41. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js +1 -0
  42. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
  43. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +32 -0
  44. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -0
  45. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +55 -23
  46. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  47. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +1 -0
  48. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
  49. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +56 -0
  50. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -0
  51. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +31 -17
  52. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  53. package/dist/cjs/cache/implementations/derivables/_module.js +3 -2
  54. package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -1
  55. package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js +65 -0
  56. package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js.map +1 -0
  57. package/dist/cjs/cache/implementations/derivables/cache-factory.js +29 -18
  58. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -1
  59. package/dist/cjs/cache/implementations/derivables/cache-settings.js +56 -0
  60. package/dist/cjs/cache/implementations/derivables/cache-settings.js.map +1 -0
  61. package/dist/cjs/cache/implementations/derivables/cache.js +334 -79
  62. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -1
  63. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js +14 -7
  64. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js.map +1 -1
  65. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +1 -1
  66. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -1
  67. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +1 -1
  68. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -1
  69. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +1 -1
  70. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -1
  71. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +62 -41
  72. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  73. package/dist/cjs/collection/implementations/iterable-collection/_shared/merge-iterable.js +6 -7
  74. package/dist/cjs/collection/implementations/iterable-collection/_shared/merge-iterable.js.map +1 -1
  75. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js +11 -2
  76. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  77. package/dist/cjs/collection/implementations/list-collection/list-collection.js +13 -0
  78. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  79. package/dist/cjs/event-bus/contracts/_module.js +2 -2
  80. package/dist/cjs/event-bus/contracts/_module.js.map +1 -1
  81. package/dist/cjs/event-bus/contracts/_shared.js +7 -0
  82. package/dist/cjs/event-bus/contracts/_shared.js.map +1 -1
  83. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +98 -38
  84. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  85. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +197 -125
  86. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  87. package/dist/cjs/event-bus/implementations/adapters/_module.js +1 -1
  88. package/dist/cjs/event-bus/implementations/adapters/_module.js.map +1 -1
  89. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -1
  90. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
  91. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +26 -0
  92. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -0
  93. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +29 -11
  94. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  95. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +9 -3
  96. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  97. package/dist/cjs/{serializer/implementations/_shared/test-utilities → event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter}/_module.js +2 -1
  98. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -0
  99. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +38 -0
  100. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -0
  101. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +56 -0
  102. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -0
  103. package/dist/cjs/event-bus/implementations/derivables/_module.js +3 -1
  104. package/dist/cjs/event-bus/implementations/derivables/_module.js.map +1 -1
  105. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js +59 -0
  106. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js.map +1 -0
  107. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +28 -17
  108. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  109. package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js +56 -0
  110. package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js.map +1 -0
  111. package/dist/cjs/event-bus/implementations/derivables/event-bus.js +106 -37
  112. package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -1
  113. package/dist/cjs/serde/contracts/_module.js +23 -0
  114. package/dist/cjs/serde/contracts/_module.js.map +1 -0
  115. package/dist/cjs/serde/contracts/deserializer.contract.js +3 -0
  116. package/dist/cjs/serde/contracts/deserializer.contract.js.map +1 -0
  117. package/dist/cjs/serde/contracts/flexible-serde.contract.js +3 -0
  118. package/dist/cjs/serde/contracts/flexible-serde.contract.js.map +1 -0
  119. package/dist/cjs/serde/contracts/serde.contract.js +3 -0
  120. package/dist/cjs/serde/contracts/serde.contract.js.map +1 -0
  121. package/dist/cjs/{serializer/contracts/serializer.errors.js → serde/contracts/serde.errors.js} +7 -7
  122. package/dist/cjs/serde/contracts/serde.errors.js.map +1 -0
  123. package/dist/cjs/serde/contracts/serializable.contract.js +3 -0
  124. package/dist/cjs/serde/contracts/serializable.contract.js.map +1 -0
  125. package/dist/cjs/serde/contracts/serializer.contract.js.map +1 -0
  126. package/dist/cjs/{serializer → serde}/implementations/_module.js +6 -5
  127. package/dist/cjs/serde/implementations/_module.js.map +1 -0
  128. package/dist/cjs/{serializer/contracts → serde/implementations/_shared/test-utilities}/_module.js +2 -2
  129. package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js.map +1 -0
  130. package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +53 -0
  131. package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -0
  132. package/dist/cjs/{serializer/implementations/_shared/test-utilities/serializer.test-suite.js → serde/implementations/_shared/test-utilities/serde.test-suite.js} +68 -93
  133. package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -0
  134. package/dist/cjs/{serializer/implementations/sql-serializer → serde/implementations/mongodb-serde}/_module.js +1 -1
  135. package/dist/cjs/serde/implementations/mongodb-serde/_module.js.map +1 -0
  136. package/dist/cjs/serde/implementations/mongodb-serde/mongodb-serde.js +36 -0
  137. package/dist/cjs/serde/implementations/mongodb-serde/mongodb-serde.js.map +1 -0
  138. package/dist/cjs/{serializer/implementations/redis-serializer → serde/implementations/no-op-serde}/_module.js +1 -1
  139. package/dist/cjs/serde/implementations/no-op-serde/_module.js.map +1 -0
  140. package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js +16 -0
  141. package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js.map +1 -0
  142. package/dist/cjs/{serializer/implementations/mongodb-serializer → serde/implementations/redis-serde}/_module.js +1 -1
  143. package/dist/cjs/serde/implementations/redis-serde/_module.js.map +1 -0
  144. package/dist/cjs/serde/implementations/redis-serde/redis-serde.js +37 -0
  145. package/dist/cjs/serde/implementations/redis-serde/redis-serde.js.map +1 -0
  146. package/dist/cjs/{event-bus/implementations/adapters/redis-event-bus-adapter → serde/implementations/sql-serde}/_module.js +1 -1
  147. package/dist/cjs/serde/implementations/sql-serde/_module.js.map +1 -0
  148. package/dist/cjs/serde/implementations/sql-serde/sql-serde.js +37 -0
  149. package/dist/cjs/serde/implementations/sql-serde/sql-serde.js.map +1 -0
  150. package/dist/cjs/serde/implementations/super-json-serde/_module.js +18 -0
  151. package/dist/cjs/serde/implementations/super-json-serde/_module.js.map +1 -0
  152. package/dist/cjs/{serializer/implementations/super-json-serializer/super-json-serializer.js → serde/implementations/super-json-serde/super-json-serde.js} +77 -100
  153. package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js.map +1 -0
  154. package/dist/cjs/utilities/contracts/_module.js +1 -0
  155. package/dist/cjs/utilities/contracts/_module.js.map +1 -1
  156. package/dist/cjs/utilities/contracts/buildable.contract.js +3 -0
  157. package/dist/cjs/utilities/contracts/buildable.contract.js.map +1 -0
  158. package/dist/cjs/utilities/errors.js +10 -10
  159. package/dist/cjs/utilities/errors.js.map +1 -1
  160. package/dist/cjs/utilities/functions.js +9 -5
  161. package/dist/cjs/utilities/functions.js.map +1 -1
  162. package/dist/cjs/utilities/time-span/time-span.js +8 -0
  163. package/dist/cjs/utilities/time-span/time-span.js.map +1 -1
  164. package/dist/esm/_module.js +2 -2
  165. package/dist/esm/_module.js.map +1 -1
  166. package/dist/esm/async/_module.js +1 -1
  167. package/dist/esm/async/_module.js.map +1 -1
  168. package/dist/esm/async/backof-policies/_module.js +1 -0
  169. package/dist/esm/async/backof-policies/_module.js.map +1 -1
  170. package/dist/esm/async/utilities/_module.js +3 -0
  171. package/dist/esm/async/utilities/_module.js.map +1 -1
  172. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +21 -12
  173. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  174. package/dist/esm/cache/contracts/cache.events.js +158 -0
  175. package/dist/esm/cache/contracts/cache.events.js.map +1 -1
  176. package/dist/esm/cache/implementations/_shared/_module.js +1 -0
  177. package/dist/esm/cache/implementations/_shared/_module.js.map +1 -1
  178. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +256 -177
  179. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  180. package/dist/esm/cache/implementations/_shared/cache.test-suite.js +23 -2
  181. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  182. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +64 -21
  183. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  184. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -1
  185. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
  186. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +52 -0
  187. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -0
  188. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +29 -15
  189. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  190. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +1 -0
  191. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
  192. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +22 -0
  193. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -0
  194. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +66 -39
  195. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  196. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -1
  197. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
  198. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +40 -0
  199. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -0
  200. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +78 -25
  201. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  202. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +10 -1
  203. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  204. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +1 -0
  205. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
  206. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +28 -0
  207. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -0
  208. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +55 -23
  209. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  210. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +1 -0
  211. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
  212. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +52 -0
  213. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -0
  214. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +29 -15
  215. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  216. package/dist/esm/cache/implementations/derivables/_module.js +3 -2
  217. package/dist/esm/cache/implementations/derivables/_module.js.map +1 -1
  218. package/dist/esm/cache/implementations/derivables/cache-factory-settings.js +61 -0
  219. package/dist/esm/cache/implementations/derivables/cache-factory-settings.js.map +1 -0
  220. package/dist/esm/cache/implementations/derivables/cache-factory.js +30 -19
  221. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -1
  222. package/dist/esm/cache/implementations/derivables/cache-settings.js +52 -0
  223. package/dist/esm/cache/implementations/derivables/cache-settings.js.map +1 -0
  224. package/dist/esm/cache/implementations/derivables/cache.js +333 -78
  225. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -1
  226. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js +14 -7
  227. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js.map +1 -1
  228. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +1 -1
  229. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -1
  230. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +1 -1
  231. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -1
  232. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +1 -1
  233. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -1
  234. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +62 -41
  235. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  236. package/dist/esm/collection/implementations/iterable-collection/_shared/merge-iterable.js +6 -7
  237. package/dist/esm/collection/implementations/iterable-collection/_shared/merge-iterable.js.map +1 -1
  238. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js +11 -2
  239. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  240. package/dist/esm/collection/implementations/list-collection/list-collection.js +13 -0
  241. package/dist/esm/collection/implementations/list-collection/list-collection.js.map +1 -1
  242. package/dist/esm/event-bus/contracts/_module.js +2 -2
  243. package/dist/esm/event-bus/contracts/_module.js.map +1 -1
  244. package/dist/esm/event-bus/contracts/_shared.js +5 -0
  245. package/dist/esm/event-bus/contracts/_shared.js.map +1 -1
  246. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +96 -36
  247. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  248. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +195 -123
  249. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  250. package/dist/esm/event-bus/implementations/adapters/_module.js +1 -1
  251. package/dist/esm/event-bus/implementations/adapters/_module.js.map +1 -1
  252. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -1
  253. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
  254. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +22 -0
  255. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -0
  256. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +29 -11
  257. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  258. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +9 -3
  259. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  260. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +3 -0
  261. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -0
  262. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +34 -0
  263. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -0
  264. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +52 -0
  265. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -0
  266. package/dist/esm/event-bus/implementations/derivables/_module.js +3 -1
  267. package/dist/esm/event-bus/implementations/derivables/_module.js.map +1 -1
  268. package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js +55 -0
  269. package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js.map +1 -0
  270. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +29 -18
  271. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  272. package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js +52 -0
  273. package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js.map +1 -0
  274. package/dist/esm/event-bus/implementations/derivables/event-bus.js +108 -39
  275. package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -1
  276. package/dist/esm/serde/contracts/_module.js +7 -0
  277. package/dist/esm/serde/contracts/_module.js.map +1 -0
  278. package/dist/esm/serde/contracts/deserializer.contract.js +1 -0
  279. package/dist/esm/serde/contracts/deserializer.contract.js.map +1 -0
  280. package/dist/esm/serde/contracts/flexible-serde.contract.js +1 -0
  281. package/dist/esm/serde/contracts/flexible-serde.contract.js.map +1 -0
  282. package/dist/esm/serde/contracts/serde.contract.js +1 -0
  283. package/dist/esm/serde/contracts/serde.contract.js.map +1 -0
  284. package/dist/esm/{serializer/contracts/serializer.errors.js → serde/contracts/serde.errors.js} +5 -5
  285. package/dist/esm/serde/contracts/serde.errors.js.map +1 -0
  286. package/dist/esm/serde/contracts/serializable.contract.js +1 -0
  287. package/dist/esm/serde/contracts/serializable.contract.js.map +1 -0
  288. package/dist/esm/serde/contracts/serializer.contract.js.map +1 -0
  289. package/dist/esm/serde/implementations/_module.js +7 -0
  290. package/dist/esm/serde/implementations/_module.js.map +1 -0
  291. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js +3 -0
  292. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js.map +1 -0
  293. package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +50 -0
  294. package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -0
  295. package/dist/esm/{serializer/implementations/_shared/test-utilities/serializer.test-suite.js → serde/implementations/_shared/test-utilities/serde.test-suite.js} +67 -92
  296. package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -0
  297. package/dist/esm/serde/implementations/mongodb-serde/_module.js +2 -0
  298. package/dist/esm/serde/implementations/mongodb-serde/_module.js.map +1 -0
  299. package/dist/esm/{serializer/implementations/mongodb-serializer/mongodb-serializer.js → serde/implementations/mongodb-serde/mongodb-serde.js} +10 -10
  300. package/dist/esm/serde/implementations/mongodb-serde/mongodb-serde.js.map +1 -0
  301. package/dist/esm/serde/implementations/no-op-serde/_module.js +2 -0
  302. package/dist/esm/serde/implementations/no-op-serde/_module.js.map +1 -0
  303. package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js +12 -0
  304. package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js.map +1 -0
  305. package/dist/esm/serde/implementations/redis-serde/_module.js +2 -0
  306. package/dist/esm/serde/implementations/redis-serde/_module.js.map +1 -0
  307. package/dist/esm/{serializer/implementations/sql-serializer/sql-serializer.js → serde/implementations/redis-serde/redis-serde.js} +10 -10
  308. package/dist/esm/serde/implementations/redis-serde/redis-serde.js.map +1 -0
  309. package/dist/esm/serde/implementations/sql-serde/_module.js +2 -0
  310. package/dist/esm/serde/implementations/sql-serde/_module.js.map +1 -0
  311. package/dist/esm/{serializer/implementations/redis-serializer/redis-serializer.js → serde/implementations/sql-serde/sql-serde.js} +10 -10
  312. package/dist/esm/serde/implementations/sql-serde/sql-serde.js.map +1 -0
  313. package/dist/esm/serde/implementations/super-json-serde/_module.js +2 -0
  314. package/dist/esm/serde/implementations/super-json-serde/_module.js.map +1 -0
  315. package/dist/esm/{serializer/implementations/super-json-serializer/super-json-serializer.js → serde/implementations/super-json-serde/super-json-serde.js} +55 -55
  316. package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js.map +1 -0
  317. package/dist/esm/utilities/contracts/_module.js +1 -0
  318. package/dist/esm/utilities/contracts/_module.js.map +1 -1
  319. package/dist/esm/utilities/contracts/buildable.contract.js +1 -0
  320. package/dist/esm/utilities/contracts/buildable.contract.js.map +1 -0
  321. package/dist/esm/utilities/errors.js +7 -7
  322. package/dist/esm/utilities/errors.js.map +1 -1
  323. package/dist/esm/utilities/functions.js +7 -4
  324. package/dist/esm/utilities/functions.js.map +1 -1
  325. package/dist/esm/utilities/time-span/time-span.js +8 -0
  326. package/dist/esm/utilities/time-span/time-span.js.map +1 -1
  327. package/dist/types/_module.d.ts +2 -2
  328. package/dist/types/async/_module.d.ts +1 -1
  329. package/dist/types/async/backof-policies/_module.d.ts +1 -1
  330. package/dist/types/async/utilities/_module.d.ts +3 -0
  331. package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +66 -39
  332. package/dist/types/cache/contracts/cache-adapter.contract.d.ts +20 -6
  333. package/dist/types/cache/contracts/cache-factory.contract.d.ts +12 -25
  334. package/dist/types/cache/contracts/cache.contract.d.ts +382 -22
  335. package/dist/types/cache/contracts/cache.events.d.ts +156 -42
  336. package/dist/types/cache/implementations/_shared/_module.d.ts +1 -0
  337. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +21 -12
  338. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +21 -15
  339. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +15 -8
  340. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +2 -1
  341. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.d.ts +48 -0
  342. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +54 -36
  343. package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +1 -0
  344. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.d.ts +27 -0
  345. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +50 -20
  346. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +2 -1
  347. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.d.ts +51 -0
  348. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +66 -41
  349. package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +6 -3
  350. package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +1 -0
  351. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.d.ts +32 -0
  352. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +51 -29
  353. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +1 -0
  354. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.d.ts +48 -0
  355. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +54 -34
  356. package/dist/types/cache/implementations/derivables/_module.d.ts +3 -2
  357. package/dist/types/cache/implementations/derivables/cache-factory-settings.d.ts +77 -0
  358. package/dist/types/cache/implementations/derivables/cache-factory.d.ts +59 -45
  359. package/dist/types/cache/implementations/derivables/cache-settings.d.ts +68 -0
  360. package/dist/types/cache/implementations/derivables/cache.d.ts +83 -62
  361. package/dist/types/collection/contracts/async-collection.contract.d.ts +1247 -666
  362. package/dist/types/collection/contracts/collection.contract.d.ts +1195 -638
  363. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.d.ts +4 -5
  364. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +1 -1
  365. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +194 -3
  366. package/dist/types/collection/implementations/iterable-collection/_shared/merge-iterable.d.ts +4 -5
  367. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +141 -1
  368. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +141 -1
  369. package/dist/types/event-bus/contracts/_module.d.ts +2 -2
  370. package/dist/types/event-bus/contracts/_shared.d.ts +11 -0
  371. package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +9 -8
  372. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +38 -32
  373. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +52 -37
  374. package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +22 -10
  375. package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +16 -13
  376. package/dist/types/event-bus/implementations/adapters/_module.d.ts +1 -1
  377. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +2 -1
  378. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.d.ts +28 -0
  379. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +53 -22
  380. package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +7 -4
  381. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.d.ts +2 -0
  382. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.d.ts +36 -0
  383. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +62 -0
  384. package/dist/types/event-bus/implementations/derivables/_module.d.ts +3 -1
  385. package/dist/types/event-bus/implementations/derivables/event-bus-factory-settings.d.ts +70 -0
  386. package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +40 -24
  387. package/dist/types/event-bus/implementations/derivables/event-bus-settings.d.ts +58 -0
  388. package/dist/types/event-bus/implementations/derivables/event-bus.d.ts +31 -45
  389. package/dist/types/serde/contracts/_module.d.ts +6 -0
  390. package/dist/types/serde/contracts/deserializer.contract.d.ts +13 -0
  391. package/dist/types/serde/contracts/flexible-serde.contract.d.ts +56 -0
  392. package/dist/types/serde/contracts/serde.contract.d.ts +10 -0
  393. package/dist/types/{serializer/contracts/serializer.errors.d.ts → serde/contracts/serde.errors.d.ts} +4 -4
  394. package/dist/types/serde/contracts/serializable.contract.d.ts +10 -0
  395. package/dist/types/serde/contracts/serializer.contract.d.ts +10 -0
  396. package/dist/types/serde/implementations/_module.d.ts +6 -0
  397. package/dist/types/serde/implementations/_shared/test-utilities/_module.d.ts +2 -0
  398. package/dist/types/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.d.ts +17 -0
  399. package/dist/types/serde/implementations/_shared/test-utilities/serde.test-suite.d.ts +17 -0
  400. package/dist/types/serde/implementations/mongodb-serde/_module.d.ts +1 -0
  401. package/dist/types/serde/implementations/mongodb-serde/mongodb-serde.d.ts +13 -0
  402. package/dist/types/serde/implementations/no-op-serde/_module.d.ts +1 -0
  403. package/dist/types/serde/implementations/no-op-serde/no-op-serde.d.ts +13 -0
  404. package/dist/types/serde/implementations/redis-serde/_module.d.ts +1 -0
  405. package/dist/types/serde/implementations/redis-serde/redis-serde.d.ts +13 -0
  406. package/dist/types/serde/implementations/sql-serde/_module.d.ts +1 -0
  407. package/dist/types/serde/implementations/sql-serde/sql-serde.d.ts +13 -0
  408. package/dist/types/serde/implementations/super-json-serde/_module.d.ts +1 -0
  409. package/dist/types/serde/implementations/super-json-serde/super-json-serde.d.ts +25 -0
  410. package/dist/types/utilities/contracts/_module.d.ts +1 -0
  411. package/dist/types/utilities/contracts/buildable.contract.d.ts +9 -0
  412. package/dist/types/utilities/errors.d.ts +3 -3
  413. package/dist/types/utilities/functions.d.ts +5 -1
  414. package/dist/types/utilities/time-span/time-span.d.ts +10 -1
  415. package/dist/types/utilities/types.d.ts +0 -1
  416. package/package.json +3 -9
  417. package/dist/cjs/cache/implementations/derivables/base-cache.js +0 -270
  418. package/dist/cjs/cache/implementations/derivables/base-cache.js.map +0 -1
  419. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +0 -1
  420. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +0 -44
  421. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
  422. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js +0 -47
  423. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js.map +0 -1
  424. package/dist/cjs/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js +0 -42
  425. package/dist/cjs/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +0 -1
  426. package/dist/cjs/serializer/contracts/_module.js.map +0 -1
  427. package/dist/cjs/serializer/contracts/serializer.contract.js.map +0 -1
  428. package/dist/cjs/serializer/contracts/serializer.errors.js.map +0 -1
  429. package/dist/cjs/serializer/implementations/_module.js.map +0 -1
  430. package/dist/cjs/serializer/implementations/_shared/test-utilities/_module.js.map +0 -1
  431. package/dist/cjs/serializer/implementations/_shared/test-utilities/serializer.test-suite.js.map +0 -1
  432. package/dist/cjs/serializer/implementations/mongodb-serializer/_module.js.map +0 -1
  433. package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js +0 -36
  434. package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +0 -1
  435. package/dist/cjs/serializer/implementations/redis-serializer/_module.js.map +0 -1
  436. package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js +0 -37
  437. package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js.map +0 -1
  438. package/dist/cjs/serializer/implementations/sql-serializer/_module.js.map +0 -1
  439. package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js +0 -37
  440. package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js.map +0 -1
  441. package/dist/cjs/serializer/implementations/super-json-serializer/_module.js +0 -18
  442. package/dist/cjs/serializer/implementations/super-json-serializer/_module.js.map +0 -1
  443. package/dist/cjs/serializer/implementations/super-json-serializer/super-json-serializer.js.map +0 -1
  444. package/dist/esm/cache/implementations/derivables/base-cache.js +0 -266
  445. package/dist/esm/cache/implementations/derivables/base-cache.js.map +0 -1
  446. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js +0 -2
  447. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +0 -1
  448. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +0 -40
  449. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
  450. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js +0 -43
  451. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js.map +0 -1
  452. package/dist/esm/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js +0 -38
  453. package/dist/esm/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +0 -1
  454. package/dist/esm/serializer/contracts/_module.js +0 -3
  455. package/dist/esm/serializer/contracts/_module.js.map +0 -1
  456. package/dist/esm/serializer/contracts/serializer.contract.js.map +0 -1
  457. package/dist/esm/serializer/contracts/serializer.errors.js.map +0 -1
  458. package/dist/esm/serializer/implementations/_module.js +0 -6
  459. package/dist/esm/serializer/implementations/_module.js.map +0 -1
  460. package/dist/esm/serializer/implementations/_shared/test-utilities/_module.js +0 -2
  461. package/dist/esm/serializer/implementations/_shared/test-utilities/_module.js.map +0 -1
  462. package/dist/esm/serializer/implementations/_shared/test-utilities/serializer.test-suite.js.map +0 -1
  463. package/dist/esm/serializer/implementations/mongodb-serializer/_module.js +0 -2
  464. package/dist/esm/serializer/implementations/mongodb-serializer/_module.js.map +0 -1
  465. package/dist/esm/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +0 -1
  466. package/dist/esm/serializer/implementations/redis-serializer/_module.js +0 -2
  467. package/dist/esm/serializer/implementations/redis-serializer/_module.js.map +0 -1
  468. package/dist/esm/serializer/implementations/redis-serializer/redis-serializer.js.map +0 -1
  469. package/dist/esm/serializer/implementations/sql-serializer/_module.js +0 -2
  470. package/dist/esm/serializer/implementations/sql-serializer/_module.js.map +0 -1
  471. package/dist/esm/serializer/implementations/sql-serializer/sql-serializer.js.map +0 -1
  472. package/dist/esm/serializer/implementations/super-json-serializer/_module.js +0 -2
  473. package/dist/esm/serializer/implementations/super-json-serializer/_module.js.map +0 -1
  474. package/dist/esm/serializer/implementations/super-json-serializer/super-json-serializer.js.map +0 -1
  475. package/dist/types/cache/implementations/derivables/base-cache.d.ts +0 -58
  476. package/dist/types/event-bus/implementations/adapters/redis-event-bus-adapter/_module.d.ts +0 -1
  477. package/dist/types/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.d.ts +0 -43
  478. package/dist/types/event-bus/implementations/derivables/base-event-bus.d.ts +0 -23
  479. package/dist/types/event-bus/implementations/derivables/with-namespace-event-bus-adapter.d.ts +0 -16
  480. package/dist/types/serializer/contracts/_module.d.ts +0 -2
  481. package/dist/types/serializer/contracts/serializer.contract.d.ts +0 -16
  482. package/dist/types/serializer/implementations/_module.d.ts +0 -5
  483. package/dist/types/serializer/implementations/_shared/test-utilities/_module.d.ts +0 -1
  484. package/dist/types/serializer/implementations/_shared/test-utilities/serializer.test-suite.d.ts +0 -18
  485. package/dist/types/serializer/implementations/mongodb-serializer/_module.d.ts +0 -1
  486. package/dist/types/serializer/implementations/mongodb-serializer/mongodb-serializer.d.ts +0 -13
  487. package/dist/types/serializer/implementations/redis-serializer/_module.d.ts +0 -1
  488. package/dist/types/serializer/implementations/redis-serializer/redis-serializer.d.ts +0 -13
  489. package/dist/types/serializer/implementations/sql-serializer/_module.d.ts +0 -1
  490. package/dist/types/serializer/implementations/sql-serializer/sql-serializer.d.ts +0 -13
  491. package/dist/types/serializer/implementations/super-json-serializer/_module.d.ts +0 -1
  492. package/dist/types/serializer/implementations/super-json-serializer/super-json-serializer.d.ts +0 -37
  493. /package/dist/cjs/{serializer → serde}/contracts/serializer.contract.js +0 -0
  494. /package/dist/esm/{serializer → serde}/contracts/serializer.contract.js +0 -0
@@ -1,294 +1,366 @@
1
+ import { BaseEvent } from "../../../event-bus/contracts/_module";
1
2
  import { TimeSpan } from "../../../utilities/_module";
2
3
  import { delay } from "../../../async/_module";
4
+ import { NoOpSerde } from "../../../serde/implementations/_module";
3
5
  export function eventBusTestSuite(settings) {
4
- const { expect, test, describe, createEventBusA, createEventBusB, beforeEach, } = settings;
6
+ const { expect, serde = new NoOpSerde(), test, describe, createEventBusA, createEventBusB, beforeEach, } = settings;
5
7
  let eventBusA;
6
8
  let eventBusB;
7
9
  beforeEach(async () => {
8
10
  eventBusA = await createEventBusA();
9
11
  eventBusB = await createEventBusB();
10
12
  });
13
+ const TTL = TimeSpan.fromMilliseconds(50);
14
+ class TestEventA extends BaseEvent {
15
+ data;
16
+ static deserialize(serializedEvent) {
17
+ return new TestEventA(serializedEvent);
18
+ }
19
+ constructor(data) {
20
+ super();
21
+ this.data = data;
22
+ }
23
+ serialize() {
24
+ return this.data;
25
+ }
26
+ }
27
+ class TestEventB extends BaseEvent {
28
+ data;
29
+ static deserialize(serializedEvent) {
30
+ return new TestEventB(serializedEvent);
31
+ }
32
+ constructor(data) {
33
+ super();
34
+ this.data = data;
35
+ }
36
+ serialize() {
37
+ return this.data;
38
+ }
39
+ }
40
+ serde.registerClass(TestEventA);
41
+ serde.registerClass(TestEventB);
11
42
  describe("Api tests:", () => {
12
43
  describe("method: addListener, removeListener, dispatch", () => {
13
44
  test("Should be null when listener added and event is not triggered", async () => {
14
- const TYPE = "type";
15
45
  let result = null;
16
- await eventBusA.addListener(TYPE, (event) => {
46
+ await eventBusA.addListener(TestEventA, (event) => {
17
47
  result = event;
18
48
  });
19
49
  expect(result).toBeNull();
20
50
  });
21
- test("Should be IBaseEvent when listener added and event is triggered", async () => {
22
- const event = {
23
- type: "type",
24
- };
51
+ test("Should be TestEventA when listener added and event is triggered", async () => {
25
52
  let result = null;
26
- await eventBusA.addListener(event.type, (event) => {
53
+ await eventBusA.addListener(TestEventA, (event) => {
27
54
  result = event;
28
55
  });
29
- await delay(TimeSpan.fromMilliseconds(50));
30
- await eventBusA.dispatch([event]);
56
+ const event = new TestEventA({
57
+ type: TestEventA.name,
58
+ });
59
+ await eventBusA.dispatch(event);
60
+ await delay(TTL);
31
61
  expect(result).toEqual(event);
62
+ expect(result).toBeInstanceOf(TestEventA);
32
63
  });
33
64
  test("Should be null when listener removed and event is triggered", async () => {
34
- const event = {
35
- type: "type",
36
- };
65
+ const event = new TestEventA({
66
+ type: TestEventA.name,
67
+ });
37
68
  let result = null;
38
69
  const listener = (event) => {
39
70
  result = event;
40
71
  };
41
- await eventBusA.addListener(event.type, listener);
42
- await eventBusA.removeListener(event.type, listener);
43
- await delay(TimeSpan.fromMilliseconds(50));
44
- await eventBusA.dispatch([event]);
72
+ await eventBusA.addListener(TestEventA, listener);
73
+ await eventBusA.removeListener(TestEventA, listener);
74
+ await eventBusA.dispatch(event);
75
+ await delay(TTL);
45
76
  expect(result).toBeNull();
46
77
  });
47
78
  });
48
79
  describe("method: addListenerMany, removeListenerMany, dispatch", () => {
49
80
  test("Should be null when listener added and event is not triggered", async () => {
50
- const TYPE_1 = "type_1";
51
- const TYPE_2 = "type_2";
52
81
  let result = null;
53
- await eventBusA.addListenerMany([TYPE_1, TYPE_2], (event) => {
82
+ await eventBusA.addListenerMany([TestEventA, TestEventB], (event) => {
54
83
  result = event;
55
84
  });
56
85
  expect(result).toBeNull();
57
86
  });
58
- test("Should be IBaseEvent when listener added and event is triggered", async () => {
59
- const event_1 = {
60
- type: "type_1",
61
- };
62
- const event_2 = {
63
- type: "type_2",
64
- };
87
+ test("Should be BaseEvent when listener added and event is triggered", async () => {
88
+ const event_1 = new TestEventA({
89
+ type: TestEventA.name,
90
+ });
91
+ const event_2 = new TestEventB({
92
+ type: TestEventB.name,
93
+ });
65
94
  let result_1 = null;
66
95
  let result_2 = null;
67
- await eventBusA.addListenerMany([event_1.type, event_2.type], (eventObj) => {
68
- if (eventObj.type === event_1.type) {
96
+ await eventBusA.addListenerMany([TestEventA, TestEventB], (eventObj) => {
97
+ if (eventObj instanceof TestEventA) {
69
98
  result_1 = eventObj;
70
99
  }
71
- if (eventObj.type === event_2.type) {
100
+ if (eventObj instanceof TestEventB) {
72
101
  result_2 = eventObj;
73
102
  }
74
103
  });
75
- await delay(TimeSpan.fromMilliseconds(50));
76
- await eventBusA.dispatch([event_1, event_2]);
104
+ await eventBusA.dispatchMany([event_1, event_2]);
105
+ await delay(TTL);
77
106
  expect(result_1).toEqual(event_1);
107
+ expect(result_1).toBeInstanceOf(TestEventA);
78
108
  expect(result_2).toEqual(event_2);
109
+ expect(result_2).toBeInstanceOf(TestEventB);
79
110
  });
80
111
  test("Should be null when listener removed and event is triggered", async () => {
81
- const event_A = {
82
- type: "type_a",
83
- };
84
- const event_B = {
85
- type: "type_b",
86
- };
112
+ const event_A = new TestEventA({
113
+ type: TestEventA.name,
114
+ });
115
+ const event_B = new TestEventB({
116
+ type: TestEventB.name,
117
+ });
87
118
  let result = null;
88
119
  const listener = (event) => {
89
120
  result = event;
90
121
  };
91
- await eventBusA.addListenerMany([event_A.type, event_B.type], listener);
92
- await eventBusA.removeListenerMany([event_A.type, event_B.type], listener);
93
- await delay(TimeSpan.fromMilliseconds(50));
94
- await eventBusA.dispatch([event_A, event_B]);
122
+ await eventBusA.addListenerMany([TestEventA, TestEventB], listener);
123
+ await eventBusA.removeListenerMany([TestEventA, TestEventB], listener);
124
+ await eventBusA.dispatchMany([event_A, event_B]);
125
+ await delay(TTL);
95
126
  expect(result).toBeNull();
96
127
  });
97
128
  });
98
129
  describe("method: subscribe", () => {
99
130
  test("Should be null when listener added and event is not triggered", async () => {
100
- const TYPE = "type";
101
131
  let result = null;
102
- await eventBusA.subscribe(TYPE, (event) => {
132
+ await eventBusA.subscribe(TestEventA, (event) => {
103
133
  result = event;
104
134
  });
105
135
  expect(result).toBeNull();
106
136
  });
107
- test("Should be IBaseEvent when listener added and event is triggered", async () => {
108
- const event = {
109
- type: "type",
110
- };
137
+ test("Should be TestEventA when listener added and event is triggered", async () => {
138
+ const event = new TestEventA({
139
+ type: TestEventA.name,
140
+ });
111
141
  let result = null;
112
- await eventBusA.subscribe(event.type, (event) => {
142
+ await eventBusA.subscribe(TestEventA, (event) => {
113
143
  result = event;
114
144
  });
115
- await delay(TimeSpan.fromMilliseconds(50));
116
- await eventBusA.dispatch([event]);
145
+ await delay(TTL);
146
+ await eventBusA.dispatch(event);
117
147
  expect(result).toEqual(event);
148
+ expect(result).toBeInstanceOf(TestEventA);
118
149
  });
119
150
  test("Should be null when listener removed and event is triggered", async () => {
120
- const event = {
121
- type: "type",
122
- };
151
+ const event = new TestEventA({
152
+ type: TestEventA.name,
153
+ });
123
154
  let result = null;
124
155
  const listener = (event) => {
125
156
  result = event;
126
157
  };
127
- const unsubscribe = await eventBusA.subscribe(event.type, listener);
158
+ const unsubscribe = await eventBusA.subscribe(TestEventA, listener);
128
159
  await unsubscribe();
129
- await delay(TimeSpan.fromMilliseconds(50));
130
- await eventBusA.dispatch([event]);
160
+ await eventBusA.dispatch(event);
161
+ await delay(TTL);
131
162
  expect(result).toBeNull();
132
163
  });
133
164
  });
134
165
  describe("method: subscribeMany", () => {
135
166
  test("Should be null when listener added and event is not triggered", async () => {
136
- const TYPE_1 = "type_1";
137
- const TYPE_2 = "type_2";
138
167
  let result = null;
139
- await eventBusA.subscribeMany([TYPE_1, TYPE_2], (event) => {
168
+ await eventBusA.subscribeMany([TestEventA, TestEventB], (event) => {
140
169
  result = event;
141
170
  });
142
171
  expect(result).toBeNull();
143
172
  });
144
- test("Should be IBaseEvent when listener added and event is triggered", async () => {
145
- const event_1 = {
146
- type: "type_1",
147
- };
148
- const event_2 = {
149
- type: "type_2",
150
- };
173
+ test("Should be BaseEvent when listener added and event is triggered", async () => {
174
+ const event_1 = new TestEventA({
175
+ type: TestEventA.name,
176
+ });
177
+ const event_2 = new TestEventB({
178
+ type: TestEventB.name,
179
+ });
151
180
  let result_1 = null;
152
181
  let result_2 = null;
153
- await eventBusA.subscribeMany([event_1.type, event_2.type], (eventObj) => {
154
- if (eventObj.type === event_1.type) {
182
+ await eventBusA.subscribeMany([TestEventA, TestEventB], (eventObj) => {
183
+ if (eventObj instanceof TestEventA) {
155
184
  result_1 = eventObj;
156
185
  }
157
- if (eventObj.type === event_2.type) {
186
+ if (eventObj instanceof TestEventB) {
158
187
  result_2 = eventObj;
159
188
  }
160
189
  });
161
- await delay(TimeSpan.fromMilliseconds(50));
162
- await eventBusA.dispatch([event_1, event_2]);
190
+ await delay(TTL);
191
+ await eventBusA.dispatchMany([event_1, event_2]);
163
192
  expect(result_1).toEqual(event_1);
193
+ expect(result_1).toBeInstanceOf(TestEventA);
164
194
  expect(result_2).toEqual(event_2);
195
+ expect(result_2).toBeInstanceOf(TestEventB);
165
196
  });
166
197
  test("Should be null when listener removed and event is triggered", async () => {
167
- const event_A = {
168
- type: "type_a",
169
- };
170
- const event_B = {
171
- type: "type_b",
172
- };
198
+ const event_A = new TestEventA({
199
+ type: TestEventA.name,
200
+ });
201
+ const event_B = new TestEventB({
202
+ type: TestEventB.name,
203
+ });
173
204
  let result = null;
174
205
  const listener = (event) => {
175
206
  result = event;
176
207
  };
177
- const unsubscribe = await eventBusA.subscribeMany([event_A.type, event_B.type], listener);
208
+ const unsubscribe = await eventBusA.subscribeMany([TestEventA, TestEventB], listener);
178
209
  await unsubscribe();
179
- await delay(TimeSpan.fromMilliseconds(50));
180
- await eventBusA.dispatch([event_A, event_B]);
210
+ await eventBusA.dispatchMany([event_A, event_B]);
211
+ await delay(TTL);
181
212
  expect(result).toBeNull();
182
213
  });
183
214
  });
215
+ describe("method: listenOnce", () => {
216
+ test("Should be null when listener added and event is not triggered", async () => {
217
+ let result = null;
218
+ await eventBusA.listenOnce(TestEventA, (event) => {
219
+ result = event;
220
+ });
221
+ expect(result).toBeNull();
222
+ });
223
+ test("Should be TestEventA when listener added and event is triggered", async () => {
224
+ const event = new TestEventA({
225
+ type: TestEventA.name,
226
+ });
227
+ let result = null;
228
+ await eventBusA.listenOnce(TestEventA, (event) => {
229
+ result = event;
230
+ });
231
+ await eventBusA.dispatch(event);
232
+ await delay(TTL);
233
+ expect(result).toEqual(event);
234
+ expect(result).toBeInstanceOf(TestEventA);
235
+ });
236
+ test("Should only listen for event once", async () => {
237
+ const event = new TestEventA({
238
+ type: TestEventA.name,
239
+ });
240
+ let i = 0;
241
+ await eventBusA.listenOnce(TestEventA, () => {
242
+ i++;
243
+ });
244
+ await eventBusA.dispatch(event);
245
+ await eventBusA.dispatch(event);
246
+ await delay(TTL);
247
+ expect(i).toBe(1);
248
+ });
249
+ });
184
250
  });
185
- describe("Namespace tests:", () => {
251
+ describe("Group tests:", () => {
186
252
  test("method: addListener / dispatch", async () => {
187
- const event = {
188
- type: "type",
189
- };
253
+ const event = new TestEventA({
254
+ type: TestEventA.name,
255
+ });
190
256
  let result_a = null;
191
- await eventBusA.addListener(event.type, (event) => {
257
+ await eventBusA.addListener(TestEventA, (event) => {
192
258
  result_a = event;
193
259
  });
194
260
  let result_b = null;
195
- await eventBusB.addListener(event.type, (event) => {
261
+ await eventBusB.addListener(TestEventA, (event) => {
196
262
  result_b = event;
197
263
  });
198
- await eventBusA.dispatch([event]);
264
+ await eventBusA.dispatch(event);
199
265
  expect(result_a).toEqual(event);
266
+ expect(result_a).toBeInstanceOf(TestEventA);
200
267
  expect(result_b).toBeNull();
201
268
  });
202
269
  test("method: addListenerMany / dispatch", async () => {
203
- const event = {
270
+ const event = new TestEventA({
204
271
  type: "type",
205
- };
272
+ });
206
273
  let result_a = null;
207
- await eventBusA.addListenerMany([event.type], (event) => {
274
+ await eventBusA.addListenerMany([TestEventA], (event) => {
208
275
  result_a = event;
209
276
  });
210
277
  let result_b = null;
211
- await eventBusB.addListenerMany([event.type], (event) => {
278
+ await eventBusB.addListenerMany([TestEventA], (event) => {
212
279
  result_b = event;
213
280
  });
214
- await eventBusA.dispatch([event]);
281
+ await eventBusA.dispatch(event);
215
282
  expect(result_a).toEqual(event);
283
+ expect(result_a).toBeInstanceOf(TestEventA);
216
284
  expect(result_b).toBeNull();
217
285
  });
218
286
  test("method: removeListener / addListener / dispatch", async () => {
219
- const event = {
220
- type: "type",
221
- };
287
+ const event = new TestEventA({
288
+ type: TestEventA.name,
289
+ });
222
290
  let result_a = null;
223
- await eventBusA.addListener(event.type, (event) => {
291
+ await eventBusA.addListener(TestEventA, (event) => {
224
292
  result_a = event;
225
293
  });
226
294
  let result_b = null;
227
295
  const listenerB = (event) => {
228
296
  result_b = event;
229
297
  };
230
- await eventBusB.addListener(event.type, listenerB);
231
- await eventBusB.removeListener(event.type, listenerB);
232
- await eventBusA.dispatch([event]);
233
- await eventBusB.dispatch([event]);
298
+ await eventBusB.addListener(TestEventA, listenerB);
299
+ await eventBusB.removeListener(TestEventA, listenerB);
300
+ await eventBusA.dispatch(event);
301
+ await eventBusB.dispatch(event);
234
302
  expect(result_a).toEqual(event);
303
+ expect(result_a).toBeInstanceOf(TestEventA);
235
304
  expect(result_b).toBeNull();
236
305
  });
237
306
  test("method: removeListenerMany / addListener / dispatch", async () => {
238
- const event = {
239
- type: "type",
240
- };
307
+ const event = new TestEventA({
308
+ type: TestEventA.name,
309
+ });
241
310
  let result_a = null;
242
- await eventBusA.addListener(event.type, (event) => {
311
+ await eventBusA.addListener(TestEventA, (event) => {
243
312
  result_a = event;
244
313
  });
245
314
  let result_b = null;
246
315
  const listenerB = (event) => {
247
316
  result_b = event;
248
317
  };
249
- await eventBusB.addListener(event.type, listenerB);
250
- await eventBusB.removeListenerMany([event.type], listenerB);
251
- await eventBusA.dispatch([event]);
252
- await eventBusB.dispatch([event]);
318
+ await eventBusB.addListener(TestEventA, listenerB);
319
+ await eventBusB.removeListenerMany([TestEventA], listenerB);
320
+ await eventBusA.dispatch(event);
321
+ await eventBusB.dispatch(event);
253
322
  expect(result_a).toEqual(event);
323
+ expect(result_a).toBeInstanceOf(TestEventA);
254
324
  expect(result_b).toBeNull();
255
325
  });
256
326
  test("method: subscribe / dispatch", async () => {
257
- const event = {
258
- type: "type",
259
- };
327
+ const event = new TestEventA({
328
+ type: TestEventA.name,
329
+ });
260
330
  let result_a = null;
261
- await eventBusA.subscribe(event.type, (event) => {
331
+ await eventBusA.subscribe(TestEventA, (event) => {
262
332
  result_a = event;
263
333
  });
264
334
  let result_b = null;
265
335
  const listenerB = (event) => {
266
336
  result_b = event;
267
337
  };
268
- const unsubscribe = await eventBusB.subscribe(event.type, listenerB);
338
+ const unsubscribe = await eventBusB.subscribe(TestEventA, listenerB);
269
339
  await unsubscribe();
270
- await eventBusA.dispatch([event]);
271
- await eventBusB.dispatch([event]);
340
+ await eventBusA.dispatch(event);
341
+ await eventBusB.dispatch(event);
272
342
  expect(result_a).toEqual(event);
343
+ expect(result_a).toBeInstanceOf(TestEventA);
273
344
  expect(result_b).toBeNull();
274
345
  });
275
346
  test("method: subscribeMany / dispatch", async () => {
276
- const event = {
277
- type: "type",
278
- };
347
+ const event = new TestEventA({
348
+ type: TestEventA.name,
349
+ });
279
350
  let result_a = null;
280
- await eventBusA.subscribeMany([event.type], (event) => {
351
+ await eventBusA.subscribeMany([TestEventA], (event) => {
281
352
  result_a = event;
282
353
  });
283
354
  let result_b = null;
284
355
  const listenerB = (event) => {
285
356
  result_b = event;
286
357
  };
287
- const unsubscribe = await eventBusB.subscribeMany([event.type], listenerB);
358
+ const unsubscribe = await eventBusB.subscribeMany([TestEventA], listenerB);
288
359
  await unsubscribe();
289
- await eventBusA.dispatch([event]);
290
- await eventBusB.dispatch([event]);
360
+ await eventBusA.dispatch(event);
361
+ await eventBusB.dispatch(event);
291
362
  expect(result_a).toEqual(event);
363
+ expect(result_a).toBeInstanceOf(TestEventA);
292
364
  expect(result_b).toBeNull();
293
365
  });
294
366
  });
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.test-suite.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/_shared/event-bus.test-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-bus.test-suite.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/_shared/event-bus.test-suite.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export * from "../../../event-bus/implementations/adapters/memory-event-bus-adapter/_module";
2
2
  export * from "../../../event-bus/implementations/adapters/no-op-event-bus-adapter/_module";
3
- export * from "../../../event-bus/implementations/adapters/redis-event-bus-adapter/_module";
3
+ export * from "../../../event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module";
4
4
  //# sourceMappingURL=_module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/adapters/_module.ts"],"names":[],"mappings":"AAAA,cAAc,uEAAuE,CAAC;AACtF,cAAc,sEAAsE,CAAC;AACrF,cAAc,sEAAsE,CAAC"}
1
+ {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/adapters/_module.ts"],"names":[],"mappings":"AAAA,cAAc,uEAAuE,CAAC;AACtF,cAAc,sEAAsE,CAAC;AACrF,cAAc,8EAA8E,CAAC"}
@@ -1,2 +1,3 @@
1
- export * from "../../../../event-bus/implementations/adapters/memory-event-bus-adapter/_module";
1
+ export * from "../../../../event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings";
2
+ export * from "../../../../event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter";
2
3
  //# sourceMappingURL=_module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../../src/event-bus/implementations/adapters/memory-event-bus-adapter/_module.ts"],"names":[],"mappings":"AAAA,cAAc,uEAAuE,CAAC"}
1
+ {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../../src/event-bus/implementations/adapters/memory-event-bus-adapter/_module.ts"],"names":[],"mappings":"AAAA,cAAc,iGAAiG,CAAC;AAChH,cAAc,wFAAwF,CAAC"}
@@ -0,0 +1,22 @@
1
+ export class MemoryEventBusAdapterSettingsBuilder {
2
+ settings;
3
+ constructor(settings = {}) {
4
+ this.settings = settings;
5
+ }
6
+ setEventEmitter(eventEmitter) {
7
+ return new MemoryEventBusAdapterSettingsBuilder({
8
+ ...this.settings,
9
+ eventEmitter,
10
+ });
11
+ }
12
+ setRootGroup(group) {
13
+ return new MemoryEventBusAdapterSettingsBuilder({
14
+ ...this.settings,
15
+ rootGroup: group,
16
+ });
17
+ }
18
+ build() {
19
+ return this.settings;
20
+ }
21
+ }
22
+ //# sourceMappingURL=memory-event-bus-adapter-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-event-bus-adapter-settings.js","sourceRoot":"","sources":["../../../../../../src/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,oCAAoC;IAIhB;IAA7B,YAA6B,WAAsB,EAAe;QAArC,aAAQ,GAAR,QAAQ,CAA6B;IAAG,CAAC;IAGtE,eAAe,CAAC,YAA0B;QACtC,OAAO,IAAI,oCAAoC,CAAC;YAC5C,GAAG,IAAI,CAAC,QAAQ;YAChB,YAAY;SACf,CAAC,CAAC;IACP,CAAC;IAGD,YAAY,CAAC,KAAwB;QACjC,OAAO,IAAI,oCAAoC,CAAC;YAC5C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QAGD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ"}
@@ -1,19 +1,37 @@
1
+ import { simplifyGroupName } from "../../../../utilities/_module";
1
2
  import { EventEmitter } from "node:events";
3
+ import { MemoryEventBusAdapterSettingsBuilder } from "../../../../event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings";
2
4
  export class MemoryEventBusAdapter {
3
- eventEmiter;
4
- constructor(eventEmiter = new EventEmitter()) {
5
- this.eventEmiter = eventEmiter;
5
+ static settings() {
6
+ return new MemoryEventBusAdapterSettingsBuilder();
6
7
  }
7
- async addListener(event, listener) {
8
- this.eventEmiter.addListener(event, listener);
8
+ group;
9
+ eventEmitter;
10
+ constructor(settings) {
11
+ const { rootGroup, eventEmitter = new EventEmitter() } = settings;
12
+ this.eventEmitter = eventEmitter;
13
+ this.group = simplifyGroupName(rootGroup);
9
14
  }
10
- async removeListener(event, listener) {
11
- this.eventEmiter.removeListener(event, listener);
15
+ getGroup() {
16
+ return this.group;
12
17
  }
13
- async dispatch(events) {
14
- for (const event of events) {
15
- this.eventEmiter.emit(event.type, event);
16
- }
18
+ withGroup(group) {
19
+ return new MemoryEventBusAdapter({
20
+ rootGroup: [this.group, simplifyGroupName(group)],
21
+ eventEmitter: this.eventEmitter,
22
+ });
23
+ }
24
+ withPrefix(event) {
25
+ return simplifyGroupName([this.group, event]);
26
+ }
27
+ async addListener(eventName, listener) {
28
+ this.eventEmitter.on(this.withPrefix(eventName), listener);
29
+ }
30
+ async removeListener(eventName, listener) {
31
+ this.eventEmitter.off(this.withPrefix(eventName), listener);
32
+ }
33
+ async dispatch(eventName, eventData) {
34
+ this.eventEmitter.emit(this.withPrefix(eventName), eventData);
17
35
  }
18
36
  }
19
37
  //# sourceMappingURL=memory-event-bus-adapter.js.map