@daiso-tech/core 0.14.0 → 0.16.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 (701) hide show
  1. package/dist/cjs/_module.js +3 -2
  2. package/dist/cjs/_module.js.map +1 -1
  3. package/dist/cjs/async/_module.js +20 -0
  4. package/dist/cjs/async/_module.js.map +1 -0
  5. package/dist/cjs/{utilities/async/_shared.js → async/async.errors.js} +1 -1
  6. package/dist/cjs/async/async.errors.js.map +1 -0
  7. package/dist/cjs/{utilities → async}/backof-policies/_module.js +4 -4
  8. package/dist/cjs/async/backof-policies/_module.js.map +1 -0
  9. package/dist/cjs/async/backof-policies/_shared.js.map +1 -0
  10. package/dist/cjs/{serializer/implementations/sql-serializer → async/backof-policies/constant-backoff-policy}/_module.js +1 -1
  11. package/dist/cjs/async/backof-policies/constant-backoff-policy/_module.js.map +1 -0
  12. package/dist/cjs/{utilities → async}/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
  13. package/dist/cjs/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
  14. package/dist/cjs/{serializer/implementations/_shared/test-utilities → async/backof-policies/exponential-backoff-policy}/_module.js +1 -1
  15. package/dist/cjs/async/backof-policies/exponential-backoff-policy/_module.js.map +1 -0
  16. package/dist/cjs/{utilities → async}/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
  17. package/dist/cjs/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
  18. package/dist/cjs/{serializer/implementations/mongodb-serializer → async/backof-policies/linear-backoff-policy}/_module.js +1 -1
  19. package/dist/cjs/async/backof-policies/linear-backoff-policy/_module.js.map +1 -0
  20. package/dist/cjs/{utilities → async}/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
  21. package/dist/cjs/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
  22. package/dist/cjs/async/backof-policies/polynomial-backoff-policy/_module.js +18 -0
  23. package/dist/cjs/async/backof-policies/polynomial-backoff-policy/_module.js.map +1 -0
  24. package/dist/cjs/{utilities → async}/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
  25. package/dist/cjs/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
  26. package/dist/cjs/{event-bus/implementations/_shared/test-utilities → async/utilities}/_module.js +2 -1
  27. package/dist/cjs/async/utilities/_module.js.map +1 -0
  28. package/dist/cjs/async/utilities/abort/_module.js +19 -0
  29. package/dist/cjs/async/utilities/abort/_module.js.map +1 -0
  30. package/dist/cjs/async/utilities/abort/abort-and-fail.js +45 -0
  31. package/dist/cjs/async/utilities/abort/abort-and-fail.js.map +1 -0
  32. package/dist/cjs/async/utilities/abort/abort.js +18 -0
  33. package/dist/cjs/async/utilities/abort/abort.js.map +1 -0
  34. package/dist/cjs/{utilities/async → async/utilities}/delay/_module.js +1 -1
  35. package/dist/cjs/async/utilities/delay/_module.js.map +1 -0
  36. package/dist/cjs/async/utilities/delay/delay.js +20 -0
  37. package/dist/cjs/async/utilities/delay/delay.js.map +1 -0
  38. package/dist/cjs/{utilities/async → async/utilities}/lazy-promise/_module.js +1 -1
  39. package/dist/cjs/async/utilities/lazy-promise/_module.js.map +1 -0
  40. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +110 -0
  41. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -0
  42. package/dist/cjs/async/utilities/retry/_module.js +19 -0
  43. package/dist/cjs/async/utilities/retry/_module.js.map +1 -0
  44. package/dist/cjs/async/utilities/retry/retry-or-fail.js +36 -0
  45. package/dist/cjs/async/utilities/retry/retry-or-fail.js.map +1 -0
  46. package/dist/cjs/async/utilities/retry/retry.js +18 -0
  47. package/dist/cjs/async/utilities/retry/retry.js.map +1 -0
  48. package/dist/cjs/{utilities/async → async/utilities}/timeout/_module.js +2 -1
  49. package/dist/cjs/async/utilities/timeout/_module.js.map +1 -0
  50. package/dist/cjs/async/utilities/timeout/timeout-and-fail.js +25 -0
  51. package/dist/cjs/async/utilities/timeout/timeout-and-fail.js.map +1 -0
  52. package/dist/cjs/async/utilities/timeout/timeout.js +18 -0
  53. package/dist/cjs/async/utilities/timeout/timeout.js.map +1 -0
  54. package/dist/cjs/cache/contracts/cache.events.js +0 -11
  55. package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
  56. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +257 -177
  57. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  58. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +59 -37
  59. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  60. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +59 -18
  61. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  62. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +16 -6
  63. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  64. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +58 -39
  65. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  66. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +63 -26
  67. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  68. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +10 -1
  69. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  70. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +44 -19
  71. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  72. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +17 -7
  73. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  74. package/dist/cjs/cache/implementations/derivables/_module.js +0 -1
  75. package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -1
  76. package/dist/cjs/cache/implementations/derivables/cache-factory.js +4 -7
  77. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -1
  78. package/dist/cjs/cache/implementations/derivables/cache.js +303 -61
  79. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -1
  80. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/_module.js +4 -1
  81. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  82. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +27 -0
  83. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -0
  84. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js +14 -7
  85. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js.map +1 -1
  86. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +33 -0
  87. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -0
  88. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +36 -0
  89. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -0
  90. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +48 -0
  91. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -0
  92. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +63 -42
  93. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  94. package/dist/cjs/collection/implementations/iterable-collection/_shared/merge-iterable.js +6 -7
  95. package/dist/cjs/collection/implementations/iterable-collection/_shared/merge-iterable.js.map +1 -1
  96. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js +16 -7
  97. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  98. package/dist/cjs/collection/implementations/list-collection/list-collection.js +18 -5
  99. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  100. package/dist/cjs/event-bus/contracts/event-bus.errors.js +3 -3
  101. package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -1
  102. package/dist/cjs/event-bus/implementations/_module.js +1 -1
  103. package/dist/cjs/event-bus/implementations/_module.js.map +1 -1
  104. package/dist/cjs/event-bus/implementations/_shared/_module.js +19 -0
  105. package/dist/cjs/event-bus/implementations/_shared/_module.js.map +1 -0
  106. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +96 -0
  107. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -0
  108. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +335 -0
  109. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -0
  110. package/dist/cjs/event-bus/implementations/adapters/_module.js +1 -1
  111. package/dist/cjs/event-bus/implementations/adapters/_module.js.map +1 -1
  112. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +19 -9
  113. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  114. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +7 -1
  115. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  116. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -0
  117. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +52 -0
  118. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -0
  119. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +6 -7
  120. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  121. package/dist/cjs/event-bus/implementations/derivables/event-bus.js +96 -33
  122. package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -1
  123. package/dist/cjs/{utilities/async/retry → serde/contracts}/_module.js +2 -1
  124. package/dist/cjs/serde/contracts/_module.js.map +1 -0
  125. package/dist/cjs/{serializer/contracts/serializer.contract.js → serde/contracts/serde.contract.js} +1 -1
  126. package/dist/cjs/serde/contracts/serde.contract.js.map +1 -0
  127. package/dist/cjs/{serializer/contracts/serializer.errors.js → serde/contracts/serde.errors.js} +7 -7
  128. package/dist/cjs/serde/contracts/serde.errors.js.map +1 -0
  129. package/dist/cjs/{_shared/redis → serde/implementations}/_module.js +5 -3
  130. package/dist/cjs/serde/implementations/_module.js.map +1 -0
  131. package/dist/cjs/{serializer/implementations/redis-serializer → serde/implementations/_shared/test-utilities}/_module.js +1 -1
  132. package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js.map +1 -0
  133. package/dist/{esm/serializer/implementations/_shared/test-utilities/serializer.test-suite.js → cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js} +65 -62
  134. package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -0
  135. package/dist/cjs/{_shared/kysely → serde/implementations/mongodb-serde}/_module.js +1 -1
  136. package/dist/cjs/serde/implementations/mongodb-serde/_module.js.map +1 -0
  137. package/dist/cjs/serde/implementations/mongodb-serde/mongodb-serde.js +36 -0
  138. package/dist/cjs/serde/implementations/mongodb-serde/mongodb-serde.js.map +1 -0
  139. package/dist/cjs/{utilities/async/delay-iterable → serde/implementations/redis-serde}/_module.js +1 -1
  140. package/dist/cjs/serde/implementations/redis-serde/_module.js.map +1 -0
  141. package/dist/cjs/serde/implementations/redis-serde/redis-serde.js +37 -0
  142. package/dist/cjs/serde/implementations/redis-serde/redis-serde.js.map +1 -0
  143. package/dist/cjs/{utilities/async/abortable → serde/implementations/sql-serde}/_module.js +1 -1
  144. package/dist/cjs/serde/implementations/sql-serde/_module.js.map +1 -0
  145. package/dist/cjs/serde/implementations/sql-serde/sql-serde.js +37 -0
  146. package/dist/cjs/serde/implementations/sql-serde/sql-serde.js.map +1 -0
  147. package/dist/cjs/{utilities/async/abortable-iterable → serde/implementations/super-json-serde}/_module.js +1 -1
  148. package/dist/cjs/serde/implementations/super-json-serde/_module.js.map +1 -0
  149. package/dist/cjs/{serializer/implementations/super-json-serializer/super-json-serializer.js → serde/implementations/super-json-serde/super-json-serde.js} +74 -100
  150. package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js.map +1 -0
  151. package/dist/cjs/utilities/_module.js +5 -4
  152. package/dist/cjs/utilities/_module.js.map +1 -1
  153. package/dist/cjs/{serializer → utilities}/contracts/_module.js +2 -2
  154. package/dist/cjs/utilities/contracts/_module.js.map +1 -0
  155. package/dist/cjs/utilities/contracts/deinitizable.contract.js +3 -0
  156. package/dist/cjs/utilities/contracts/deinitizable.contract.js.map +1 -0
  157. package/dist/cjs/utilities/contracts/initizable.contract.js +3 -0
  158. package/dist/cjs/utilities/contracts/initizable.contract.js.map +1 -0
  159. package/dist/cjs/utilities/{global-errors.js → errors.js} +1 -1
  160. package/dist/cjs/utilities/errors.js.map +1 -0
  161. package/dist/cjs/{_shared/utilities.js → utilities/functions.js} +6 -6
  162. package/dist/cjs/utilities/functions.js.map +1 -0
  163. package/dist/cjs/utilities/kysely/_module.js +18 -0
  164. package/dist/cjs/utilities/kysely/_module.js.map +1 -0
  165. package/dist/cjs/utilities/kysely/kysely-table-name-transformer-plugin.js.map +1 -0
  166. package/dist/cjs/utilities/time-span/time-span.js +8 -0
  167. package/dist/cjs/utilities/time-span/time-span.js.map +1 -1
  168. package/dist/cjs/{_shared → utilities}/types.js.map +1 -1
  169. package/dist/esm/_module.js +3 -2
  170. package/dist/esm/_module.js.map +1 -1
  171. package/dist/esm/async/_module.js +4 -0
  172. package/dist/esm/async/_module.js.map +1 -0
  173. package/dist/esm/{utilities/async/_shared.js → async/async.errors.js} +1 -1
  174. package/dist/esm/async/async.errors.js.map +1 -0
  175. package/dist/esm/async/backof-policies/_module.js +5 -0
  176. package/dist/esm/async/backof-policies/_module.js.map +1 -0
  177. package/dist/esm/async/backof-policies/_shared.js.map +1 -0
  178. package/dist/esm/async/backof-policies/constant-backoff-policy/_module.js +2 -0
  179. package/dist/esm/async/backof-policies/constant-backoff-policy/_module.js.map +1 -0
  180. package/dist/esm/{utilities → async}/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
  181. package/dist/esm/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
  182. package/dist/esm/async/backof-policies/exponential-backoff-policy/_module.js +2 -0
  183. package/dist/esm/async/backof-policies/exponential-backoff-policy/_module.js.map +1 -0
  184. package/dist/esm/{utilities → async}/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
  185. package/dist/esm/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
  186. package/dist/esm/async/backof-policies/linear-backoff-policy/_module.js +2 -0
  187. package/dist/esm/async/backof-policies/linear-backoff-policy/_module.js.map +1 -0
  188. package/dist/esm/{utilities → async}/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
  189. package/dist/esm/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
  190. package/dist/esm/async/backof-policies/polynomial-backoff-policy/_module.js +2 -0
  191. package/dist/esm/async/backof-policies/polynomial-backoff-policy/_module.js.map +1 -0
  192. package/dist/esm/{utilities → async}/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
  193. package/dist/esm/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
  194. package/dist/esm/async/utilities/_module.js +3 -0
  195. package/dist/esm/async/utilities/_module.js.map +1 -0
  196. package/dist/esm/async/utilities/abort/_module.js +3 -0
  197. package/dist/esm/async/utilities/abort/_module.js.map +1 -0
  198. package/dist/esm/{utilities/async/abortable/abortable.js → async/utilities/abort/abort-and-fail.js} +13 -16
  199. package/dist/esm/async/utilities/abort/abort-and-fail.js.map +1 -0
  200. package/dist/esm/async/utilities/abort/abort.js +15 -0
  201. package/dist/esm/async/utilities/abort/abort.js.map +1 -0
  202. package/dist/esm/async/utilities/delay/_module.js +2 -0
  203. package/dist/esm/async/utilities/delay/_module.js.map +1 -0
  204. package/dist/esm/async/utilities/delay/delay.js +17 -0
  205. package/dist/esm/async/utilities/delay/delay.js.map +1 -0
  206. package/dist/esm/async/utilities/lazy-promise/_module.js +2 -0
  207. package/dist/esm/async/utilities/lazy-promise/_module.js.map +1 -0
  208. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +106 -0
  209. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -0
  210. package/dist/esm/async/utilities/retry/_module.js +3 -0
  211. package/dist/esm/async/utilities/retry/_module.js.map +1 -0
  212. package/dist/esm/async/utilities/retry/retry-or-fail.js +33 -0
  213. package/dist/esm/async/utilities/retry/retry-or-fail.js.map +1 -0
  214. package/dist/esm/async/utilities/retry/retry.js +15 -0
  215. package/dist/esm/async/utilities/retry/retry.js.map +1 -0
  216. package/dist/esm/async/utilities/timeout/_module.js +3 -0
  217. package/dist/esm/async/utilities/timeout/_module.js.map +1 -0
  218. package/dist/esm/async/utilities/timeout/timeout-and-fail.js +22 -0
  219. package/dist/esm/async/utilities/timeout/timeout-and-fail.js.map +1 -0
  220. package/dist/esm/async/utilities/timeout/timeout.js +15 -0
  221. package/dist/esm/async/utilities/timeout/timeout.js.map +1 -0
  222. package/dist/esm/cache/contracts/cache.events.js +0 -10
  223. package/dist/esm/cache/contracts/cache.events.js.map +1 -1
  224. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +258 -178
  225. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  226. package/dist/esm/cache/implementations/_shared/cache.test-suite.js +25 -3
  227. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  228. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +60 -19
  229. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  230. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +16 -6
  231. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  232. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +58 -39
  233. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  234. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +63 -23
  235. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  236. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +10 -1
  237. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  238. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +44 -19
  239. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  240. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +16 -6
  241. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  242. package/dist/esm/cache/implementations/derivables/_module.js +0 -1
  243. package/dist/esm/cache/implementations/derivables/_module.js.map +1 -1
  244. package/dist/esm/cache/implementations/derivables/cache-factory.js +2 -5
  245. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -1
  246. package/dist/esm/cache/implementations/derivables/cache.js +304 -62
  247. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -1
  248. package/dist/esm/collection/implementations/async-iterable-collection/_shared/_module.js +4 -1
  249. package/dist/esm/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  250. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +23 -0
  251. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -0
  252. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js +14 -7
  253. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js.map +1 -1
  254. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +29 -0
  255. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -0
  256. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +32 -0
  257. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -0
  258. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +44 -0
  259. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -0
  260. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +61 -40
  261. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  262. package/dist/esm/collection/implementations/iterable-collection/_shared/merge-iterable.js +6 -7
  263. package/dist/esm/collection/implementations/iterable-collection/_shared/merge-iterable.js.map +1 -1
  264. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js +12 -3
  265. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  266. package/dist/esm/collection/implementations/list-collection/list-collection.js +14 -1
  267. package/dist/esm/collection/implementations/list-collection/list-collection.js.map +1 -1
  268. package/dist/esm/event-bus/contracts/event-bus.errors.js +3 -3
  269. package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -1
  270. package/dist/esm/event-bus/implementations/_module.js +1 -1
  271. package/dist/esm/event-bus/implementations/_module.js.map +1 -1
  272. package/dist/esm/event-bus/implementations/_shared/_module.js +3 -0
  273. package/dist/esm/event-bus/implementations/_shared/_module.js.map +1 -0
  274. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +93 -0
  275. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -0
  276. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +332 -0
  277. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -0
  278. package/dist/esm/event-bus/implementations/adapters/_module.js +1 -1
  279. package/dist/esm/event-bus/implementations/adapters/_module.js.map +1 -1
  280. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +19 -9
  281. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  282. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +7 -1
  283. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  284. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -0
  285. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +48 -0
  286. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -0
  287. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +4 -5
  288. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  289. package/dist/esm/event-bus/implementations/derivables/event-bus.js +97 -34
  290. package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -1
  291. package/dist/esm/serde/contracts/_module.js +3 -0
  292. package/dist/esm/serde/contracts/_module.js.map +1 -0
  293. package/dist/esm/serde/contracts/serde.contract.js +1 -0
  294. package/dist/esm/serde/contracts/serde.contract.js.map +1 -0
  295. package/dist/esm/{serializer/contracts/serializer.errors.js → serde/contracts/serde.errors.js} +5 -5
  296. package/dist/esm/serde/contracts/serde.errors.js.map +1 -0
  297. package/dist/esm/serde/implementations/_module.js +6 -0
  298. package/dist/esm/serde/implementations/_module.js.map +1 -0
  299. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js +2 -0
  300. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js.map +1 -0
  301. package/dist/{cjs/serializer/implementations/_shared/test-utilities/serializer.test-suite.js → esm/serde/implementations/_shared/test-utilities/serde.test-suite.js} +62 -65
  302. package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -0
  303. package/dist/esm/serde/implementations/mongodb-serde/_module.js +2 -0
  304. package/dist/esm/serde/implementations/mongodb-serde/_module.js.map +1 -0
  305. package/dist/esm/{serializer/implementations/mongodb-serializer/mongodb-serializer.js → serde/implementations/mongodb-serde/mongodb-serde.js} +10 -10
  306. package/dist/esm/serde/implementations/mongodb-serde/mongodb-serde.js.map +1 -0
  307. package/dist/esm/serde/implementations/redis-serde/_module.js +2 -0
  308. package/dist/esm/serde/implementations/redis-serde/_module.js.map +1 -0
  309. package/dist/esm/{serializer/implementations/sql-serializer/sql-serializer.js → serde/implementations/redis-serde/redis-serde.js} +10 -10
  310. package/dist/esm/serde/implementations/redis-serde/redis-serde.js.map +1 -0
  311. package/dist/esm/serde/implementations/sql-serde/_module.js +2 -0
  312. package/dist/esm/serde/implementations/sql-serde/_module.js.map +1 -0
  313. package/dist/esm/{serializer/implementations/redis-serializer/redis-serializer.js → serde/implementations/sql-serde/sql-serde.js} +10 -10
  314. package/dist/esm/serde/implementations/sql-serde/sql-serde.js.map +1 -0
  315. package/dist/esm/serde/implementations/super-json-serde/_module.js +2 -0
  316. package/dist/esm/serde/implementations/super-json-serde/_module.js.map +1 -0
  317. package/dist/esm/{serializer/implementations/super-json-serializer/super-json-serializer.js → serde/implementations/super-json-serde/super-json-serde.js} +52 -55
  318. package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js.map +1 -0
  319. package/dist/esm/utilities/_module.js +5 -4
  320. package/dist/esm/utilities/_module.js.map +1 -1
  321. package/dist/esm/utilities/contracts/_module.js +3 -0
  322. package/dist/esm/utilities/contracts/_module.js.map +1 -0
  323. package/dist/esm/utilities/contracts/deinitizable.contract.js +1 -0
  324. package/dist/esm/utilities/contracts/deinitizable.contract.js.map +1 -0
  325. package/dist/esm/utilities/contracts/initizable.contract.js +1 -0
  326. package/dist/esm/utilities/contracts/initizable.contract.js.map +1 -0
  327. package/dist/esm/utilities/{global-errors.js → errors.js} +1 -1
  328. package/dist/esm/utilities/errors.js.map +1 -0
  329. package/dist/esm/{_shared/utilities.js → utilities/functions.js} +5 -5
  330. package/dist/esm/utilities/functions.js.map +1 -0
  331. package/dist/esm/utilities/kysely/_module.js +2 -0
  332. package/dist/esm/utilities/kysely/_module.js.map +1 -0
  333. package/dist/esm/utilities/kysely/kysely-table-name-transformer-plugin.js.map +1 -0
  334. package/dist/esm/utilities/time-span/time-span.js +8 -0
  335. package/dist/esm/utilities/time-span/time-span.js.map +1 -1
  336. package/dist/esm/{_shared → utilities}/types.js.map +1 -1
  337. package/dist/types/_module.d.ts +3 -2
  338. package/dist/types/async/_module.d.ts +3 -0
  339. package/dist/types/{utilities/async/_shared.d.ts → async/async.errors.d.ts} +6 -6
  340. package/dist/types/async/backof-policies/_module.d.ts +5 -0
  341. package/dist/types/{utilities → async}/backof-policies/_shared.d.ts +1 -1
  342. package/dist/types/async/backof-policies/constant-backoff-policy/_module.d.ts +1 -0
  343. package/dist/types/{utilities → async}/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
  344. package/dist/types/async/backof-policies/exponential-backoff-policy/_module.d.ts +1 -0
  345. package/dist/types/{utilities → async}/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
  346. package/dist/types/async/backof-policies/linear-backoff-policy/_module.d.ts +1 -0
  347. package/dist/types/{utilities → async}/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
  348. package/dist/types/async/backof-policies/polynomial-backoff-policy/_module.d.ts +1 -0
  349. package/dist/types/{utilities → async}/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
  350. package/dist/types/async/utilities/_module.d.ts +2 -0
  351. package/dist/types/async/utilities/abort/_module.d.ts +2 -0
  352. package/dist/types/async/utilities/abort/abort-and-fail.d.ts +4 -0
  353. package/dist/types/async/utilities/abort/abort.d.ts +9 -0
  354. package/dist/types/async/utilities/delay/_module.d.ts +1 -0
  355. package/dist/types/async/utilities/delay/delay.d.ts +19 -0
  356. package/dist/types/async/utilities/lazy-promise/_module.d.ts +1 -0
  357. package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +222 -0
  358. package/dist/types/async/utilities/retry/_module.d.ts +2 -0
  359. package/dist/types/async/utilities/retry/retry-or-fail.d.ts +23 -0
  360. package/dist/types/async/utilities/retry/retry.d.ts +10 -0
  361. package/dist/types/async/utilities/timeout/_module.d.ts +2 -0
  362. package/dist/types/async/utilities/timeout/timeout-and-fail.d.ts +5 -0
  363. package/dist/types/async/utilities/timeout/timeout.d.ts +10 -0
  364. package/dist/types/cache/contracts/cache-adapter.contract.d.ts +20 -6
  365. package/dist/types/cache/contracts/cache-factory.contract.d.ts +4 -4
  366. package/dist/types/cache/contracts/cache.contract.d.ts +25 -43
  367. package/dist/types/cache/contracts/cache.events.d.ts +38 -91
  368. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +34 -25
  369. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +54 -43
  370. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +11 -5
  371. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +22 -9
  372. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +12 -6
  373. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +24 -11
  374. package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +5 -2
  375. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +20 -13
  376. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +22 -9
  377. package/dist/types/cache/implementations/derivables/_module.d.ts +0 -1
  378. package/dist/types/cache/implementations/derivables/cache-factory.d.ts +5 -11
  379. package/dist/types/cache/implementations/derivables/cache.d.ts +37 -42
  380. package/dist/types/collection/contracts/async-collection.contract.d.ts +10 -6
  381. package/dist/types/collection/contracts/collection.contract.d.ts +1 -1
  382. package/dist/types/collection/implementations/async-iterable-collection/_shared/_module.d.ts +4 -1
  383. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-chunk-iterable.d.ts +1 -1
  384. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.d.ts +1 -1
  385. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.d.ts +1 -1
  386. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.d.ts +13 -0
  387. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.d.ts +1 -1
  388. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.d.ts +1 -1
  389. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.d.ts +1 -1
  390. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.d.ts +1 -1
  391. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.d.ts +5 -6
  392. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-pad-end-iterable.d.ts +1 -1
  393. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-pad-start-iterable.d.ts +1 -1
  394. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.d.ts +1 -1
  395. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-repeat-iterable.d.ts +1 -1
  396. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +13 -0
  397. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-reverse-iterable.d.ts +1 -1
  398. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-split-iterable.d.ts +1 -1
  399. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.d.ts +9 -0
  400. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.d.ts +13 -0
  401. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.d.ts +1 -1
  402. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +10 -4
  403. package/dist/types/collection/implementations/iterable-collection/_shared/merge-iterable.d.ts +4 -5
  404. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +4 -1
  405. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +4 -1
  406. package/dist/types/event-bus/contracts/_shared.d.ts +2 -5
  407. package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +12 -6
  408. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +4 -5
  409. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +58 -27
  410. package/dist/types/event-bus/contracts/event-bus.errors.d.ts +3 -3
  411. package/dist/types/event-bus/implementations/_module.d.ts +1 -1
  412. package/dist/types/event-bus/implementations/_shared/_module.d.ts +2 -0
  413. package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +68 -0
  414. package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +72 -0
  415. package/dist/types/event-bus/implementations/adapters/_module.d.ts +1 -1
  416. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +10 -5
  417. package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +4 -1
  418. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +50 -0
  419. package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +7 -8
  420. package/dist/types/event-bus/implementations/derivables/event-bus.d.ts +20 -46
  421. package/dist/types/serde/contracts/_module.d.ts +2 -0
  422. package/dist/types/serde/contracts/serde.contract.d.ts +41 -0
  423. package/dist/types/{serializer/contracts/serializer.errors.d.ts → serde/contracts/serde.errors.d.ts} +4 -4
  424. package/dist/types/serde/implementations/_module.d.ts +5 -0
  425. package/dist/types/serde/implementations/_shared/test-utilities/_module.d.ts +1 -0
  426. package/dist/types/serde/implementations/_shared/test-utilities/serde.test-suite.d.ts +18 -0
  427. package/dist/types/serde/implementations/mongodb-serde/_module.d.ts +1 -0
  428. package/dist/types/serde/implementations/mongodb-serde/mongodb-serde.d.ts +13 -0
  429. package/dist/types/serde/implementations/redis-serde/_module.d.ts +1 -0
  430. package/dist/types/serde/implementations/redis-serde/redis-serde.d.ts +13 -0
  431. package/dist/types/serde/implementations/sql-serde/_module.d.ts +1 -0
  432. package/dist/types/serde/implementations/sql-serde/sql-serde.d.ts +13 -0
  433. package/dist/types/serde/implementations/super-json-serde/_module.d.ts +1 -0
  434. package/dist/types/serde/implementations/super-json-serde/super-json-serde.d.ts +25 -0
  435. package/dist/types/utilities/_module.d.ts +5 -4
  436. package/dist/types/utilities/contracts/_module.d.ts +2 -0
  437. package/dist/types/utilities/contracts/deinitizable.contract.d.ts +9 -0
  438. package/dist/types/utilities/contracts/initizable.contract.d.ts +9 -0
  439. package/dist/types/utilities/{global-errors.d.ts → errors.d.ts} +10 -1
  440. package/dist/types/{_shared/utilities.d.ts → utilities/functions.d.ts} +4 -4
  441. package/dist/types/utilities/kysely/_module.d.ts +1 -0
  442. package/dist/types/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.d.ts +1 -1
  443. package/dist/types/utilities/time-span/time-span.d.ts +11 -2
  444. package/dist/types/{_shared → utilities}/types.d.ts +3 -8
  445. package/package.json +3 -9
  446. package/dist/cjs/_shared/kysely/_module.js.map +0 -1
  447. package/dist/cjs/_shared/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  448. package/dist/cjs/_shared/redis/_module.js.map +0 -1
  449. package/dist/cjs/_shared/redis/clear-iterable.js +0 -25
  450. package/dist/cjs/_shared/redis/clear-iterable.js.map +0 -1
  451. package/dist/cjs/_shared/redis/escape-redis-chars.js +0 -41
  452. package/dist/cjs/_shared/redis/escape-redis-chars.js.map +0 -1
  453. package/dist/cjs/_shared/redis/is-redis-type-error.js +0 -9
  454. package/dist/cjs/_shared/redis/is-redis-type-error.js.map +0 -1
  455. package/dist/cjs/_shared/utilities.js.map +0 -1
  456. package/dist/cjs/cache/implementations/derivables/base-cache.js +0 -262
  457. package/dist/cjs/cache/implementations/derivables/base-cache.js.map +0 -1
  458. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js +0 -31
  459. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +0 -1
  460. package/dist/cjs/event-bus/implementations/_shared/test-utilities/_module.js.map +0 -1
  461. package/dist/cjs/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.js +0 -51
  462. package/dist/cjs/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.js.map +0 -1
  463. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +0 -1
  464. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +0 -45
  465. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
  466. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js +0 -47
  467. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js.map +0 -1
  468. package/dist/cjs/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js +0 -42
  469. package/dist/cjs/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +0 -1
  470. package/dist/cjs/serializer/contracts/_module.js.map +0 -1
  471. package/dist/cjs/serializer/contracts/serializer.contract.js.map +0 -1
  472. package/dist/cjs/serializer/contracts/serializer.errors.js.map +0 -1
  473. package/dist/cjs/serializer/implementations/_module.js +0 -22
  474. package/dist/cjs/serializer/implementations/_module.js.map +0 -1
  475. package/dist/cjs/serializer/implementations/_shared/test-utilities/_module.js.map +0 -1
  476. package/dist/cjs/serializer/implementations/_shared/test-utilities/serializer.test-suite.js.map +0 -1
  477. package/dist/cjs/serializer/implementations/mongodb-serializer/_module.js.map +0 -1
  478. package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js +0 -36
  479. package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +0 -1
  480. package/dist/cjs/serializer/implementations/redis-serializer/_module.js.map +0 -1
  481. package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js +0 -37
  482. package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js.map +0 -1
  483. package/dist/cjs/serializer/implementations/sql-serializer/_module.js.map +0 -1
  484. package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js +0 -37
  485. package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js.map +0 -1
  486. package/dist/cjs/serializer/implementations/super-json-serializer/_module.js +0 -18
  487. package/dist/cjs/serializer/implementations/super-json-serializer/_module.js.map +0 -1
  488. package/dist/cjs/serializer/implementations/super-json-serializer/super-json-serializer.js.map +0 -1
  489. package/dist/cjs/utilities/async/_module.js +0 -29
  490. package/dist/cjs/utilities/async/_module.js.map +0 -1
  491. package/dist/cjs/utilities/async/_shared.js.map +0 -1
  492. package/dist/cjs/utilities/async/abortable/_module.js.map +0 -1
  493. package/dist/cjs/utilities/async/abortable/abortable.js +0 -48
  494. package/dist/cjs/utilities/async/abortable/abortable.js.map +0 -1
  495. package/dist/cjs/utilities/async/abortable-iterable/_module.js.map +0 -1
  496. package/dist/cjs/utilities/async/abortable-iterable/abortable-iterable.js +0 -32
  497. package/dist/cjs/utilities/async/abortable-iterable/abortable-iterable.js.map +0 -1
  498. package/dist/cjs/utilities/async/delay/_module.js.map +0 -1
  499. package/dist/cjs/utilities/async/delay/delay.js +0 -24
  500. package/dist/cjs/utilities/async/delay/delay.js.map +0 -1
  501. package/dist/cjs/utilities/async/delay-iterable/_module.js.map +0 -1
  502. package/dist/cjs/utilities/async/delay-iterable/delay-iterable.js +0 -36
  503. package/dist/cjs/utilities/async/delay-iterable/delay-iterable.js.map +0 -1
  504. package/dist/cjs/utilities/async/lazy-promise/_module.js.map +0 -1
  505. package/dist/cjs/utilities/async/lazy-promise/lazy-promise.js +0 -22
  506. package/dist/cjs/utilities/async/lazy-promise/lazy-promise.js.map +0 -1
  507. package/dist/cjs/utilities/async/retry/_module.js.map +0 -1
  508. package/dist/cjs/utilities/async/retry/retry.js +0 -43
  509. package/dist/cjs/utilities/async/retry/retry.js.map +0 -1
  510. package/dist/cjs/utilities/async/retry-iterable/_module.js +0 -18
  511. package/dist/cjs/utilities/async/retry-iterable/_module.js.map +0 -1
  512. package/dist/cjs/utilities/async/retry-iterable/retry-iterable.js +0 -32
  513. package/dist/cjs/utilities/async/retry-iterable/retry-iterable.js.map +0 -1
  514. package/dist/cjs/utilities/async/timeout/_module.js.map +0 -1
  515. package/dist/cjs/utilities/async/timeout/timeout.js +0 -28
  516. package/dist/cjs/utilities/async/timeout/timeout.js.map +0 -1
  517. package/dist/cjs/utilities/async/timeout-iterable/_module.js +0 -18
  518. package/dist/cjs/utilities/async/timeout-iterable/_module.js.map +0 -1
  519. package/dist/cjs/utilities/async/timeout-iterable/timeout-iterable.js +0 -11
  520. package/dist/cjs/utilities/async/timeout-iterable/timeout-iterable.js.map +0 -1
  521. package/dist/cjs/utilities/backof-policies/_module.js.map +0 -1
  522. package/dist/cjs/utilities/backof-policies/_shared.js.map +0 -1
  523. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/_module.js +0 -18
  524. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/_module.js.map +0 -1
  525. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
  526. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/_module.js +0 -18
  527. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
  528. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
  529. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/_module.js +0 -18
  530. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/_module.js.map +0 -1
  531. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
  532. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/_module.js +0 -18
  533. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
  534. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
  535. package/dist/cjs/utilities/global-errors.js.map +0 -1
  536. package/dist/cjs/utilities/validation/_module.js +0 -22
  537. package/dist/cjs/utilities/validation/_module.js.map +0 -1
  538. package/dist/esm/_shared/kysely/_module.js +0 -2
  539. package/dist/esm/_shared/kysely/_module.js.map +0 -1
  540. package/dist/esm/_shared/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  541. package/dist/esm/_shared/redis/_module.js +0 -4
  542. package/dist/esm/_shared/redis/_module.js.map +0 -1
  543. package/dist/esm/_shared/redis/clear-iterable.js +0 -21
  544. package/dist/esm/_shared/redis/clear-iterable.js.map +0 -1
  545. package/dist/esm/_shared/redis/escape-redis-chars.js +0 -38
  546. package/dist/esm/_shared/redis/escape-redis-chars.js.map +0 -1
  547. package/dist/esm/_shared/redis/is-redis-type-error.js +0 -6
  548. package/dist/esm/_shared/redis/is-redis-type-error.js.map +0 -1
  549. package/dist/esm/_shared/utilities.js.map +0 -1
  550. package/dist/esm/cache/implementations/derivables/base-cache.js +0 -258
  551. package/dist/esm/cache/implementations/derivables/base-cache.js.map +0 -1
  552. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js +0 -27
  553. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +0 -1
  554. package/dist/esm/event-bus/implementations/_shared/test-utilities/_module.js +0 -2
  555. package/dist/esm/event-bus/implementations/_shared/test-utilities/_module.js.map +0 -1
  556. package/dist/esm/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.js +0 -48
  557. package/dist/esm/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.js.map +0 -1
  558. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +0 -1
  559. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +0 -41
  560. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
  561. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js +0 -43
  562. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js.map +0 -1
  563. package/dist/esm/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js +0 -38
  564. package/dist/esm/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +0 -1
  565. package/dist/esm/serializer/contracts/_module.js +0 -3
  566. package/dist/esm/serializer/contracts/_module.js.map +0 -1
  567. package/dist/esm/serializer/contracts/serializer.contract.js +0 -1
  568. package/dist/esm/serializer/contracts/serializer.contract.js.map +0 -1
  569. package/dist/esm/serializer/contracts/serializer.errors.js.map +0 -1
  570. package/dist/esm/serializer/implementations/_module.js +0 -6
  571. package/dist/esm/serializer/implementations/_module.js.map +0 -1
  572. package/dist/esm/serializer/implementations/_shared/test-utilities/_module.js +0 -2
  573. package/dist/esm/serializer/implementations/_shared/test-utilities/_module.js.map +0 -1
  574. package/dist/esm/serializer/implementations/_shared/test-utilities/serializer.test-suite.js.map +0 -1
  575. package/dist/esm/serializer/implementations/mongodb-serializer/_module.js +0 -2
  576. package/dist/esm/serializer/implementations/mongodb-serializer/_module.js.map +0 -1
  577. package/dist/esm/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +0 -1
  578. package/dist/esm/serializer/implementations/redis-serializer/_module.js +0 -2
  579. package/dist/esm/serializer/implementations/redis-serializer/_module.js.map +0 -1
  580. package/dist/esm/serializer/implementations/redis-serializer/redis-serializer.js.map +0 -1
  581. package/dist/esm/serializer/implementations/sql-serializer/_module.js +0 -2
  582. package/dist/esm/serializer/implementations/sql-serializer/_module.js.map +0 -1
  583. package/dist/esm/serializer/implementations/sql-serializer/sql-serializer.js.map +0 -1
  584. package/dist/esm/serializer/implementations/super-json-serializer/_module.js +0 -2
  585. package/dist/esm/serializer/implementations/super-json-serializer/_module.js.map +0 -1
  586. package/dist/esm/serializer/implementations/super-json-serializer/super-json-serializer.js.map +0 -1
  587. package/dist/esm/utilities/async/_module.js +0 -11
  588. package/dist/esm/utilities/async/_module.js.map +0 -1
  589. package/dist/esm/utilities/async/_shared.js.map +0 -1
  590. package/dist/esm/utilities/async/abortable/_module.js +0 -2
  591. package/dist/esm/utilities/async/abortable/_module.js.map +0 -1
  592. package/dist/esm/utilities/async/abortable/abortable.js.map +0 -1
  593. package/dist/esm/utilities/async/abortable-iterable/_module.js +0 -2
  594. package/dist/esm/utilities/async/abortable-iterable/_module.js.map +0 -1
  595. package/dist/esm/utilities/async/abortable-iterable/abortable-iterable.js +0 -29
  596. package/dist/esm/utilities/async/abortable-iterable/abortable-iterable.js.map +0 -1
  597. package/dist/esm/utilities/async/delay/_module.js +0 -2
  598. package/dist/esm/utilities/async/delay/_module.js.map +0 -1
  599. package/dist/esm/utilities/async/delay/delay.js +0 -21
  600. package/dist/esm/utilities/async/delay/delay.js.map +0 -1
  601. package/dist/esm/utilities/async/delay-iterable/_module.js +0 -2
  602. package/dist/esm/utilities/async/delay-iterable/_module.js.map +0 -1
  603. package/dist/esm/utilities/async/delay-iterable/delay-iterable.js +0 -33
  604. package/dist/esm/utilities/async/delay-iterable/delay-iterable.js.map +0 -1
  605. package/dist/esm/utilities/async/lazy-promise/_module.js +0 -2
  606. package/dist/esm/utilities/async/lazy-promise/_module.js.map +0 -1
  607. package/dist/esm/utilities/async/lazy-promise/lazy-promise.js +0 -17
  608. package/dist/esm/utilities/async/lazy-promise/lazy-promise.js.map +0 -1
  609. package/dist/esm/utilities/async/retry/_module.js +0 -2
  610. package/dist/esm/utilities/async/retry/_module.js.map +0 -1
  611. package/dist/esm/utilities/async/retry/retry.js +0 -40
  612. package/dist/esm/utilities/async/retry/retry.js.map +0 -1
  613. package/dist/esm/utilities/async/retry-iterable/_module.js +0 -2
  614. package/dist/esm/utilities/async/retry-iterable/_module.js.map +0 -1
  615. package/dist/esm/utilities/async/retry-iterable/retry-iterable.js +0 -29
  616. package/dist/esm/utilities/async/retry-iterable/retry-iterable.js.map +0 -1
  617. package/dist/esm/utilities/async/timeout/_module.js +0 -2
  618. package/dist/esm/utilities/async/timeout/_module.js.map +0 -1
  619. package/dist/esm/utilities/async/timeout/timeout.js +0 -25
  620. package/dist/esm/utilities/async/timeout/timeout.js.map +0 -1
  621. package/dist/esm/utilities/async/timeout-iterable/_module.js +0 -2
  622. package/dist/esm/utilities/async/timeout-iterable/_module.js.map +0 -1
  623. package/dist/esm/utilities/async/timeout-iterable/timeout-iterable.js +0 -8
  624. package/dist/esm/utilities/async/timeout-iterable/timeout-iterable.js.map +0 -1
  625. package/dist/esm/utilities/backof-policies/_module.js +0 -5
  626. package/dist/esm/utilities/backof-policies/_module.js.map +0 -1
  627. package/dist/esm/utilities/backof-policies/_shared.js.map +0 -1
  628. package/dist/esm/utilities/backof-policies/constant-backoff-policy/_module.js +0 -2
  629. package/dist/esm/utilities/backof-policies/constant-backoff-policy/_module.js.map +0 -1
  630. package/dist/esm/utilities/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
  631. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/_module.js +0 -2
  632. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
  633. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
  634. package/dist/esm/utilities/backof-policies/linear-backoff-policy/_module.js +0 -2
  635. package/dist/esm/utilities/backof-policies/linear-backoff-policy/_module.js.map +0 -1
  636. package/dist/esm/utilities/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
  637. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/_module.js +0 -2
  638. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
  639. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
  640. package/dist/esm/utilities/global-errors.js.map +0 -1
  641. package/dist/esm/utilities/validation/_module.js +0 -17
  642. package/dist/esm/utilities/validation/_module.js.map +0 -1
  643. package/dist/types/_shared/kysely/_module.d.ts +0 -1
  644. package/dist/types/_shared/redis/_module.d.ts +0 -3
  645. package/dist/types/_shared/redis/clear-iterable.d.ts +0 -13
  646. package/dist/types/_shared/redis/escape-redis-chars.d.ts +0 -7
  647. package/dist/types/_shared/redis/is-redis-type-error.d.ts +0 -7
  648. package/dist/types/cache/implementations/derivables/base-cache.d.ts +0 -57
  649. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.d.ts +0 -12
  650. package/dist/types/event-bus/implementations/_shared/test-utilities/_module.d.ts +0 -1
  651. package/dist/types/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.d.ts +0 -36
  652. package/dist/types/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.d.ts +0 -43
  653. package/dist/types/event-bus/implementations/derivables/base-event-bus.d.ts +0 -23
  654. package/dist/types/event-bus/implementations/derivables/with-namespace-event-bus-adapter.d.ts +0 -16
  655. package/dist/types/serializer/contracts/_module.d.ts +0 -2
  656. package/dist/types/serializer/contracts/serializer.contract.d.ts +0 -16
  657. package/dist/types/serializer/implementations/_module.d.ts +0 -5
  658. package/dist/types/serializer/implementations/_shared/test-utilities/_module.d.ts +0 -1
  659. package/dist/types/serializer/implementations/_shared/test-utilities/serializer.test-suite.d.ts +0 -18
  660. package/dist/types/serializer/implementations/mongodb-serializer/_module.d.ts +0 -1
  661. package/dist/types/serializer/implementations/mongodb-serializer/mongodb-serializer.d.ts +0 -13
  662. package/dist/types/serializer/implementations/redis-serializer/_module.d.ts +0 -1
  663. package/dist/types/serializer/implementations/redis-serializer/redis-serializer.d.ts +0 -13
  664. package/dist/types/serializer/implementations/sql-serializer/_module.d.ts +0 -1
  665. package/dist/types/serializer/implementations/sql-serializer/sql-serializer.d.ts +0 -13
  666. package/dist/types/serializer/implementations/super-json-serializer/_module.d.ts +0 -1
  667. package/dist/types/serializer/implementations/super-json-serializer/super-json-serializer.d.ts +0 -37
  668. package/dist/types/utilities/async/_module.d.ts +0 -10
  669. package/dist/types/utilities/async/abortable/_module.d.ts +0 -1
  670. package/dist/types/utilities/async/abortable/abortable.d.ts +0 -39
  671. package/dist/types/utilities/async/abortable-iterable/_module.d.ts +0 -1
  672. package/dist/types/utilities/async/abortable-iterable/abortable-iterable.d.ts +0 -36
  673. package/dist/types/utilities/async/delay/_module.d.ts +0 -1
  674. package/dist/types/utilities/async/delay/delay.d.ts +0 -38
  675. package/dist/types/utilities/async/delay-iterable/_module.d.ts +0 -1
  676. package/dist/types/utilities/async/delay-iterable/delay-iterable.d.ts +0 -57
  677. package/dist/types/utilities/async/lazy-promise/_module.d.ts +0 -1
  678. package/dist/types/utilities/async/lazy-promise/lazy-promise.d.ts +0 -28
  679. package/dist/types/utilities/async/retry/_module.d.ts +0 -1
  680. package/dist/types/utilities/async/retry/retry.d.ts +0 -89
  681. package/dist/types/utilities/async/retry-iterable/_module.d.ts +0 -1
  682. package/dist/types/utilities/async/retry-iterable/retry-iterable.d.ts +0 -86
  683. package/dist/types/utilities/async/timeout/_module.d.ts +0 -1
  684. package/dist/types/utilities/async/timeout/timeout.d.ts +0 -40
  685. package/dist/types/utilities/async/timeout-iterable/_module.d.ts +0 -1
  686. package/dist/types/utilities/async/timeout-iterable/timeout-iterable.d.ts +0 -64
  687. package/dist/types/utilities/backof-policies/_module.d.ts +0 -5
  688. package/dist/types/utilities/backof-policies/constant-backoff-policy/_module.d.ts +0 -1
  689. package/dist/types/utilities/backof-policies/exponential-backoff-policy/_module.d.ts +0 -1
  690. package/dist/types/utilities/backof-policies/linear-backoff-policy/_module.d.ts +0 -1
  691. package/dist/types/utilities/backof-policies/polynomial-backoff-policy/_module.d.ts +0 -1
  692. package/dist/types/utilities/validation/_module.d.ts +0 -32
  693. /package/dist/cjs/{utilities → async}/backof-policies/_shared.js +0 -0
  694. /package/dist/cjs/event-bus/implementations/adapters/{redis-event-bus-adapter → redis-pub-sub-event-bus-adapter}/_module.js +0 -0
  695. /package/dist/cjs/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.js +0 -0
  696. /package/dist/cjs/{_shared → utilities}/types.js +0 -0
  697. /package/dist/esm/{utilities → async}/backof-policies/_shared.js +0 -0
  698. /package/dist/esm/event-bus/implementations/adapters/{redis-event-bus-adapter → redis-pub-sub-event-bus-adapter}/_module.js +0 -0
  699. /package/dist/esm/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.js +0 -0
  700. /package/dist/esm/{_shared → utilities}/types.js +0 -0
  701. /package/dist/types/event-bus/implementations/adapters/{redis-event-bus-adapter → redis-pub-sub-event-bus-adapter}/_module.d.ts +0 -0
