@daiso-tech/core 0.26.1 → 0.28.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 (289) hide show
  1. package/README.md +13 -3
  2. package/dist/async/utilities/delay/delay.d.ts +1 -12
  3. package/dist/async/utilities/delay/delay.js +1 -12
  4. package/dist/async/utilities/delay/delay.js.map +1 -1
  5. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +143 -71
  6. package/dist/async/utilities/lazy-promise/lazy-promise.js +223 -142
  7. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  8. package/dist/async/utilities/retry/retry-or-fail.d.ts +2 -0
  9. package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
  10. package/dist/cache/contracts/_module-exports.d.ts +1 -0
  11. package/dist/cache/contracts/_module-exports.js +1 -0
  12. package/dist/cache/contracts/_module-exports.js.map +1 -1
  13. package/dist/cache/contracts/cache-adapter.contract.d.ts +19 -21
  14. package/dist/cache/contracts/cache-adapter.contract.js +1 -4
  15. package/dist/cache/contracts/cache-adapter.contract.js.map +1 -1
  16. package/dist/cache/contracts/cache-factory.contract.d.ts +1 -1
  17. package/dist/cache/contracts/cache.contract.d.ts +144 -96
  18. package/dist/cache/contracts/cache.contract.js +1 -2
  19. package/dist/cache/contracts/cache.contract.js.map +1 -1
  20. package/dist/cache/contracts/cache.errors.js +2 -5
  21. package/dist/cache/contracts/cache.errors.js.map +1 -1
  22. package/dist/cache/contracts/cache.events.d.ts +10 -10
  23. package/dist/cache/contracts/cache.events.js +2 -5
  24. package/dist/cache/contracts/cache.events.js.map +1 -1
  25. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +89 -0
  26. package/dist/cache/contracts/database-cache-adapter.contract.js +5 -0
  27. package/dist/cache/contracts/database-cache-adapter.contract.js.map +1 -0
  28. package/dist/cache/implementations/adapters/{kysely-sqlite-cache-adapter → kysely-cache-adapter}/_module.d.ts +1 -1
  29. package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js +2 -0
  30. package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js.map +1 -0
  31. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +73 -0
  32. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +224 -0
  33. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -0
  34. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +29 -39
  35. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +45 -54
  36. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  37. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +17 -33
  38. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +43 -52
  39. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  40. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.d.ts +13 -0
  41. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +38 -0
  42. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -0
  43. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +27 -33
  44. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +145 -197
  45. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  46. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +14 -13
  47. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +19 -17
  48. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  49. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.d.ts +13 -0
  50. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +39 -0
  51. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -0
  52. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +16 -22
  53. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +51 -132
  54. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  55. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.d.ts +13 -0
  56. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js +69 -0
  57. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js.map +1 -0
  58. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +29 -41
  59. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +46 -55
  60. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  61. package/dist/cache/implementations/derivables/_module-exports.d.ts +1 -1
  62. package/dist/cache/implementations/derivables/_module-exports.js +1 -1
  63. package/dist/cache/implementations/derivables/_module-exports.js.map +1 -1
  64. package/dist/cache/implementations/derivables/cache/_module.d.ts +1 -0
  65. package/dist/cache/implementations/derivables/cache/_module.js +1 -0
  66. package/dist/cache/implementations/derivables/cache/_module.js.map +1 -1
  67. package/dist/cache/implementations/derivables/cache/cache.d.ts +269 -507
  68. package/dist/cache/implementations/derivables/cache/cache.js +538 -822
  69. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  70. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +21 -0
  71. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +110 -0
  72. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -0
  73. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.d.ts +9 -0
  74. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js +20 -0
  75. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -0
  76. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +69 -105
  77. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +117 -87
  78. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  79. package/dist/cache/implementations/test-utilities/_module-exports.d.ts +1 -0
  80. package/dist/cache/implementations/test-utilities/_module-exports.js +1 -0
  81. package/dist/cache/implementations/test-utilities/_module-exports.js.map +1 -1
  82. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +9 -11
  83. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +246 -247
  84. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  85. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +16 -30
  86. package/dist/cache/implementations/test-utilities/cache.test-suite.js +271 -996
  87. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  88. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +60 -0
  89. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +698 -0
  90. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -0
  91. package/dist/collection/contracts/async-collection.contract.d.ts +2 -3
  92. package/dist/collection/contracts/async-collection.contract.js +1 -12
  93. package/dist/collection/contracts/async-collection.contract.js.map +1 -1
  94. package/dist/collection/contracts/collection.contract.d.ts +1 -1
  95. package/dist/collection/contracts/collection.errors.d.ts +1 -1
  96. package/dist/collection/contracts/collection.errors.js +3 -6
  97. package/dist/collection/contracts/collection.errors.js.map +1 -1
  98. package/dist/collection/implementations/_shared.d.ts +4 -4
  99. package/dist/collection/implementations/_shared.js +6 -9
  100. package/dist/collection/implementations/_shared.js.map +1 -1
  101. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +2 -2
  102. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -1
  103. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -21
  104. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +12 -8
  105. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  106. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +1 -1
  107. package/dist/collection/implementations/iterable-collection/iterable-collection.js +1 -1
  108. package/dist/collection/implementations/list-collection/list-collection.d.ts +1 -1
  109. package/dist/collection/implementations/list-collection/list-collection.js +1 -1
  110. package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +0 -9
  111. package/dist/event-bus/contracts/event-bus.contract.d.ts +5 -5
  112. package/dist/event-bus/contracts/event-bus.contract.js.map +1 -1
  113. package/dist/event-bus/contracts/event-bus.errors.js +2 -5
  114. package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
  115. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +9 -29
  116. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +14 -35
  117. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  118. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +2 -4
  119. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +2 -8
  120. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  121. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +8 -15
  122. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +15 -34
  123. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  124. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +85 -289
  125. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +128 -325
  126. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  127. package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +13 -0
  128. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +42 -0
  129. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -0
  130. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +103 -86
  131. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +135 -77
  132. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  133. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -48
  134. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +31 -122
  135. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  136. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +2 -50
  137. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +41 -89
  138. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  139. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +0 -9
  140. package/dist/lock/contracts/lock-adapter.contract.d.ts +0 -9
  141. package/dist/lock/contracts/lock-provider.contract.d.ts +20 -6
  142. package/dist/lock/contracts/lock.contract.d.ts +37 -8
  143. package/dist/lock/contracts/lock.errors.js +2 -5
  144. package/dist/lock/contracts/lock.errors.js.map +1 -1
  145. package/dist/lock/contracts/lock.events.js +2 -5
  146. package/dist/lock/contracts/lock.events.js.map +1 -1
  147. package/dist/lock/implementations/adapters/_module-exports.d.ts +1 -0
  148. package/dist/lock/implementations/adapters/_module-exports.js +1 -0
  149. package/dist/lock/implementations/adapters/_module-exports.js.map +1 -1
  150. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +0 -5
  151. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +2 -21
  152. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  153. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +11 -16
  154. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +11 -20
  155. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
  156. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +7 -26
  157. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +7 -35
  158. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
  159. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +13 -20
  160. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +13 -37
  161. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  162. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.d.ts +1 -0
  163. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js +2 -0
  164. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js.map +1 -0
  165. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +17 -0
  166. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +24 -0
  167. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -0
  168. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +4 -22
  169. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +4 -31
  170. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
  171. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +14 -20
  172. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +12 -21
  173. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
  174. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +0 -2
  175. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +2 -8
  176. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
  177. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +1 -5
  178. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
  179. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +181 -369
  180. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +259 -407
  181. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  182. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +15 -17
  183. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +42 -40
  184. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  185. package/dist/lock/implementations/derivables/lock-provider/lock-state.d.ts +3 -3
  186. package/dist/lock/implementations/derivables/lock-provider/lock-state.js.map +1 -1
  187. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +194 -680
  188. package/dist/lock/implementations/derivables/lock-provider/lock.js +284 -744
  189. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  190. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +106 -143
  191. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +173 -101
  192. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  193. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +4 -5
  194. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +172 -247
  195. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
  196. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +5 -8
  197. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +93 -98
  198. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
  199. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +15 -20
  200. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +295 -145
  201. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  202. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +1 -2
  203. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +1 -1
  204. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +3 -2
  205. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +2 -1
  206. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js.map +1 -1
  207. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +1 -2
  208. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +1 -1
  209. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +1 -2
  210. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +1 -1
  211. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +2 -2
  212. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +2 -2
  213. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  214. package/dist/serde/implementations/derivables/serde.d.ts +14 -14
  215. package/dist/serde/implementations/derivables/serde.js +14 -15
  216. package/dist/serde/implementations/derivables/serde.js.map +1 -1
  217. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +4 -4
  218. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +3 -3
  219. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +5 -5
  220. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +4 -4
  221. package/dist/utilities/_module-exports.d.ts +2 -3
  222. package/dist/utilities/_module-exports.js +2 -3
  223. package/dist/utilities/_module-exports.js.map +1 -1
  224. package/dist/utilities/classes/_module.d.ts +4 -0
  225. package/dist/utilities/classes/_module.js +5 -0
  226. package/dist/utilities/classes/_module.js.map +1 -0
  227. package/dist/utilities/classes/key-prefixer/_module.d.ts +2 -0
  228. package/dist/utilities/classes/key-prefixer/_module.js +3 -0
  229. package/dist/utilities/classes/key-prefixer/_module.js.map +1 -0
  230. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.d.ts +28 -0
  231. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js +5 -0
  232. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js.map +1 -0
  233. package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +73 -0
  234. package/dist/utilities/classes/key-prefixer/key-prefixer.js +135 -0
  235. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -0
  236. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.d.ts +1 -0
  237. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js +2 -0
  238. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js.map +1 -0
  239. package/dist/utilities/classes/kysely-table-name-transformer-plugin/kysely-table-name-transformer-plugin.js.map +1 -0
  240. package/dist/utilities/classes/pipeline/_module.d.ts +1 -0
  241. package/dist/utilities/classes/pipeline/_module.js +2 -0
  242. package/dist/utilities/classes/pipeline/_module.js.map +1 -0
  243. package/dist/utilities/{pipeline → classes/pipeline}/pipeline.d.ts +3 -2
  244. package/dist/utilities/{pipeline → classes/pipeline}/pipeline.js +3 -2
  245. package/dist/utilities/classes/pipeline/pipeline.js.map +1 -0
  246. package/dist/utilities/classes/time-span/_module.d.ts +1 -0
  247. package/dist/utilities/classes/time-span/_module.js +2 -0
  248. package/dist/utilities/classes/time-span/_module.js.map +1 -0
  249. package/dist/utilities/{time-span → classes/time-span}/time-span.d.ts +2 -1
  250. package/dist/utilities/{time-span → classes/time-span}/time-span.js +1 -0
  251. package/dist/utilities/classes/time-span/time-span.js.map +1 -0
  252. package/dist/utilities/{_constants.d.ts → constants.d.ts} +0 -3
  253. package/dist/utilities/constants.js +5 -0
  254. package/dist/utilities/constants.js.map +1 -0
  255. package/dist/utilities/contracts/_module.d.ts +3 -1
  256. package/dist/utilities/contracts/_module.js +3 -1
  257. package/dist/utilities/contracts/_module.js.map +1 -1
  258. package/dist/utilities/contracts/prunable.contract.d.ts +11 -0
  259. package/dist/utilities/contracts/prunable.contract.js +5 -0
  260. package/dist/utilities/contracts/prunable.contract.js.map +1 -0
  261. package/dist/utilities/contracts/sqlite-database.contract.d.ts +26 -0
  262. package/dist/utilities/contracts/sqlite-database.contract.js +5 -0
  263. package/dist/utilities/contracts/sqlite-database.contract.js.map +1 -0
  264. package/dist/utilities/functions.d.ts +34 -2
  265. package/dist/utilities/functions.js +72 -4
  266. package/dist/utilities/functions.js.map +1 -1
  267. package/dist/utilities/types.d.ts +49 -16
  268. package/package.json +14 -13
  269. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +0 -2
  270. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +0 -1
  271. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +0 -61
  272. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +0 -318
  273. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +0 -1
  274. package/dist/utilities/_constants.js +0 -8
  275. package/dist/utilities/_constants.js.map +0 -1
  276. package/dist/utilities/kysely/_module.d.ts +0 -1
  277. package/dist/utilities/kysely/_module.js +0 -2
  278. package/dist/utilities/kysely/_module.js.map +0 -1
  279. package/dist/utilities/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  280. package/dist/utilities/pipeline/_module.d.ts +0 -1
  281. package/dist/utilities/pipeline/_module.js +0 -2
  282. package/dist/utilities/pipeline/_module.js.map +0 -1
  283. package/dist/utilities/pipeline/pipeline.js.map +0 -1
  284. package/dist/utilities/time-span/_module.d.ts +0 -1
  285. package/dist/utilities/time-span/_module.js +0 -2
  286. package/dist/utilities/time-span/_module.js.map +0 -1
  287. package/dist/utilities/time-span/time-span.js.map +0 -1
  288. /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.d.ts +0 -0
  289. /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.js +0 -0
