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