@@ -2,15 +2,16 @@
2
2
  * @module Cache
3
3
  */
4
4
  import type { IListenable } from "../../event-bus/contracts/_module";
5
- import type { OneOrMore } from "../../_shared/types";
6
- import { type AsyncLazyable, type GetOrAddValue } from "../../_shared/types";
7
- import type { AllCacheEvents } from "../../cache/contracts/_module";
8
- import type { LazyPromise, TimeSpan } from "../../utilities/_module";
5
+ import type { OneOrMore } from "../../utilities/_module";
6
+ import { type AsyncLazyable, type GetOrAddValue } from "../../utilities/_module";
7
+ import type { CacheEvents } from "../../cache/contracts/_module";
8
+ import type { TimeSpan } from "../../utilities/_module";
9
+ import type { LazyPromise } from "../../async/_module";
9
10
  /**
10
11
  * The <i>ICacheListenable</i> contract defines a way for listening <i>{@link ICache}</i> crud operations.
11
12
  * @group Contracts
12
13
  */
13
- export type ICacheListenable<TType = unknown> = IListenable<AllCacheEvents<TType>>;
14
+ export type ICacheListenable<TType = unknown> = IListenable<CacheEvents<TType>>;
14
15
  /**
15
16
  * @group Contracts
16
17
  */