@@ -1,336 +1,132 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import type { BackoffPolicy, RetryPolicy } from "../../../../async/_module-exports.js";
4
+ import type { LazyPromiseSettingsBase } from "../../../../async/_module-exports.js";
5
5
  import { LazyPromise } from "../../../../async/_module-exports.js";
6
6
  import type { EventClass, EventInstance, Unsubscribe } from "../../../../event-bus/contracts/_module-exports.js";
7
7
  import { type IEventBus, type IGroupableEventBus, type IEventBusAdapter, type BaseEvent } from "../../../../event-bus/contracts/_module-exports.js";
8
- import type { Invokable, OneOrMore, TimeSpan } from "../../../../utilities/_module-exports.js";
8
+ import type { Factoryable, Invokable, IKeyPrefixer, OneOrMore, Items } from "../../../../utilities/_module-exports.js";
9
9
  /**
10
10
  *
11
- * IMPORT_PATH: ```"@daiso-tech/core/event-bus/implementations/derivables"```
11
+ * IMPORT_PATH: ```"@daiso-tech/core/event-bus"```
12
12
  * @group Derivables
13
13
  */
14
- export type EventBusSettings = {
15
- adapter: IEventBusAdapter;
16
- /**
17
- * The default retry attempt to use in the returned <i>LazyPromise</i>.
18
- * @default {null}
19
- */
20
- retryAttempts?: number | null;
21
- /**
22
- * The default backof policy to use in the returned <i>LazyPromise</i>.
23
- * @default {null}
24
- */
25
- backoffPolicy?: BackoffPolicy | null;
26
- /**
27
- * The default retry policy to use in the returned <i>LazyPromise</i>.
28
- * @default {null}
29
- */
30
- retryPolicy?: RetryPolicy | null;
31
- /**
32
- * The default timeout to use in the returned <i>LazyPromise</i>.
33
- * @default {null}
34
- */
35
- timeout?: TimeSpan | null;
14
+ export type EventBusSettingsBase = LazyPromiseSettingsBase & {
15
+ keyPrefixer: IKeyPrefixer;
16
+ };
17
+ /**
18
+ *
19
+ * IMPORT_PATH: ```"@daiso-tech/core/event-bus"```
20
+ * @group Derivables
21
+ */
22
+ export type EventBusAdapterFactoryable = Factoryable<string, IEventBusAdapter>;
23
+ /**
24
+ *
25
+ * IMPORT_PATH: ```"@daiso-tech/core/event-bus"```
26
+ * @group Derivables
27
+ */
28
+ export type EventBusSettings = EventBusSettingsBase & {
29
+ adapter: EventBusAdapterFactoryable;
36
30
  };
37
31
  /**
38
32
  * <i>EventBus</i> class can be derived from any <i>{@link IEventBusAdapter}</i>.
39
33
  *
40
- * IMPORT_PATH: ```"@daiso-tech/core/event-bus/implementations/derivables"```
34
+ * IMPORT_PATH: ```"@daiso-tech/core/event-bus"```
41
35
  * @group Derivables
42
36
  */
43
37
  export declare class EventBus<TEvents extends BaseEvent = BaseEvent> implements IGroupableEventBus<TEvents> {
44
- private readonly adapter;
38
+ private readonly adapterFactoryable;
45
39
  private readonly retryAttempts;
46
40
  private readonly backoffPolicy;
47
41
  private readonly retryPolicy;
48
- private readonly timeout;
49
- private readonly listenerObjectMap;
42
+ private readonly retryTimeout;
43
+ private readonly totalTimeout;
44
+ private readonly store;
45
+ private readonly adapterPromise;
46
+ private keyPrefixer;
50
47
  /**
51
48
  * @example
52
49
  * ```ts
53
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
54
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
55
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
50
+ * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
51
+ * import { EventBus } from "@daiso-tech/core/event-bus";
52
+ * import { KeyPrefixer } from "@daiso-tech/utilities";
56
53
  *
57
- * const eventBus: IGroupableEventBus = new EventBus({
58
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
54
+ * const eventBus = new EventBus({
55
+ * keyPrefixer: new KeyPrefixer("event-bus"),
56
+ * adapter: new MemoryEventBusAdapter()
59
57
  * });
60
58
  * ```
61
- */
62
- constructor(settings: EventBusSettings);
63
- private createLayPromise;
64
- /**
65
- * @example
66
- * ```ts
67
- * import type { IGroupableEventBus, IEventBus } from "@daiso-tech/core/event-bus/contracts";
68
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
69
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
70
- * import { BaseEvent } from "@daiso-tech/core/event-bus/contracts";
71
- *
72
- * const eventBus: IGroupableEventBus = new EventBus({
73
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
74
- * });
75
- *
76
- * // Will print "@global"
77
- * console.log(eventBus.getGroup());
78
59
  *
79
- * const groupedEventBus: IEventBus = eventBus.withGroup("company-1");
80
- *
81
- * // Will print "@global/company-1"
82
- * console.log(groupedEventBus.getGroup());
83
- * ```
84
- */
85
- withGroup(group: OneOrMore<string>): IEventBus<TEvents>;
86
- /**
60
+ * You can pass factory function that will create an adapter for every group.
87
61
  * @example
88
62
  * ```ts
89
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
90
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
91
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
92
- * import { BaseEvent } from "@daiso-tech/core/event-bus/contracts";
93
- *
94
- * const eventBus: IGroupableEventBus = new EventBus({
95
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
96
- * });
97
- *
98
- * // Will print "@global"
99
- * console.log(eventBus.getGroup());
100
- * ```
101
- */
102
- getGroup(): string;
103
- private ensureListenerObject;
104
- private resolveListener;
105
- private deleteListener;
106
- /**
107
- * @example
108
- * ```ts
109
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
110
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
111
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
112
- * import { BaseEvent, type Listener } from "@daiso-tech/core/event-bus/contracts";
113
- *
114
- * const eventBus: IGroupableEventBus = new EventBus({
115
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
116
- * });
117
- *
118
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
119
- *
120
- * const listener: Invokable<AddEvent> = event => {
121
- * console.log(event);
63
+ * import type { IEventBusAdapter } from "@daiso-tech/core/event-bus/contracts";
64
+ * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
65
+ * import { EventBus } from "@daiso-tech/core/event-bus";
66
+ * import { KeyPrefixer, type FactoryFn } from "@daiso-tech/utilities";
67
+ *
68
+ * type Store = Partial<Record<string, IEventBusAdapter>> = {};
69
+ *
70
+ * async function cahceAdapterFactory(store: Store): FactoryFn<string, IEventBusAdapter> {
71
+ * return (prefix) => {
72
+ * let adapter = store[prefix];
73
+ * if (adapter === undefined) {
74
+ * adapter = new MemoryEventBusAdapter();
75
+ * store[prefix] = adapter;
76
+ * }
77
+ * return adapter;
78
+ * }
122
79
  * }
123
- * await eventBus.addListener(AddEvent, listener);
124
- * await eventBus.dispatch(new AddEvent({ a: 1, b: 2,}));
125
- * ```
126
- */
127
- addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Invokable<EventInstance<TEventClass>>): LazyPromise<void>;
128
- /**
129
- * @example
130
- * ```ts
131
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
132
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
133
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
134
- * import { BaseEvent, type Listener } from "@daiso-tech/core/event-bus/contracts";
135
80
  *
136
- * const eventBus: IGroupableEventBus = new EventBus({
137
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
81
+ * const store: Store = {}
82
+ * const eventBus = new EventBus({
83
+ * keyPrefixer: new KeyPrefixer("event-bus"),
84
+ * adapter: cahceAdapterFactory(store)
138
85
  * });
139
- *
140
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
141
- *
142
- * const listener: Invokable<AddEvent> = event => {
143
- * console.log(event);
144
- * }
145
- * await eventBus.addListener(AddEvent, listener);
146
- * await eventBus.dispatch(new AddEvent({ a: 1, b: 2,}));
147
- * await eventBus.removeListener(AddEvent, listener);
148
86
  * ```
149
- */
150
- removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Invokable<EventInstance<TEventClass>>): LazyPromise<void>;
151
- /**
152
- * @example
153
- * ```ts
154
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
155
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
156
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
157
- * import { BaseEvent, type Listener } from "@daiso-tech/core/event-bus/contracts";
158
- *
159
- * const eventBus: IGroupableEventBus = new EventBus({
160
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
161
- * });
162
- *
163
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
164
- * class SubEvent extends BaseEvent<{ c: number, d: number }> {}
165
87
  *
166
- * const listener: Invokable<AddEvent | SubEvent> = event => {
167
- * console.log(event)
168
- * }
169
- * await eventBus.addListenerMany([AddEvent, SubEvent], listener);
170
- * await eventBus.dispatchMany([
171
- * new AddEvent({ a: 1, b: 2 }),
172
- * new SubEvent({ c: 1, d: 2 }),
173
- * ]);
174
- * ```
175
- */
176
- addListenerMany<TEventClass extends EventClass<TEvents>>(events: TEventClass[], listener: Invokable<EventInstance<TEventClass>>): LazyPromise<void>;
177
- /**
88
+ * You can also pass factory object that implements <i>{@link IFactoryObject}</i> contract. This useful for depedency injection libraries.
178
89
  * @example
179
90
  * ```ts
180
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
181
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
182
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
183
- * import { BaseEvent, type Listener } from "@daiso-tech/core/event-bus/contracts";
184
- *
185
- * const eventBus: IGroupableEventBus = new EventBus({
186
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
187
- * });
188
- *
189
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
190
- * class SubEvent extends BaseEvent<{ c: number, d: number }> {}
191
- *
192
- * const listener: Invokable<AddEvent | SubEvent> = event => {
193
- * console.log(event);
91
+ * import type { IEventBusAdapter } from "@daiso-tech/core/event-bus/contracts";
92
+ * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
93
+ * import { EventBus } from "@daiso-tech/core/event-bus";
94
+ * import { KeyPrefixer, type IFactoryObject, type Promiseable } from "@daiso-tech/utilities";
95
+ *
96
+ * type Store = Partial<Record<string, IEventBusAdapter>>;
97
+ *
98
+ * class EventBusAdapterFactory implements IFactoryObject<string, IEventBusAdapter> {
99
+ * constructor(private readonly store: Store) {}
100
+ *
101
+ * async use(prefix: string): Promiseable<IEventBusAdapter> {
102
+ * let adapter = this.store[prefix];
103
+ * if (adapter === undefined) {
104
+ * adapter = new MemoryEventBusAdapter();
105
+ * store[prefix] = adapter;
106
+ * }
107
+ * return adapter;
108
+ * }
194
109
  * }
195
- * await eventBus.addListenerMany([AddEvent, SubEvent], listener);
196
- * await eventBus.dispatchMany([
197
- * new AddEvent({ a: 1, b: 2 }),
198
- * new SubEvent({ c: 1, d: 2 }),
199
- * ]);
200
- * await eventBus.removeListenerMany([AddEvent, SubEvent], listener);
201
- * ```
202
- */
203
- removeListenerMany<TEventClass extends EventClass<TEvents>>(events: TEventClass[], listener: Invokable<EventInstance<TEventClass>>): LazyPromise<void>;
204
- /**
205
- * @example
206
- * ```ts
207
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
208
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
209
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
210
- * import { BaseEvent, type Listener } from "@daiso-tech/core/event-bus/contracts";
211
- *
212
- * const eventBus: IGroupableEventBus = new EventBus({
213
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
214
- * });
215
- *
216
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
217
110
  *
218
- * await eventBus.listenOnce(AddEvent, event => {
219
- * console.log(event);
111
+ * const store: Store = {}
112
+ * const eventBus = new EventBus({
113
+ * keyPrefixer: new KeyPrefixer("event-bus"),
114
+ * adapter: new EventBusAdapterFactory(store)
220
115
  * });
221
- *
222
- * await eventBus.dispatch(new AddEvent({ a: 1, b: 2,}));
223
116
  * ```
224
117
  */
118
+ constructor(settings: EventBusSettings);
119
+ private createLazyPromise;
120
+ withGroup(group: OneOrMore<string>): IEventBus<TEvents>;
121
+ getGroup(): string | null;
122
+ addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Invokable<EventInstance<TEventClass>>): LazyPromise<void>;
123
+ removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Invokable<EventInstance<TEventClass>>): LazyPromise<void>;
124
+ addListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: Invokable<EventInstance<Items<TEventClassArr>>>): LazyPromise<void>;
125
+ removeListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: Invokable<EventInstance<Items<TEventClassArr>>>): LazyPromise<void>;
225
126
  listenOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Invokable<EventInstance<TEventClass>>): LazyPromise<void>;
226
- /**
227
- * @example
228
- * ```ts
229
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
230
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
231
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
232
- * import { BaseEvent, type Listener } from "@daiso-tech/core/event-bus/contracts";
233
- *
234
- * const eventBus: IGroupableEventBus = new EventBus({
235
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
236
- * });
237
- *
238
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
239
- *
240
- * eventBus.asPromise(AddEvent).then(event => {
241
- * console.log(event);
242
- * });
243
- *
244
- * await eventBus.dispatch(new AddEvent({ a: 1, b: 2,}));
245
- * ```
246
- */
247
127
  asPromise<TEventClass extends EventClass<TEvents>>(event: TEventClass): LazyPromise<EventInstance<TEventClass>>;