@@ -29,107 +30,89 @@ export type WithTtlValue<TType> = {
29
30
  export type ICache<TType = unknown> = ICacheListenable & {
30
31
  /**
31
32
  * The <i>exists</i> method returns true when <i>key</i> is found otherwise false will be returned.
32
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
33
33
  */
34
34
  exists(key: string): LazyPromise<boolean>;
35
35
  /**
36
36
  * The <i>existsMany</i> method returns true for the <i>keys</i> that are found otherwise false will be returned.
37
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
38
37
  */
39
38
  existsMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
40
39
  /**
41
40
  * The <i>missing</i> method returns true when <i>key</i> is not found otherwise false will be returned.
42
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
43
41
  */
44
42
  missing(key: string): LazyPromise<boolean>;
45
43
  /**
46
44
  * The <i>missingMany</i> method returns true for the <i>keys</i> that are not found otherwise false will be returned.
47
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
48
45
  */
49
46
  missingMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
50
47
  /**
51
48
  * The <i>get</i> method returns the value when <i>key</i> is found otherwise null will be returned.
52
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
53
49
  */
54
50
  get(key: string): LazyPromise<TType | null>;
55
51
  /**
56
52
  * The <i>getMany</i> returns the value for the <i>keys</i> that are found otherwise null will be returned.
57
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
58
53
  */
59
54
  getMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, TType | null>>;
60
55
  /**
61
56
  * The <i>getOr</i> method returns the value when <i>key</i> is found otherwise <i>defaultValue</i> will be returned.
62
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
63
57
  */
64
58
  getOr(key: string, defaultValue: AsyncLazyable<TType>): LazyPromise<TType>;
65
59
  /**
66
60
  * The <i>getOrMany</i> method returns the value for the keys that are found otherwise defaultValue will be returned.
67
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
68
61
  */
69
62
  getOrMany<TKeys extends string>(keysWithDefaults: Record<TKeys, AsyncLazyable<TType>>): LazyPromise<Record<TKeys, TType>>;
70
63
  /**
71
64
  * The <i>getOrFail</i> method returns the value when <i>key</i> is found otherwise an error will be thrown.
72
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
73
65
  * @throws {KeyNotFoundCacheError} {@link KeyNotFoundCacheError}
74
66
  */
75
67
  getOrFail(key: string): LazyPromise<TType>;
76
68
  /**
77
69
  * The <i>add</i> method adds a <i>key</i> with given <i>value</i> when key doesn't exists. Returns true when key doesn't exists otherwise false will be returned.
78
70
  * You can provide a <i>ttl</i> value. If null is passed, the item will not expire.
79
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
80
71
  */
81
72
  add(key: string, value: TType, ttl?: TimeSpan | null): LazyPromise<boolean>;
82
73
  /**
83
74
  * The <i>addMany</i> method adds new keys. Returns true for the keys that where added otherwise false will be returned.
84
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
85
75
  */
86
76
  addMany<TKeys extends string>(values: Record<TKeys, WithTtlValue<TType>>): LazyPromise<Record<TKeys, boolean>>;
87
77
  /**
88
78
  * The <i>update</i> method updates the given <i>key</i> with given <i>value</i>. Returns true when key otherwise false will be returned.
89
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
90
79
  */
91
80
  update(key: string, value: TType): LazyPromise<boolean>;
92
81
  /**
93
82
  * The <i>updateMany</i> method updates the given keys. Returns true for the keys that where updated otherwise false will be returned.
94
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
95
83
  */
96
84
  updateMany<TKeys extends string>(values: Record<TKeys, TType>): LazyPromise<Record<TKeys, boolean>>;
97
85
  /**
98
- * The <i>put</i> method replaces the key with given <i>value</i> if found. If the <i>key</i> is not found it will just be added. True is returned if the key is found otherwise false will be returned.
99
- * You can provide a <i>ttl</i> value. If null is passed, the item will not expire.
100
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
86
+ * The <i>put</i> method replaces a <i>key</i> if the <i>key</i> exists including the ttl value or adds <i>key</i> that do not exists with a given <i>ttl</i>.
87
+ * Returns true if the <i>key</i> where replaced otherwise false is returned.
88
+ * You must provide a <i>ttl</i> value. If null is passed, the item will not expire.
101
89
  */
102
90
  put(key: string, value: TType, ttl?: TimeSpan | null): LazyPromise<boolean>;
103
91
  /**
104
- * The <i>putMany</i> method replaces the keys that exists. Adds keys that do not exists. Returns true for all the keys that where updated otherwise false is returned.
105
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
92
+ * The <i>putMany</i> method replaces the keys that exists including their ttl values or adds keys that do not exists.
93
+ * Returns true for all the keys that where replaced otherwise false is returned.
106
94
  */
107
95
  putMany<TKeys extends string>(values: Record<TKeys, WithTtlValue<TType>>): LazyPromise<Record<TKeys, boolean>>;
108
96
  /**
109
97
  * The <i>remove</i> method removes the given <i>key</i> when found. Returns true if the key is found otherwise false is returned.
110
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
111
98
  */
112
99
  remove(key: string): LazyPromise<boolean>;
113
100
  /**
114
101
  * The <i>removeMany</i> method removes keys. Returns true for the keys that are removed otherwise false is returned.
115
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
116
102
  */
117
103
  removeMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
118
104
  /**
119
105
  * The <i>getAndRemove</i> method removes the given <i>key</i> and returns it when found otherwise null will be returned.
120
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
121
106
  */
122
107
  getAndRemove(key: string): LazyPromise<TType | null>;
123
108
  /**
124
109
  * The <i>getOrAdd</i> method will retrieve the given <i>key</i> if found otherwise <i>valueToAdd</i> will be added and returned.
125
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
126
110
  */
127
111
  getOrAdd(key: string, valueToAdd: AsyncLazyable<GetOrAddValue<TType>>, ttl?: TimeSpan | null): LazyPromise<TType>;
128
112
  /**
129
113
  * The <i>increment</i> method will increment the given <i>key</i> if found otherwise nonthing will occur.
130
114
  * Returns true if key is incremented otherwise false will be returned.
131
115
  * An error will thrown if the key is not a number.
132
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
133
116
  * @throws {TypeCacheError} {@link TypeCacheError}
134
117
  */
135
118
  increment(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
@@ -137,53 +120,52 @@ export type ICache<TType = unknown> = ICacheListenable & {
137
120
  * The <i>decrement</i> method will decrement the given <i>key</i> if found otherwise nonthing will occur.
138
121
  * Returns true if key exists otherwise false will be returned.
139
122
  * An error will thrown if the key is not a number.
140
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
141
123
  * @throws {TypeCacheError} {@link TypeCacheError}
142
124
  * An error will thrown if the key is not a number.
143
125
  */
144
126
  decrement(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
145
127
  /**
146
128
  * The <i>clear</i> method removes all the keys in the cache.
147
- * @throws {UnexpectedCacheError} {@link UnexpectedCacheError}
148
129
  */
149
130
  clear(): LazyPromise<void>;
150
131
  /**
151
- * The <i>getNamespace</i> method returns the complete namespace.
132
+ * The <i>getGroup</i> method returns the group name.
152
133
  * @example
153
134
  * ```ts
154
135
  * import type { ICache } from "@daiso-tech/core";
155
136
  *
156
137
  * async function main(cache: ICache) {
157
- * // Will be "@root"
158
- * console.log(cache.getNamespace())
138
+ * // Will be "@global"
139
+ * console.log(cache.getGroup())
159
140
  *
160
- * const cacheA = cache.withNamespace("a");
141
+ * const cacheA = cache.withGroup("a");
161
142
  *
162
- * // Will be "@root/a"
163
- * console.log(cacheA.getNamespace())
143
+ * // Will be "@global/a"
144
+ * console.log(cacheA.getGroup())
164
145
  * }
165
146
  * ```
166
147
  */
167
- getNamespace(): string;
148
+ getGroup(): string;
168
149
  };
169
150
  /**
170
- * The <i>INamespacedCache</i> contract defines a way for storing data as key-value pairs independent of data storage.
151
+ * The <i>IGroupableCache</i> contract defines a way for storing data as key-value pairs independent of data storage.
171
152
  * It commes with one extra method which is useful for multitennat applications compared to <i>ICache</i>.
172
153
  * @group Contracts
173
154
  */
174
- export type INamespacedCache<TType = unknown> = ICache<TType> & {
155
+ export type IGroupableCache<TType = unknown> = ICache<TType> & {
175
156
  /**
176
- * The <i>withNamespace</i> method returns new instance of <i>{@link ICache}</i> where all the keys will be prefixed with a given <i>namespace</i>.
157
+ * The <i>withGroup</i> method returns a new <i>{@link ICache}</i> instance that groups keys together.
158
+ * Only keys in the group can be updated, removed, or retrieved, leaving keys outside the group unaffected.
177
159
  * This useful for multitennat applications.
178
160
  * @example
179
161
  * ```ts
180
162
  * import { type ICache } from "@daiso-tech/core";
181
163
  *
182
164
  * async function main(cache: ICache): Promise<void> {
183
- * const cacheA = cache.withNamespace("a");
165
+ * const cacheA = cache.withGroup("a");
184
166
  * await cacheA.add("a", 1);
185
167
  *
186
- * const cacheB = cache.withNamespace("b");
168
+ * const cacheB = cache.withGroup("b");
187
169
  * await cacheB.add("b", 2);
188
170
  *
189
171
  * // Will print { a: 1, b: null }
@@ -191,5 +173,5 @@ export type INamespacedCache<TType = unknown> = ICache<TType> & {
191
173
  * }
192
174
  * ```
193
175
  */
194
- withNamespace(namespace: OneOrMore<string>): ICache<TType>;
176
+ withGroup(group: OneOrMore<string>): ICache<TType>;
195
177
  };
@@ -2,95 +2,42 @@
2
2
  * @module Cache
3
3
  */
4
4
  import type { TimeSpan } from "../../utilities/_module";
5
- import type { ICacheAdapter } from "../../cache/contracts/cache-adapter.contract";
6
- /**
7
- * Name of all the events of <i>{@link ICache}</i>.
8
- * @group Events
9
- */
10
- export declare const CACHE_EVENTS: {
11
- readonly KEY_FOUND: "key_found";
12
- readonly KEY_NOT_FOUND: "key_not_found";
13
- readonly KEY_ADDED: "key_added";
14
- readonly KEY_UPDATED: "key_updated";
15
- readonly KEY_REMOVED: "key_removed";
16
- readonly KEYS_CLEARED: "keys_cleared";
17
- readonly KEY_INCREMENTED: "key_incremented";
18
- readonly KEY_DECREMENTED: "key_decremented";
5
+ export type CacheEvents<TType = unknown> = {
6
+ key_found: {
7
+ group: string;
8
+ key: string;
9
+ value: TType;
10
+ };
11
+ key_not_found: {
12
+ group: string;
13
+ key: string;
14
+ };
15
+ key_added: {
16
+ group: string;
17
+ key: string;
18
+ value: TType;
19
+ ttl: TimeSpan | null;
20
+ };
21
+ key_updated: {
22
+ group: string;
23
+ key: string;
24
+ value: TType;
25
+ };
26
+ key_removed: {
27
+ group: string;
28
+ key: string;
29
+ };
30
+ key_incremented: {
31
+ group: string;
32
+ key: string;
33
+ value: number;
34
+ };
35
+ key_decremented: {
36
+ group: string;
37
+ key: string;
38
+ value: number;
39
+ };
40
+ keys_cleared: {
41
+ group: string;
42
+ };
19
43
  };
20
- /**
21
- * @group Events
22
- */
23
- export type CacheEventNames = (typeof CACHE_EVENTS)[keyof typeof CACHE_EVENTS];
24
- /**
25
- * @group Events
26
- */
27
- export type CacheEvent = {
28
- namespace: string;
29
- adapter: ICacheAdapter<any>;
30
- };
31
- /**
32
- * @group Events
33
- */
34
- export type KeyFoundCacheEvent<TType = unknown> = CacheEvent & {
35
- type: (typeof CACHE_EVENTS)["KEY_FOUND"];
36
- key: string;
37
- value: TType;
38
- };
39
- /**
40
- * @group Events
41
- */
42
- export type KeyNotFoundCacheEvent = CacheEvent & {
43
- type: (typeof CACHE_EVENTS)["KEY_NOT_FOUND"];
44
- key: string;
45
- };
46
- /**
47
- * @group Events
48
- */
49
- export type KeyAddedCacheEvent<TType = unknown> = CacheEvent & {
50
- type: (typeof CACHE_EVENTS)["KEY_ADDED"];
51
- key: string;
52
- value: TType;
53
- ttl: TimeSpan | null;
54
- };
55
- /**
56
- * @group Events
57
- */
58
- export type KeyUpdatedCacheEvent<TType = unknown> = CacheEvent & {
59
- type: (typeof CACHE_EVENTS)["KEY_UPDATED"];
60
- key: string;
61
- value: TType;
62
- };
63
- /**
64
- * @group Events
65
- */
66
- export type KeyIncrementedCacheEvent = CacheEvent & {
67
- type: (typeof CACHE_EVENTS)["KEY_INCREMENTED"];
68
- key: string;
69
- value: number;
70
- };
71
- /**
72
- * @group Events
73
- */
74
- export type KeyDecrementedCacheEvent = CacheEvent & {
75
- type: (typeof CACHE_EVENTS)["KEY_DECREMENTED"];
76
- key: string;
77
- value: number;
78
- };
79
- /**
80
- * @group Events
81
- */
82
- export type KeyRemovedCacheEvent = CacheEvent & {
83
- type: (typeof CACHE_EVENTS)["KEY_REMOVED"];
84
- key: string;
85
- };
86
- /**
87
- * This event will be triggered when cache is cleared.
88
- * @group Events
89
- */
90
- export type KeysClearedCacheEvent = CacheEvent & {
91
- type: (typeof CACHE_EVENTS)["KEYS_CLEARED"];
92
- };
93
- /**
94
- * @group Events
95
- */
96
- export type AllCacheEvents<TType> = KeyFoundCacheEvent<TType> | KeyNotFoundCacheEvent | KeyAddedCacheEvent<TType> | KeyUpdatedCacheEvent<TType> | KeyRemovedCacheEvent | KeysClearedCacheEvent | KeyIncrementedCacheEvent | KeyDecrementedCacheEvent;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
5
5
  import { type ICacheAdapter } from "../../../cache/contracts/_module";
6
- import { type Promisable } from "../../../_shared/types";
6
+ import { type Promisable } from "../../../utilities/_module";
7
7
  /**
8
8
  * @group Utilities
9
9
  */
@@ -12,38 +12,47 @@ export type CacheAdapterTestSuiteSettings = {
12
12
  test: TestAPI;
13
13
  describe: SuiteAPI;
14
14
  beforeEach: typeof beforeEach;
15
- createAdapter: () => Promisable<ICacheAdapter>;
15
+ createAdapterA: () => Promisable<ICacheAdapter>;
16
+ createAdapterB: () => Promisable<ICacheAdapter>;
16
17
  };
17
18
  /**
18
- * The <i>cacheAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ICacheAdapter}</i>.
19
+ * The <i>cacheAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ICacheAdapter}</i> with <i>vitest</i>.
19
20
  * @group Utilities
20
21
  * @example
21
22
  * ```ts
23
+ * import Redis from "ioredis";
22
24
  * import { afterEach, beforeEach, describe, expect, test } from "vitest";
23
- * import { cacheAdapterTestSuite, SqliteCacheAdapter } from "@daiso-tech/core";
24
- * import Sqlite, { type Database } from "better-sqlite3";
25
+ * import { RedisContainer, type StartedRedisContainer } from "@testcontainers/redis";
26
+ * import { SuperJsonSerde, TimeSpan, RedisCacheAdapter, cacheAdapterTestSuite } from "@daiso-tech/core";
25
27
  *
26
- * describe("class: SqliteCacheAdapter", () => {
27
- * let database: Database;
28
- * beforeEach(() => {
29
- * database = new Sqlite(":memory:");
30
- * });
31
- * afterEach(() => {
32
- * database.close();
33
- * });
28
+ * const timeout = TimeSpan.fromMinutes(2);
29
+ * describe("class: RedisCacheAdapter", () => {
30
+ * let client: Redis;
31
+ * let startedContainer: StartedRedisContainer;
32
+ * const serde = new SuperJsonSerde();
33
+ * beforeEach(async () => {
34
+ * startedContainer = await new RedisContainer("redis:7.4.2").start();
35
+ * client = new Redis(startedContainer.getConnectionUrl());
36
+ * }, timeout.toMilliseconds());
37
+ * afterEach(async () => {
38
+ * await client.quit();
39
+ * await startedContainer.stop();
40
+ * }, timeout.toMilliseconds());
34
41
  * cacheAdapterTestSuite({
35
- * createAdapter: async () => {
36
- * const cacheAdapter = new SqliteCacheAdapter(database, {
37
- * tableName: "custom_table",
38
- * enableTransactions: true,
39
- * });
40
- * await cacheAdapter.init();
41
- * return cacheAdapter;
42
- * },
43
- * test,
44
- * beforeEach,
45
- * expect,
46
- * describe,
42
+ * createAdapterA: () =>
43
+ * new RedisCacheAdapter(client, {
44
+ * serde,
45
+ * rootGroup: "@a"
46
+ * }),
47
+ * createAdapterB: () =>
48
+ * new RedisCacheAdapter(client, {
49
+ * serde,
50
+ * rootGroup: "@b"
51
+ * }),
52
+ * test,
53
+ * beforeEach,
54
+ * expect,
55
+ * describe,
47
56
  * });
48
57
  * });
49
58
  * ```
@@ -3,51 +3,9 @@
3
3
  */
4
4
  import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
5
5
  import { type ICache } from "../../../cache/contracts/_module";
6
- import { type Promisable } from "../../../_shared/types";
6
+ import { type Promisable } from "../../../utilities/_module";
7
7
  /**
8
8
  * @group Utilities
9
- * @example
10
- * ```ts
11
- * import { afterEach, beforeEach, describe, expect, test } from "vitest";
12
- * import { cacheAdapterTestSuite, SqliteCacheAdapter } from "@daiso-tech/core";
13
- * import Sqlite, { type Database } from "better-sqlite3";
14
- *
15
- * describe("class: Cache", () => {
16
- * let database: Database;
17
- * beforeEach(() => {
18
- * database = new Sqlite(":memory:");
19
- * });
20
- * afterEach(() => {
21
- * database.close();
22
- * });
23
- * cacheAdapterTestSuite({
24
- * createCacheA: async () => {
25
- * const cacheAdapterA = new SqliteCacheAdapter(database, {
26
- * tableName: "custom_table",
27
- * enableTransactions: true,
28
- * });
29
- * await cacheAdapterA.init();
30
- * return new Cache(cacheAdapterA, {
31
- * rootNamespace: "@a"
32
- * });
33
- * },
34
- * createCacheB: async () => {
35
- * const cacheAdapterB = new SqliteCacheAdapter(database, {
36
- * tableName: "custom_table",
37
- * enableTransactions: true,
38
- * });
39
- * await cacheAdapterB.init();
40
- * return new Cache(cacheAdapterB, {
41
- * rootNamespace: "@b"
42
- * });
43
- * },
44
- * test,
45
- * beforeEach,
46
- * expect,
47
- * describe,
48
- * });
49
- * });
50
- * ```
51
9
  */
52
10
  export type CacheTestSuiteSettings = {
53
11
  expect: ExpectStatic;
@@ -57,4 +15,57 @@ export type CacheTestSuiteSettings = {
57
15
  createCacheA: () => Promisable<ICache>;
58
16
  createCacheB: () => Promisable<ICache>;
59
17
  };
18
+ /**
19
+ * The <i>cacheTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ICache}</i> with <i>vitest</i>.
20
+ * @group Utilities
21
+ * @example
22
+ * ```ts
23
+ * import Redis from "ioredis";
24
+ * import { afterEach, beforeEach, describe, expect, test } from "vitest";
25
+ * import { RedisContainer, type StartedRedisContainer } from "@testcontainers/redis";
26
+ * import { SuperJsonSerde, TimeSpan, RedisCacheAdapter, cacheTestSuite, MemoryEventBusAdapter } from "@daiso-tech/core";
27
+ *
28
+ * const timeout = TimeSpan.fromMinutes(2);
29
+ * describe("class: Cache", () => {
30
+ * let client: Redis;
31
+ * let startedContainer: StartedRedisContainer;
32
+ * const eventBus = new EventBus(new MemoryEventBusAdapter()):
33
+ * const serde = new SuperJsonSerde();
34
+ * beforeEach(async () => {
35
+ * startedContainer = await new RedisContainer("redis:7.4.2").start();
36
+ * client = new Redis(startedContainer.getConnectionUrl());
37
+ * }, timeout.toMilliseconds());
38
+ * afterEach(async () => {
39
+ * await client.quit();
40
+ * await startedContainer.stop();
41
+ * }, timeout.toMilliseconds());
42
+ * cacheTestSuite({
43
+ * createCacheA: () =>
44
+ * new Cache(
45
+ * new RedisCacheAdapter(client, {
46
+ * serde,
47
+ * }),
48
+ * {
49
+ * rootGroup: "@a",
50
+ * eventBus,
51
+ * }
52
+ * ),
53
+ * createCacheB: () =>
54
+ * new Cache(
55
+ * new RedisCacheAdapter(client, {
56
+ * serde,
57
+ * }),
58
+ * {
59
+ * rootGroup: "@b",
60
+ * eventBus,
61
+ * }
62
+ * ),
63
+ * test,
64
+ * beforeEach,
65
+ * expect,
66
+ * describe,
67
+ * });
68
+ * });
69
+ * ```
70
+ */
60
71
  export declare function cacheTestSuite(settings: CacheTestSuiteSettings): void;
@@ -3,13 +3,14 @@
3
3
  */
4
4
  import { type ICacheAdapter } from "../../../../cache/contracts/_module";
5
5
  import { type Kysely } from "kysely";
6
- import { type ISerializer } from "../../../../serializer/contracts/_module";
7
- import type { IDeinitizable, IInitizable } from "../../../../_shared/types";
6
+ import { type ISerde } from "../../../../serde/contracts/_module";
7
+ import type { IDeinitizable, IInitizable, OneOrMore } from "../../../../utilities/_module";
8
8
  import { TimeSpan } from "../../../../utilities/_module";
9
9
  /**
10
10
  * @internal
11
11
  */
12
12
  type KyselySqliteCacheTable = {
13
+ group: string;
13
14
  key: string;
14
15
  value: string;
15
16
  expiresAt: number | null;
@@ -24,32 +25,37 @@ type KyselySqliteTables = {
24
25
  * @internal
25
26
  */
26
27
  type KyselySqliteSettings = {
27
- serializer: ISerializer<string>;
28
+ serde: ISerde<string>;
28
29
  enableTransactions: boolean;
29
30
  expiredKeysRemovalInterval?: TimeSpan;
30
31
  shouldRemoveExpiredKeys?: boolean;
32
+ rootGroup: OneOrMore<string>;
31
33
  };
32
34
  /**
33
35
  * @internal
34
36
  */
35
37
  export declare class KyselySqliteCacheAdapter<TType> implements ICacheAdapter<TType>, IInitizable, IDeinitizable {
36
38
  private readonly db;
37
- private readonly serializer;
39
+ private readonly group;
40
+ private readonly serde;
38
41
  private readonly enableTransactions;
39
42
  private readonly expiredKeysRemovalInterval;
40
43
  private readonly shouldRemoveExpiredKeys;
41
44
  private timeoutId;
42
45
  constructor(db: Kysely<KyselySqliteTables>, settings: KyselySqliteSettings);
46
+ getGroup(): string;
47
+ withGroup(group: OneOrMore<string>): ICacheAdapter<TType>;
43
48
  private withTransaction;
44
49
  removeExpiredKeys(): Promise<void>;
45
50
  init(): Promise<void>;
46
51
  deInit(): Promise<void>;
52
+ exists(key: string): Promise<boolean>;
47
53
  get(key: string): Promise<TType | null>;
48
54
  add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
49
55
  update(key: string, value: TType): Promise<boolean>;
50
56
  put(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
51
57
  remove(key: string): Promise<boolean>;
52
58
  increment(key: string, value: number): Promise<boolean>;
53
- clear(prefix: string): Promise<void>;
59
+ clear(): Promise<void>;
54
60
  }
55
61
  export {};
@@ -1,47 +1,60 @@
1
1
  /**
2
2
  * @module Cache
3
3
  */
4
- import type { IDeinitizable, IInitizable } from "../../../../_shared/types";
5
4
  import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
6
- import type { ISerializer } from "../../../../serializer/contracts/_module";
7
- import type { TimeSpan } from "../../../../utilities/_module";
5
+ import type { ISerde } from "../../../../serde/contracts/_module";
6
+ import type { TimeSpan, IDeinitizable, IInitizable, OneOrMore } from "../../../../utilities/_module";
8
7
  import type { Client } from "@libsql/client";
9
8
  /**
10
9
  * @group Adapters
11
10
  */
12
11
  export type LibsqlCacheAdapterSettings = {
13
12
  tableName?: string;
14
- serializer: ISerializer<string>;
13
+ serde: ISerde<string>;
15
14
  enableTransactions?: boolean;
16
15
  expiredKeysRemovalInterval?: TimeSpan;
17
16
  shouldRemoveExpiredKeys?: boolean;
17
+ rootGroup: OneOrMore<string>;
18
18
  };
19
19
  /**
20
- * To utilize the <i>LibsqlCacheAdapter</i>, you must install the <i>"@libsql/client"</i> package and supply a <i>{@link ISerializer | string serializer}</i>, such as <i>{@link SuperJsonSerializer}</i>.
20
+ * To utilize the <i>LibsqlCacheAdapter</i>, you must install the <i>"@libsql/client"</i> package and supply a <i>{@link ISerde | string serde}</i>, such as <i>{@link SuperJsonSerde}</i>.
21
21
  * @group Adapters
22
22
  * @example
23
23
  * ```ts
24
- * import { LibsqlCacheAdapter, SuperJsonSerializer } from "@daiso-tech/core";
24
+ * import { LibsqlCacheAdapter, SuperJsonSerde } from "@daiso-tech/core";
25
25
  * import { createClient } from "@libsql/client";
26
26
  *
27
27
  * const client = createClient({ url: "file:local.db" });
28
- * const serializer = new SuperJsonSerializer();
28
+ * const serde = new SuperJsonSerde();
29
29
  * const cacheAdapter = new LibsqlCacheAdapter(client, {
30
- * serializer,
30
+ * serde,
31
+ * rootGroup: "@global"
31
32
  * });
33
+ *
34
+ * (async () => {
35
+ * // You only need to call it once before using the adapter.
36
+ * await cacheAdapter.init();
37
+ * await cacheAdapter.add("a", 1);
38
+ *
39
+ * // Will remove the cache
40
+ * await cacheAdapter.deInit();
41
+ * })();
32
42
  * ```
33
43
  */
34
44
  export declare class LibsqlCacheAdapter<TType> implements ICacheAdapter<TType>, IInitizable, IDeinitizable {
35
45
  private readonly cacheAdapter;
36
46
  constructor(client: Client, settings: LibsqlCacheAdapterSettings);
47
+ getGroup(): string;
48
+ withGroup(group: OneOrMore<string>): ICacheAdapter<TType>;
37
49
  removeExpiredKeys(): Promise<void>;
38
50
  deInit(): Promise<void>;
39
51
  init(): Promise<void>;
52
+ exists(key: string): Promise<boolean>;
40
53
  get(key: string): Promise<TType | null>;
41
54
  add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
42
55
  update(key: string, value: TType): Promise<boolean>;
43
56
  put(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
44
57
  remove(key: string): Promise<boolean>;
45
58
  increment(key: string, value: number): Promise<boolean>;
46
- clear(prefix: string): Promise<void>;
59
+ clear(): Promise<void>;
47
60
  }