248
- /**
249
- * @example
250
- * ```ts
251
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
252
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
253
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
254
- * import { BaseEvent } from "@daiso-tech/core/event-bus/contracts";
255
- *
256
- * const eventBus: IGroupableEventBus = new EventBus({
257
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
258
- * });
259
- *
260
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
261
- *
262
- * const unsubscribe = await eventBus.subscribe(AddEvent, event => {
263
- * console.log(event);
264
- * });
265
- * await eventBus.dispatch(new AddEvent({ a: 1, b: 2,}));
266
- * await unsubscribe();
267
- * ```
268
- */
269
128
  subscribe<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Invokable<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
270
- /**
271
- * @example
272
- * ```ts
273
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
274
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
275
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
276
- * import { BaseEvent } from "@daiso-tech/core/event-bus/contracts";
277
- *
278
- * const eventBus: IGroupableEventBus = new EventBus({
279
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
280
- * });
281
- *
282
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
283
- * class SubEvent extends BaseEvent<{ c: number, d: number }> {}
284
- *
285
- * const unsubscribe = await eventBus.subscribeMany([AddEvent, SubEvent], event => {
286
- * console.log(event);
287
- * });
288
- * await eventBus.dispatchMany([
289
- * new AddEvent({ a: 1, b: 2 }),
290
- * new SubEvent({ c: 1, d: 2 }),
291
- * ]);
292
- * await unsubscribe();
293
- * ```
294
- */
295
- subscribeMany<TEventClass extends EventClass<TEvents>>(events: TEventClass[], listener: Invokable<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
296
- /**
297
- * @example
298
- * ```ts
299
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
300
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
301
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
302
- * import { BaseEvent } from "@daiso-tech/core/event-bus/contracts";
303
- *
304
- * const eventBus: IGroupableEventBus = new EventBus({
305
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
306
- * });
307
- *
308
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
309
- * class SubEvent extends BaseEvent<{ c: number, d: number }> {}
310
- *
311
- * await eventBus.dispatchMany([
312
- * new AddEvent({ a: 1, b: 2 }),
313
- * new SubEvent({ c: 1, d: 2 }),
314
- * ]);
315
- * ```
316
- */
129
+ subscribeMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: Invokable<EventInstance<Items<TEventClassArr>>>): LazyPromise<Unsubscribe>;
317
130
  dispatchMany(events: TEvents[]): LazyPromise<void>;
318
- /**
319
- * @example
320
- * ```ts
321
- * import type { IGroupableEventBus } from "@daiso-tech/core/event-bus/contracts";
322
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
323
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
324
- * import { BaseEvent } from "@daiso-tech/core/event-bus/contracts";
325
- *
326
- * const eventBus: IGroupableEventBus = new EventBus({
327
- * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
328
- * });
329
- *
330
- * class AddEvent extends BaseEvent<{ a: number, b: number }> {}
331
- *
332
- * await eventBus.dispatch(new AddEvent({ a: 1, b: 2,}));
333
- * ```
334
- */
335
131
  dispatch(event: TEvents): LazyPromise<void>;
336
132
  }