@daiso-tech/core 0.13.0 → 0.15.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 (534) hide show
  1. package/dist/cjs/_module.js +1 -0
  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/{utilities/async/delay-iterable → 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/async/backof-policies/exponential-backoff-policy/_module.js +18 -0
  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/{utilities/async/abortable → 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/{utilities/async/abortable-iterable → async/backof-policies/polynomial-backoff-policy}/_module.js +1 -1
  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/retry → 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 +95 -0
  41. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -0
  42. package/dist/cjs/{utilities/async/delay → async/utilities/retry}/_module.js +2 -1
  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 +12 -11
  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 +36 -35
  59. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  60. package/dist/cjs/cache/implementations/adapters/_module.js +1 -0
  61. package/dist/cjs/cache/implementations/adapters/_module.js.map +1 -1
  62. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +3 -3
  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.map +1 -1
  65. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +1 -1
  66. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  67. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/_module.js +18 -0
  68. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/_module.js.map +1 -0
  69. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +28 -0
  70. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -0
  71. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +1 -1
  72. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  73. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +3 -3
  74. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  75. package/dist/cjs/cache/implementations/derivables/base-cache.js +46 -38
  76. package/dist/cjs/cache/implementations/derivables/base-cache.js.map +1 -1
  77. package/dist/cjs/cache/implementations/derivables/cache-factory.js +3 -3
  78. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -1
  79. package/dist/cjs/cache/implementations/derivables/cache.js +21 -23
  80. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -1
  81. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/_module.js +4 -1
  82. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  83. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +27 -0
  84. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -0
  85. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +33 -0
  86. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -0
  87. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +36 -0
  88. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -0
  89. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +48 -0
  90. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -0
  91. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +48 -39
  92. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  93. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js +5 -5
  94. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  95. package/dist/cjs/collection/implementations/list-collection/list-collection.js +5 -5
  96. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  97. package/dist/cjs/event-bus/contracts/event-bus.errors.js +3 -3
  98. package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -1
  99. package/dist/cjs/event-bus/implementations/_module.js +1 -1
  100. package/dist/cjs/event-bus/implementations/_module.js.map +1 -1
  101. package/dist/cjs/event-bus/implementations/_shared/_module.js +19 -0
  102. package/dist/cjs/event-bus/implementations/_shared/_module.js.map +1 -0
  103. package/dist/cjs/event-bus/implementations/_shared/{test-utilities/event-bus-adapter.test-suite.js → event-bus-adapter.test-suite.js} +4 -3
  104. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -0
  105. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +299 -0
  106. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -0
  107. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  108. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +2 -3
  109. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +1 -1
  110. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js +47 -0
  111. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js.map +1 -0
  112. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +3 -9
  113. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  114. package/dist/cjs/event-bus/implementations/derivables/event-bus.js +20 -55
  115. package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -1
  116. package/dist/cjs/utilities/_module.js +5 -4
  117. package/dist/cjs/utilities/_module.js.map +1 -1
  118. package/dist/cjs/utilities/contracts/_module.js +19 -0
  119. package/dist/cjs/utilities/contracts/_module.js.map +1 -0
  120. package/dist/cjs/utilities/contracts/deinitizable.contract.js +3 -0
  121. package/dist/cjs/utilities/contracts/deinitizable.contract.js.map +1 -0
  122. package/dist/cjs/utilities/contracts/initizable.contract.js +3 -0
  123. package/dist/cjs/utilities/contracts/initizable.contract.js.map +1 -0
  124. package/dist/cjs/utilities/{global-errors.js → errors.js} +1 -1
  125. package/dist/cjs/utilities/errors.js.map +1 -0
  126. package/dist/cjs/{_shared/utilities.js → utilities/functions.js} +1 -1
  127. package/dist/cjs/utilities/functions.js.map +1 -0
  128. package/dist/cjs/{_shared → utilities}/kysely/_module.js +1 -1
  129. package/dist/cjs/utilities/kysely/_module.js.map +1 -0
  130. package/dist/cjs/utilities/kysely/kysely-table-name-transformer-plugin.js.map +1 -0
  131. package/dist/cjs/{_shared → utilities}/types.js.map +1 -1
  132. package/dist/esm/_module.js +1 -0
  133. package/dist/esm/_module.js.map +1 -1
  134. package/dist/esm/async/_module.js +4 -0
  135. package/dist/esm/async/_module.js.map +1 -0
  136. package/dist/esm/{utilities/async/_shared.js → async/async.errors.js} +1 -1
  137. package/dist/esm/async/async.errors.js.map +1 -0
  138. package/dist/esm/async/backof-policies/_module.js +5 -0
  139. package/dist/esm/async/backof-policies/_module.js.map +1 -0
  140. package/dist/esm/async/backof-policies/_shared.js.map +1 -0
  141. package/dist/esm/async/backof-policies/constant-backoff-policy/_module.js +2 -0
  142. package/dist/esm/async/backof-policies/constant-backoff-policy/_module.js.map +1 -0
  143. package/dist/esm/{utilities → async}/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
  144. package/dist/esm/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
  145. package/dist/esm/async/backof-policies/exponential-backoff-policy/_module.js +2 -0
  146. package/dist/esm/async/backof-policies/exponential-backoff-policy/_module.js.map +1 -0
  147. package/dist/esm/{utilities → async}/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
  148. package/dist/esm/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
  149. package/dist/esm/async/backof-policies/linear-backoff-policy/_module.js +2 -0
  150. package/dist/esm/async/backof-policies/linear-backoff-policy/_module.js.map +1 -0
  151. package/dist/esm/{utilities → async}/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
  152. package/dist/esm/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
  153. package/dist/esm/async/backof-policies/polynomial-backoff-policy/_module.js +2 -0
  154. package/dist/esm/async/backof-policies/polynomial-backoff-policy/_module.js.map +1 -0
  155. package/dist/esm/{utilities → async}/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
  156. package/dist/esm/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
  157. package/dist/esm/async/utilities/_module.js +3 -0
  158. package/dist/esm/async/utilities/_module.js.map +1 -0
  159. package/dist/esm/async/utilities/abort/_module.js +3 -0
  160. package/dist/esm/async/utilities/abort/_module.js.map +1 -0
  161. package/dist/esm/{utilities/async/abortable/abortable.js → async/utilities/abort/abort-and-fail.js} +13 -16
  162. package/dist/esm/async/utilities/abort/abort-and-fail.js.map +1 -0
  163. package/dist/esm/async/utilities/abort/abort.js +15 -0
  164. package/dist/esm/async/utilities/abort/abort.js.map +1 -0
  165. package/dist/esm/async/utilities/delay/_module.js +2 -0
  166. package/dist/esm/async/utilities/delay/_module.js.map +1 -0
  167. package/dist/esm/async/utilities/delay/delay.js +17 -0
  168. package/dist/esm/async/utilities/delay/delay.js.map +1 -0
  169. package/dist/esm/async/utilities/lazy-promise/_module.js +2 -0
  170. package/dist/esm/async/utilities/lazy-promise/_module.js.map +1 -0
  171. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +91 -0
  172. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -0
  173. package/dist/esm/async/utilities/retry/_module.js +3 -0
  174. package/dist/esm/async/utilities/retry/_module.js.map +1 -0
  175. package/dist/esm/async/utilities/retry/retry-or-fail.js +33 -0
  176. package/dist/esm/async/utilities/retry/retry-or-fail.js.map +1 -0
  177. package/dist/esm/async/utilities/retry/retry.js +15 -0
  178. package/dist/esm/async/utilities/retry/retry.js.map +1 -0
  179. package/dist/esm/async/utilities/timeout/_module.js +3 -0
  180. package/dist/esm/async/utilities/timeout/_module.js.map +1 -0
  181. package/dist/esm/async/utilities/timeout/timeout-and-fail.js +22 -0
  182. package/dist/esm/async/utilities/timeout/timeout-and-fail.js.map +1 -0
  183. package/dist/esm/async/utilities/timeout/timeout.js +15 -0
  184. package/dist/esm/async/utilities/timeout/timeout.js.map +1 -0
  185. package/dist/esm/cache/contracts/cache.events.js +0 -10
  186. package/dist/esm/cache/contracts/cache.events.js.map +1 -1
  187. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +2 -1
  188. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  189. package/dist/esm/cache/implementations/_shared/cache.test-suite.js +2 -1
  190. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  191. package/dist/esm/cache/implementations/adapters/_module.js +1 -0
  192. package/dist/esm/cache/implementations/adapters/_module.js.map +1 -1
  193. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +4 -4
  194. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  195. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  196. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +2 -2
  197. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  198. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/_module.js +2 -0
  199. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/_module.js.map +1 -0
  200. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +24 -0
  201. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -0
  202. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
  203. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  204. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +3 -3
  205. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  206. package/dist/esm/cache/implementations/derivables/base-cache.js +37 -29
  207. package/dist/esm/cache/implementations/derivables/base-cache.js.map +1 -1
  208. package/dist/esm/cache/implementations/derivables/cache-factory.js +1 -1
  209. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -1
  210. package/dist/esm/cache/implementations/derivables/cache.js +16 -18
  211. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -1
  212. package/dist/esm/collection/implementations/async-iterable-collection/_shared/_module.js +4 -1
  213. package/dist/esm/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  214. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +23 -0
  215. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -0
  216. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +29 -0
  217. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -0
  218. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +32 -0
  219. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -0
  220. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +44 -0
  221. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -0
  222. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +46 -37
  223. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  224. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js +1 -1
  225. package/dist/esm/collection/implementations/list-collection/list-collection.js +1 -1
  226. package/dist/esm/event-bus/contracts/event-bus.errors.js +3 -3
  227. package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -1
  228. package/dist/esm/event-bus/implementations/_module.js +1 -1
  229. package/dist/esm/event-bus/implementations/_module.js.map +1 -1
  230. package/dist/esm/event-bus/implementations/_shared/_module.js +3 -0
  231. package/dist/esm/event-bus/implementations/_shared/_module.js.map +1 -0
  232. package/dist/esm/event-bus/implementations/_shared/{test-utilities/event-bus-adapter.test-suite.js → event-bus-adapter.test-suite.js} +2 -1
  233. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -0
  234. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +296 -0
  235. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -0
  236. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  237. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +3 -4
  238. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +1 -1
  239. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js +43 -0
  240. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js.map +1 -0
  241. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +1 -7
  242. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  243. package/dist/esm/event-bus/implementations/derivables/event-bus.js +18 -53
  244. package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -1
  245. package/dist/esm/utilities/_module.js +5 -4
  246. package/dist/esm/utilities/_module.js.map +1 -1
  247. package/dist/esm/utilities/contracts/_module.js +3 -0
  248. package/dist/esm/utilities/contracts/_module.js.map +1 -0
  249. package/dist/esm/utilities/contracts/deinitizable.contract.js +1 -0
  250. package/dist/esm/utilities/contracts/deinitizable.contract.js.map +1 -0
  251. package/dist/esm/utilities/contracts/initizable.contract.js +1 -0
  252. package/dist/esm/utilities/contracts/initizable.contract.js.map +1 -0
  253. package/dist/esm/utilities/{global-errors.js → errors.js} +1 -1
  254. package/dist/esm/utilities/errors.js.map +1 -0
  255. package/dist/esm/{_shared/utilities.js → utilities/functions.js} +1 -1
  256. package/dist/esm/utilities/functions.js.map +1 -0
  257. package/dist/esm/utilities/kysely/_module.js +2 -0
  258. package/dist/esm/utilities/kysely/_module.js.map +1 -0
  259. package/dist/esm/utilities/kysely/kysely-table-name-transformer-plugin.js.map +1 -0
  260. package/dist/esm/{_shared → utilities}/types.js.map +1 -1
  261. package/dist/types/_module.d.ts +1 -0
  262. package/dist/types/async/_module.d.ts +3 -0
  263. package/dist/types/{utilities/async/_shared.d.ts → async/async.errors.d.ts} +6 -6
  264. package/dist/types/async/backof-policies/_module.d.ts +5 -0
  265. package/dist/types/{utilities → async}/backof-policies/_shared.d.ts +1 -1
  266. package/dist/types/async/backof-policies/constant-backoff-policy/_module.d.ts +1 -0
  267. package/dist/types/{utilities → async}/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
  268. package/dist/types/async/backof-policies/exponential-backoff-policy/_module.d.ts +1 -0
  269. package/dist/types/{utilities → async}/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
  270. package/dist/types/async/backof-policies/linear-backoff-policy/_module.d.ts +1 -0
  271. package/dist/types/{utilities → async}/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
  272. package/dist/types/async/backof-policies/polynomial-backoff-policy/_module.d.ts +1 -0
  273. package/dist/types/{utilities → async}/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
  274. package/dist/types/async/utilities/_module.d.ts +2 -0
  275. package/dist/types/async/utilities/abort/_module.d.ts +2 -0
  276. package/dist/types/async/utilities/abort/abort-and-fail.d.ts +4 -0
  277. package/dist/types/async/utilities/abort/abort.d.ts +9 -0
  278. package/dist/types/async/utilities/delay/_module.d.ts +1 -0
  279. package/dist/types/async/utilities/delay/delay.d.ts +19 -0
  280. package/dist/types/async/utilities/lazy-promise/_module.d.ts +1 -0
  281. package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +185 -0
  282. package/dist/types/async/utilities/retry/_module.d.ts +2 -0
  283. package/dist/types/async/utilities/retry/retry-or-fail.d.ts +23 -0
  284. package/dist/types/async/utilities/retry/retry.d.ts +10 -0
  285. package/dist/types/async/utilities/timeout/_module.d.ts +2 -0
  286. package/dist/types/async/utilities/timeout/timeout-and-fail.d.ts +5 -0
  287. package/dist/types/async/utilities/timeout/timeout.d.ts +10 -0
  288. package/dist/types/cache/contracts/cache-adapter.contract.d.ts +1 -1
  289. package/dist/types/cache/contracts/cache.contract.d.ts +7 -28
  290. package/dist/types/cache/contracts/cache.events.d.ts +30 -79
  291. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +26 -24
  292. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +54 -43
  293. package/dist/types/cache/implementations/adapters/_module.d.ts +1 -0
  294. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +1 -1
  295. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +23 -4
  296. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +15 -0
  297. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +20 -4
  298. package/dist/types/cache/implementations/adapters/no-op-cache-adapter/_module.d.ts +1 -0
  299. package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +18 -0
  300. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +14 -2
  301. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +20 -3
  302. package/dist/types/cache/implementations/derivables/base-cache.d.ts +15 -14
  303. package/dist/types/cache/implementations/derivables/cache.d.ts +7 -4
  304. package/dist/types/collection/contracts/async-collection.contract.d.ts +10 -6
  305. package/dist/types/collection/contracts/collection.contract.d.ts +1 -1
  306. package/dist/types/collection/implementations/async-iterable-collection/_shared/_module.d.ts +4 -1
  307. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-chunk-iterable.d.ts +1 -1
  308. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.d.ts +1 -1
  309. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.d.ts +1 -1
  310. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.d.ts +13 -0
  311. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.d.ts +1 -1
  312. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.d.ts +1 -1
  313. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.d.ts +1 -1
  314. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.d.ts +1 -1
  315. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.d.ts +1 -1
  316. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-pad-end-iterable.d.ts +1 -1
  317. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-pad-start-iterable.d.ts +1 -1
  318. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.d.ts +1 -1
  319. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-repeat-iterable.d.ts +1 -1
  320. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +13 -0
  321. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-reverse-iterable.d.ts +1 -1
  322. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-split-iterable.d.ts +1 -1
  323. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.d.ts +9 -0
  324. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.d.ts +13 -0
  325. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.d.ts +1 -1
  326. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +4 -3
  327. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +1 -1
  328. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +1 -1
  329. package/dist/types/event-bus/contracts/_shared.d.ts +2 -5
  330. package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +4 -1
  331. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +3 -28
  332. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +24 -16
  333. package/dist/types/event-bus/contracts/event-bus.errors.d.ts +3 -3
  334. package/dist/types/event-bus/implementations/_module.d.ts +1 -1
  335. package/dist/types/event-bus/implementations/_shared/_module.d.ts +2 -0
  336. package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +59 -0
  337. package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +72 -0
  338. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +16 -0
  339. package/dist/types/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.d.ts +16 -1
  340. package/dist/types/event-bus/implementations/derivables/base-event-bus.d.ts +23 -0
  341. package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +4 -7
  342. package/dist/types/event-bus/implementations/derivables/event-bus.d.ts +11 -53
  343. package/dist/types/serializer/implementations/_shared/test-utilities/serializer.test-suite.d.ts +1 -1
  344. package/dist/types/utilities/_module.d.ts +5 -4
  345. package/dist/types/utilities/contracts/_module.d.ts +2 -0
  346. package/dist/types/utilities/contracts/deinitizable.contract.d.ts +9 -0
  347. package/dist/types/utilities/contracts/initizable.contract.d.ts +9 -0
  348. package/dist/types/utilities/{global-errors.d.ts → errors.d.ts} +10 -1
  349. package/dist/types/{_shared/utilities.d.ts → utilities/functions.d.ts} +3 -3
  350. package/dist/types/utilities/kysely/_module.d.ts +1 -0
  351. package/dist/types/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.d.ts +1 -1
  352. package/dist/types/{_shared → utilities}/types.d.ts +3 -8
  353. package/package.json +1 -1
  354. package/dist/cjs/_shared/kysely/_module.js.map +0 -1
  355. package/dist/cjs/_shared/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  356. package/dist/cjs/_shared/redis/_module.js +0 -20
  357. package/dist/cjs/_shared/redis/_module.js.map +0 -1
  358. package/dist/cjs/_shared/redis/clear-iterable.js +0 -25
  359. package/dist/cjs/_shared/redis/clear-iterable.js.map +0 -1
  360. package/dist/cjs/_shared/redis/escape-redis-chars.js +0 -41
  361. package/dist/cjs/_shared/redis/escape-redis-chars.js.map +0 -1
  362. package/dist/cjs/_shared/redis/is-redis-type-error.js +0 -9
  363. package/dist/cjs/_shared/redis/is-redis-type-error.js.map +0 -1
  364. package/dist/cjs/_shared/utilities.js.map +0 -1
  365. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js +0 -31
  366. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +0 -1
  367. package/dist/cjs/event-bus/implementations/_shared/test-utilities/_module.js.map +0 -1
  368. package/dist/cjs/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.js.map +0 -1
  369. package/dist/cjs/event-bus/implementations/derivables/with-validation-event-bus-adapter.js +0 -35
  370. package/dist/cjs/event-bus/implementations/derivables/with-validation-event-bus-adapter.js.map +0 -1
  371. package/dist/cjs/utilities/async/_module.js +0 -29
  372. package/dist/cjs/utilities/async/_module.js.map +0 -1
  373. package/dist/cjs/utilities/async/_shared.js.map +0 -1
  374. package/dist/cjs/utilities/async/abortable/_module.js.map +0 -1
  375. package/dist/cjs/utilities/async/abortable/abortable.js +0 -48
  376. package/dist/cjs/utilities/async/abortable/abortable.js.map +0 -1
  377. package/dist/cjs/utilities/async/abortable-iterable/_module.js.map +0 -1
  378. package/dist/cjs/utilities/async/abortable-iterable/abortable-iterable.js +0 -32
  379. package/dist/cjs/utilities/async/abortable-iterable/abortable-iterable.js.map +0 -1
  380. package/dist/cjs/utilities/async/delay/_module.js.map +0 -1
  381. package/dist/cjs/utilities/async/delay/delay.js +0 -24
  382. package/dist/cjs/utilities/async/delay/delay.js.map +0 -1
  383. package/dist/cjs/utilities/async/delay-iterable/_module.js.map +0 -1
  384. package/dist/cjs/utilities/async/delay-iterable/delay-iterable.js +0 -36
  385. package/dist/cjs/utilities/async/delay-iterable/delay-iterable.js.map +0 -1
  386. package/dist/cjs/utilities/async/lazy-promise/_module.js.map +0 -1
  387. package/dist/cjs/utilities/async/lazy-promise/lazy-promise.js +0 -22
  388. package/dist/cjs/utilities/async/lazy-promise/lazy-promise.js.map +0 -1
  389. package/dist/cjs/utilities/async/retry/_module.js.map +0 -1
  390. package/dist/cjs/utilities/async/retry/retry.js +0 -43
  391. package/dist/cjs/utilities/async/retry/retry.js.map +0 -1
  392. package/dist/cjs/utilities/async/retry-iterable/_module.js +0 -18
  393. package/dist/cjs/utilities/async/retry-iterable/_module.js.map +0 -1
  394. package/dist/cjs/utilities/async/retry-iterable/retry-iterable.js +0 -32
  395. package/dist/cjs/utilities/async/retry-iterable/retry-iterable.js.map +0 -1
  396. package/dist/cjs/utilities/async/timeout/_module.js.map +0 -1
  397. package/dist/cjs/utilities/async/timeout/timeout.js +0 -28
  398. package/dist/cjs/utilities/async/timeout/timeout.js.map +0 -1
  399. package/dist/cjs/utilities/async/timeout-iterable/_module.js +0 -18
  400. package/dist/cjs/utilities/async/timeout-iterable/_module.js.map +0 -1
  401. package/dist/cjs/utilities/async/timeout-iterable/timeout-iterable.js +0 -11
  402. package/dist/cjs/utilities/async/timeout-iterable/timeout-iterable.js.map +0 -1
  403. package/dist/cjs/utilities/backof-policies/_module.js.map +0 -1
  404. package/dist/cjs/utilities/backof-policies/_shared.js.map +0 -1
  405. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/_module.js +0 -18
  406. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/_module.js.map +0 -1
  407. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
  408. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/_module.js +0 -18
  409. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
  410. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
  411. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/_module.js +0 -18
  412. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/_module.js.map +0 -1
  413. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
  414. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/_module.js +0 -18
  415. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
  416. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
  417. package/dist/cjs/utilities/global-errors.js.map +0 -1
  418. package/dist/cjs/utilities/validation/_module.js +0 -22
  419. package/dist/cjs/utilities/validation/_module.js.map +0 -1
  420. package/dist/esm/_shared/kysely/_module.js +0 -2
  421. package/dist/esm/_shared/kysely/_module.js.map +0 -1
  422. package/dist/esm/_shared/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  423. package/dist/esm/_shared/redis/_module.js +0 -4
  424. package/dist/esm/_shared/redis/_module.js.map +0 -1
  425. package/dist/esm/_shared/redis/clear-iterable.js +0 -21
  426. package/dist/esm/_shared/redis/clear-iterable.js.map +0 -1
  427. package/dist/esm/_shared/redis/escape-redis-chars.js +0 -38
  428. package/dist/esm/_shared/redis/escape-redis-chars.js.map +0 -1
  429. package/dist/esm/_shared/redis/is-redis-type-error.js +0 -6
  430. package/dist/esm/_shared/redis/is-redis-type-error.js.map +0 -1
  431. package/dist/esm/_shared/utilities.js.map +0 -1
  432. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js +0 -27
  433. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +0 -1
  434. package/dist/esm/event-bus/implementations/_shared/test-utilities/_module.js +0 -2
  435. package/dist/esm/event-bus/implementations/_shared/test-utilities/_module.js.map +0 -1
  436. package/dist/esm/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.js.map +0 -1
  437. package/dist/esm/event-bus/implementations/derivables/with-validation-event-bus-adapter.js +0 -31
  438. package/dist/esm/event-bus/implementations/derivables/with-validation-event-bus-adapter.js.map +0 -1
  439. package/dist/esm/utilities/async/_module.js +0 -11
  440. package/dist/esm/utilities/async/_module.js.map +0 -1
  441. package/dist/esm/utilities/async/_shared.js.map +0 -1
  442. package/dist/esm/utilities/async/abortable/_module.js +0 -2
  443. package/dist/esm/utilities/async/abortable/_module.js.map +0 -1
  444. package/dist/esm/utilities/async/abortable/abortable.js.map +0 -1
  445. package/dist/esm/utilities/async/abortable-iterable/_module.js +0 -2
  446. package/dist/esm/utilities/async/abortable-iterable/_module.js.map +0 -1
  447. package/dist/esm/utilities/async/abortable-iterable/abortable-iterable.js +0 -29
  448. package/dist/esm/utilities/async/abortable-iterable/abortable-iterable.js.map +0 -1
  449. package/dist/esm/utilities/async/delay/_module.js +0 -2
  450. package/dist/esm/utilities/async/delay/_module.js.map +0 -1
  451. package/dist/esm/utilities/async/delay/delay.js +0 -21
  452. package/dist/esm/utilities/async/delay/delay.js.map +0 -1
  453. package/dist/esm/utilities/async/delay-iterable/_module.js +0 -2
  454. package/dist/esm/utilities/async/delay-iterable/_module.js.map +0 -1
  455. package/dist/esm/utilities/async/delay-iterable/delay-iterable.js +0 -33
  456. package/dist/esm/utilities/async/delay-iterable/delay-iterable.js.map +0 -1
  457. package/dist/esm/utilities/async/lazy-promise/_module.js +0 -2
  458. package/dist/esm/utilities/async/lazy-promise/_module.js.map +0 -1
  459. package/dist/esm/utilities/async/lazy-promise/lazy-promise.js +0 -17
  460. package/dist/esm/utilities/async/lazy-promise/lazy-promise.js.map +0 -1
  461. package/dist/esm/utilities/async/retry/_module.js +0 -2
  462. package/dist/esm/utilities/async/retry/_module.js.map +0 -1
  463. package/dist/esm/utilities/async/retry/retry.js +0 -40
  464. package/dist/esm/utilities/async/retry/retry.js.map +0 -1
  465. package/dist/esm/utilities/async/retry-iterable/_module.js +0 -2
  466. package/dist/esm/utilities/async/retry-iterable/_module.js.map +0 -1
  467. package/dist/esm/utilities/async/retry-iterable/retry-iterable.js +0 -29
  468. package/dist/esm/utilities/async/retry-iterable/retry-iterable.js.map +0 -1
  469. package/dist/esm/utilities/async/timeout/_module.js +0 -2
  470. package/dist/esm/utilities/async/timeout/_module.js.map +0 -1
  471. package/dist/esm/utilities/async/timeout/timeout.js +0 -25
  472. package/dist/esm/utilities/async/timeout/timeout.js.map +0 -1
  473. package/dist/esm/utilities/async/timeout-iterable/_module.js +0 -2
  474. package/dist/esm/utilities/async/timeout-iterable/_module.js.map +0 -1
  475. package/dist/esm/utilities/async/timeout-iterable/timeout-iterable.js +0 -8
  476. package/dist/esm/utilities/async/timeout-iterable/timeout-iterable.js.map +0 -1
  477. package/dist/esm/utilities/backof-policies/_module.js +0 -5
  478. package/dist/esm/utilities/backof-policies/_module.js.map +0 -1
  479. package/dist/esm/utilities/backof-policies/_shared.js.map +0 -1
  480. package/dist/esm/utilities/backof-policies/constant-backoff-policy/_module.js +0 -2
  481. package/dist/esm/utilities/backof-policies/constant-backoff-policy/_module.js.map +0 -1
  482. package/dist/esm/utilities/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
  483. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/_module.js +0 -2
  484. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
  485. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
  486. package/dist/esm/utilities/backof-policies/linear-backoff-policy/_module.js +0 -2
  487. package/dist/esm/utilities/backof-policies/linear-backoff-policy/_module.js.map +0 -1
  488. package/dist/esm/utilities/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
  489. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/_module.js +0 -2
  490. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
  491. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
  492. package/dist/esm/utilities/global-errors.js.map +0 -1
  493. package/dist/esm/utilities/validation/_module.js +0 -17
  494. package/dist/esm/utilities/validation/_module.js.map +0 -1
  495. package/dist/types/_shared/kysely/_module.d.ts +0 -1
  496. package/dist/types/_shared/redis/_module.d.ts +0 -3
  497. package/dist/types/_shared/redis/clear-iterable.d.ts +0 -13
  498. package/dist/types/_shared/redis/escape-redis-chars.d.ts +0 -7
  499. package/dist/types/_shared/redis/is-redis-type-error.d.ts +0 -7
  500. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.d.ts +0 -12
  501. package/dist/types/event-bus/implementations/_shared/test-utilities/_module.d.ts +0 -1
  502. package/dist/types/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.d.ts +0 -36
  503. package/dist/types/event-bus/implementations/derivables/with-validation-event-bus-adapter.d.ts +0 -17
  504. package/dist/types/utilities/async/_module.d.ts +0 -10
  505. package/dist/types/utilities/async/abortable/_module.d.ts +0 -1
  506. package/dist/types/utilities/async/abortable/abortable.d.ts +0 -39
  507. package/dist/types/utilities/async/abortable-iterable/_module.d.ts +0 -1
  508. package/dist/types/utilities/async/abortable-iterable/abortable-iterable.d.ts +0 -36
  509. package/dist/types/utilities/async/delay/_module.d.ts +0 -1
  510. package/dist/types/utilities/async/delay/delay.d.ts +0 -38
  511. package/dist/types/utilities/async/delay-iterable/_module.d.ts +0 -1
  512. package/dist/types/utilities/async/delay-iterable/delay-iterable.d.ts +0 -57
  513. package/dist/types/utilities/async/lazy-promise/_module.d.ts +0 -1
  514. package/dist/types/utilities/async/lazy-promise/lazy-promise.d.ts +0 -28
  515. package/dist/types/utilities/async/retry/_module.d.ts +0 -1
  516. package/dist/types/utilities/async/retry/retry.d.ts +0 -89
  517. package/dist/types/utilities/async/retry-iterable/_module.d.ts +0 -1
  518. package/dist/types/utilities/async/retry-iterable/retry-iterable.d.ts +0 -86
  519. package/dist/types/utilities/async/timeout/_module.d.ts +0 -1
  520. package/dist/types/utilities/async/timeout/timeout.d.ts +0 -40
  521. package/dist/types/utilities/async/timeout-iterable/_module.d.ts +0 -1
  522. package/dist/types/utilities/async/timeout-iterable/timeout-iterable.d.ts +0 -64
  523. package/dist/types/utilities/backof-policies/_module.d.ts +0 -5
  524. package/dist/types/utilities/backof-policies/constant-backoff-policy/_module.d.ts +0 -1
  525. package/dist/types/utilities/backof-policies/exponential-backoff-policy/_module.d.ts +0 -1
  526. package/dist/types/utilities/backof-policies/linear-backoff-policy/_module.d.ts +0 -1
  527. package/dist/types/utilities/backof-policies/polynomial-backoff-policy/_module.d.ts +0 -1
  528. package/dist/types/utilities/validation/_module.d.ts +0 -32
  529. /package/dist/cjs/{utilities → async}/backof-policies/_shared.js +0 -0
  530. /package/dist/cjs/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.js +0 -0
  531. /package/dist/cjs/{_shared → utilities}/types.js +0 -0
  532. /package/dist/esm/{utilities → async}/backof-policies/_shared.js +0 -0
  533. /package/dist/esm/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.js +0 -0
  534. /package/dist/esm/{_shared → utilities}/types.js +0 -0
@@ -3,24 +3,6 @@
3
3
  */
4
4
  import type { TimeSpan } from "../../utilities/_module";
5
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";
19
- };
20
- /**
21
- * @group Events
22
- */
23
- export type CacheEventNames = (typeof CACHE_EVENTS)[keyof typeof CACHE_EVENTS];
24
6
  /**
25
7
  * @group Events
26
8
  */
@@ -28,69 +10,38 @@ export type CacheEvent = {
28
10
  namespace: string;
29
11
  adapter: ICacheAdapter<any>;
30
12
  };
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
13
  /**
87
14
  * This event will be triggered when cache is cleared.
88
15
  * @group Events
89
16
  */
90
- export type KeysClearedCacheEvent = CacheEvent & {
91
- type: (typeof CACHE_EVENTS)["KEYS_CLEARED"];
17
+ export type KeysClearedCacheEvent = CacheEvent & {};
18
+ export type CacheEvents<TType = unknown> = {
19
+ key_found: CacheEvent & {
20
+ key: string;
21
+ value: TType;
22
+ };
23
+ key_not_found: CacheEvent & {
24
+ key: string;
25
+ };
26
+ key_added: CacheEvent & {
27
+ key: string;
28
+ value: TType;
29
+ ttl: TimeSpan | null;
30
+ };
31
+ key_updated: CacheEvent & {
32
+ key: string;
33
+ value: TType;
34
+ };
35
+ key_removed: CacheEvent & {
36
+ key: string;
37
+ };
38
+ key_incremented: CacheEvent & {
39
+ key: string;
40
+ value: number;
41
+ };
42
+ key_decremented: CacheEvent & {
43
+ key: string;
44
+ value: number;
45
+ };
46
+ keys_cleared: CacheEvent;
92
47
  };
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
  */
@@ -15,35 +15,37 @@ export type CacheAdapterTestSuiteSettings = {
15
15
  createAdapter: () => Promisable<ICacheAdapter>;
16
16
  };
17
17
  /**
18
- * The <i>cacheAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ICacheAdapter}</i>.
18
+ * The <i>cacheAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ICacheAdapter}</i> with <i>vitest</i>.
19
19
  * @group Utilities
20
20
  * @example
21
21
  * ```ts
22
+ * import Redis from "ioredis";
22
23
  * import { afterEach, beforeEach, describe, expect, test } from "vitest";
23
- * import { cacheAdapterTestSuite, SqliteCacheAdapter } from "@daiso-tech/core";
24
- * import Sqlite, { type Database } from "better-sqlite3";
24
+ * import { RedisContainer, type StartedRedisContainer } from "@testcontainers/redis";
25
+ * import { SuperJsonSerializer, TimeSpan, RedisCacheAdapter, cacheAdapterTestSuite } from "@daiso-tech/core";
25
26
  *
26
- * describe("class: SqliteCacheAdapter", () => {
27
- * let database: Database;
28
- * beforeEach(() => {
29
- * database = new Sqlite(":memory:");
30
- * });
31
- * afterEach(() => {
32
- * database.close();
33
- * });
27
+ * const timeout = TimeSpan.fromMinutes(2);
28
+ * describe("class: RedisCacheAdapter", () => {
29
+ * let client: Redis;
30
+ * let startedContainer: StartedRedisContainer;
31
+ * const serializer = new SuperJsonSerializer();
32
+ * beforeEach(async () => {
33
+ * startedContainer = await new RedisContainer("redis:7.4.2").start();
34
+ * client = new Redis(startedContainer.getConnectionUrl());
35
+ * }, timeout.toMilliseconds());
36
+ * afterEach(async () => {
37
+ * await client.quit();
38
+ * await startedContainer.stop();
39
+ * }, timeout.toMilliseconds());
34
40
  * 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,
41
+ * createAdapter: () =>
42
+ * new RedisCacheAdapter(client, {
43
+ * serializer,
44
+ * }),
45
+ * test,
46
+ * beforeEach,
47
+ * expect,
48
+ * describe,
47
49
  * });
48
50
  * });
49
51
  * ```
@@ -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 { SuperJsonSerializer, 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 serializer = new SuperJsonSerializer();
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
+ * serializer,
47
+ * }),
48
+ * {
49
+ * rootNamespace: "@a",
50
+ * eventBus,
51
+ * }
52
+ * ),
53
+ * createCacheB: () =>
54
+ * new Cache(
55
+ * new RedisCacheAdapter(client, {
56
+ * serializer,
57
+ * }),
58
+ * {
59
+ * rootNamespace: "@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;
@@ -1,5 +1,6 @@
1
1
  export * from "../../../cache/implementations/adapters/libsql-cache-adapter/_module";
2
2
  export * from "../../../cache/implementations/adapters/memory-cache-adapter/_module";
3
3
  export * from "../../../cache/implementations/adapters/mongodb-cache-adapter/_module";
4
+ export * from "../../../cache/implementations/adapters/no-op-cache-adapter/_module";
4
5
  export * from "../../../cache/implementations/adapters/redis-cache-adapter/_module";
5
6
  export * from "../../../cache/implementations/adapters/sqlite-cache-adapter/_module";
@@ -4,7 +4,7 @@
4
4
  import { type ICacheAdapter } from "../../../../cache/contracts/_module";
5
5
  import { type Kysely } from "kysely";
6
6
  import { type ISerializer } from "../../../../serializer/contracts/_module";
7
- import type { IDeinitizable, IInitizable } from "../../../../_shared/types";
7
+ import type { IDeinitizable, IInitizable } from "../../../../utilities/_module";
8
8
  import { TimeSpan } from "../../../../utilities/_module";
9
9
  /**
10
10
  * @internal
@@ -1,27 +1,46 @@
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
5
  import type { ISerializer } from "../../../../serializer/contracts/_module";
7
- import type { TimeSpan } from "../../../../utilities/_module";
6
+ import type { TimeSpan, IDeinitizable, IInitizable } 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
+ serializer: ISerializer<string>;
15
14
  enableTransactions?: boolean;
16
15
  expiredKeysRemovalInterval?: TimeSpan;
17
16
  shouldRemoveExpiredKeys?: boolean;
18
17
  };
19
18
  /**
19
+ * 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
20
  * @group Adapters
21
+ * @example
22
+ * ```ts
23
+ * import { LibsqlCacheAdapter, SuperJsonSerializer } from "@daiso-tech/core";
24
+ * import { createClient } from "@libsql/client";
25
+ *
26
+ * (async () => {
27
+ * const client = createClient({ url: "file:local.db" });
28
+ * const serializer = new SuperJsonSerializer();
29
+ * const cacheAdapter = new LibsqlCacheAdapter(client, {
30
+ * serializer,
31
+ * });
32
+ * // You only need to call it once before using the adapter.
33
+ * await cacheAdapter.init();
34
+ * await cacheAdapter.add("a", 1);
35
+ *
36
+ * // Will remove the cache
37
+ * await cacheAdapter.deInit();
38
+ * })();
39
+ * ```
21
40
  */
22
41
  export declare class LibsqlCacheAdapter<TType> implements ICacheAdapter<TType>, IInitizable, IDeinitizable {
23
42
  private readonly cacheAdapter;
24
- constructor(client: Client, settings?: LibsqlCacheAdapterSettings);
43
+ constructor(client: Client, settings: LibsqlCacheAdapterSettings);
25
44
  removeExpiredKeys(): Promise<void>;
26
45
  deInit(): Promise<void>;
27
46
  init(): Promise<void>;
@@ -4,7 +4,22 @@
4
4
  import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
5
5
  import type { TimeSpan } from "../../../../utilities/_module";
6
6
  /**
7
+ * To utilize the <i>MemoryCacheAdapter</i>, you must create instance of it.
7
8
  * @group Adapters
9
+ * @example
10
+ * ```ts
11
+ * import { MemoryCacheAdapter } from "@daiso-tech/core";
12
+ *
13
+ * const cacheAdapter = new MemoryCacheAdapter(client);
14
+ * ```
15
+ * You can also provide an <i>Map</i>.
16
+ * @example
17
+ * ```ts
18
+ * import { MemoryCacheAdapter } from "@daiso-tech/core";
19
+ *
20
+ * const map = new Map<any, any>();
21
+ * const cacheAdapter = new MemoryCacheAdapter(map);
22
+ * ```
8
23
  */
9
24
  export declare class MemoryCacheAdapter<TType> implements ICacheAdapter<TType> {
10
25
  private readonly map;
@@ -2,8 +2,7 @@
2
2
  * @module Cache
3
3
  */
4
4
  import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
5
- import type { TimeSpan } from "../../../../utilities/_module";
6
- import type { IInitizable } from "../../../../_shared/types";
5
+ import type { TimeSpan, IInitizable } from "../../../../utilities/_module";
7
6
  import type { ObjectId } from "mongodb";
8
7
  import { type Collection } from "mongodb";
9
8
  import type { ISerializer } from "../../../../serializer/contracts/_module";
@@ -20,16 +19,33 @@ export type MongodbCacheDocument = {
20
19
  * @group Adapters
21
20
  */
22
21
  export type MongodbCacheAdapterSettings = {
23
- serializer?: ISerializer<string>;
22
+ serializer: ISerializer<string>;
24
23
  };
25
24
  /**
25
+ * To utilize the <i>MongodbCacheAdapter</i>, you must install the <i>"mongodb"</i> package and supply a <i>{@link ISerializer | string serializer}</i>, such as <i>{@link SuperJsonSerializer}</i>.
26
26
  * @group Adapters
27
+ * @example
28
+ * ```ts
29
+ * import { MongodbCacheAdapter, SuperJsonSerializer } from "@daiso-tech/core";
30
+ * import { MongoClient } from "mongodb";
31
+ *
32
+ * const client = new MongoClient("YOUR_MONGODB_CONNECTION_STRING");
33
+ * const database = client.db("database");
34
+ * const cacheCollection = database.collection("cache");
35
+ * const serializer = new SuperJsonSerializer();
36
+ * const cacheAdapter = new MongodbCacheAdapter(cacheCollection, {
37
+ * serializer,
38
+ * });
39
+ * // You only need to call it once before using the adapter.
40
+ * await cacheAdapter.init();
41
+ * await cacheAdapter.add("a", 1);
42
+ * ```
27
43
  */
28
44
  export declare class MongodbCacheAdapter<TType> implements ICacheAdapter<TType>, IInitizable {
29
45
  private readonly collection;
30
46
  private static isMongodbIncrementError;
31
47
  private serializer;
32
- constructor(collection: Collection<MongodbCacheDocument>, { serializer, }?: MongodbCacheAdapterSettings);
48
+ constructor(collection: Collection<MongodbCacheDocument>, { serializer }: MongodbCacheAdapterSettings);
33
49
  init(): Promise<void>;
34
50
  get(key: string): Promise<TType | null>;
35
51
  add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
@@ -0,0 +1 @@
1
+ export * from "../../../../cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter";
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @module Cache
3
+ */
4
+ import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
5
+ import type { TimeSpan } from "../../../../utilities/_module";
6
+ /**
7
+ * This <i>NoOpCacheAdapter</i> will do nothing and is used for easily mocking {@link ICacheAdapter} for testing.
8
+ * @group Adapters
9
+ */
10
+ export declare class NoOpCacheAdapter<TType> implements ICacheAdapter<TType> {
11
+ get(_key: string): Promise<TType | null>;
12
+ add(_key: string, _value: TType, _ttl: TimeSpan | null): Promise<boolean>;
13
+ update(_key: string, _value: TType): Promise<boolean>;
14
+ put(_key: string, _value: TType, _ttl: TimeSpan | null): Promise<boolean>;
15
+ remove(_key: string): Promise<boolean>;
16
+ increment(_key: string, _value: number): Promise<boolean>;
17
+ clear(_prefix: string): Promise<void>;
18
+ }
@@ -16,16 +16,28 @@ declare module "ioredis" {
16
16
  * @group Adapters
17
17
  */
18
18
  export type RedisCacheAdapterSettings = {
19
- serializer?: ISerializer<string>;
19
+ serializer: ISerializer<string>;
20
20
  };
21
21
  /**
22
+ * To utilize the <i>RedisCacheAdapter</i>, you must install the <i>"ioredis"</i> package and supply a <i>{@link ISerializer | string serializer}</i>, such as <i>{@link SuperJsonSerializer}</i>.
22
23
  * @group Adapters
24
+ * @example
25
+ * ```ts
26
+ * import { RedisCacheAdapter, SuperJsonSerializer } from "@daiso-tech/core";
27
+ * import Redis from "ioredis";
28
+ *
29
+ * const client = new Redis("YOUR_REDIS_CONNECTION_STRING");
30
+ * const serializer = new SuperJsonSerializer();
31
+ * const cacheAdapter = new RedisCacheAdapter(client, {
32
+ * serializer,
33
+ * });
34
+ * ```
23
35
  */
24
36
  export declare class RedisCacheAdapter<TType> implements ICacheAdapter<TType> {
25
37
  private readonly client;
26
38
  private static isRedisTypeError;
27
39
  private serializer;
28
- constructor(client: Redis, { serializer, }?: RedisCacheAdapterSettings);
40
+ constructor(client: Redis, { serializer }: RedisCacheAdapterSettings);
29
41
  get(key: string): Promise<TType | null>;
30
42
  add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
31
43
  update(key: string, value: TType): Promise<boolean>;
@@ -1,23 +1,40 @@
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
5
  import type { ISerializer } from "../../../../serializer/contracts/_module";
7
- import type { TimeSpan } from "../../../../utilities/_module";
6
+ import type { TimeSpan, IInitizable, IDeinitizable } from "../../../../utilities/_module";
8
7
  import { type Database } from "better-sqlite3";
9
8
  /**
10
9
  * @group Adapters
11
10
  */
12
11
  export type SqliteStorageAdapterSettings = {
13
12
  tableName?: string;
14
- serializer?: ISerializer<string>;
13
+ serializer: ISerializer<string>;
15
14
  enableTransactions?: boolean;
16
15
  expiredKeysRemovalInterval?: TimeSpan;
17
16
  shouldRemoveExpiredKeys?: boolean;
18
17
  };
19
18
  /**
19
+ * To utilize the <i>SqliteCacheAdapter</i>, you must install the <i>"better-sqlite3"</i> package and supply a <i>{@link ISerializer | string serializer}</i>, such as <i>{@link SuperJsonSerializer}</i>.
20
20
  * @group Adapters
21
+ * @example
22
+ * ```ts
23
+ * import { SqliteCacheAdapter, SuperJsonSerializer } from "@daiso-tech/core";
24
+ * import Sqlite from "better-sqlite3";
25
+ *
26
+ * const client = new Sqlite("local.db");
27
+ * const serializer = new SuperJsonSerializer();
28
+ * const cacheAdapter = new SqliteCacheAdapter(client, {
29
+ * serializer,
30
+ * });
31
+ * // You only need to call it once before using the adapter.
32
+ * await cacheAdapter.init();
33
+ * await cacheAdapter.add("a", 1);
34
+ *
35
+ * // Will remove the cache
36
+ * await cacheAdapter.deInit();
37
+ * ```
21
38
  */
22
39
  export declare class SqliteCacheAdapter<TType> implements ICacheAdapter<TType>, IInitizable, IDeinitizable {
23
40
  private readonly cacheAdapter;
@@ -1,35 +1,36 @@
1
1
  /**
2
2
  * @module Cache
3
3
  */
4
- import type { CacheEventNames, WithTtlValue } from "../../../cache/contracts/_module";
4
+ import type { WithTtlValue } from "../../../cache/contracts/_module";
5
5
  import { type ICache } from "../../../cache/contracts/_module";
6
- import { type INamespacedCache, type AllCacheEvents } from "../../../cache/contracts/_module";
7
- import type { OneOrMore } from "../../../_shared/types";
8
- import { type AsyncLazyable, type GetOrAddValue } from "../../../_shared/types";
6
+ import { type INamespacedCache, type CacheEvents } from "../../../cache/contracts/_module";
7
+ import type { OneOrMore } from "../../../utilities/_module";
8
+ import { type AsyncLazyable, type GetOrAddValue } from "../../../utilities/_module";
9
9
  import type { TimeSpan } from "../../../utilities/_module";
10
- import { LazyPromise } from "../../../utilities/_module";
11
- import type { Listener, SelectEvent, Unsubscribe, INamespacedEventBus } from "../../../event-bus/contracts/_module";
10
+ import { LazyPromise } from "../../../async/_module";
11
+ import type { Listener, Unsubscribe, INamespacedEventBus, SelectEvent } from "../../../event-bus/contracts/_module";
12
12
  /**
13
13
  * @group Derivables
14
14
  */
15
15
  export type BaseCacheSettings<TType> = {
16
16
  namespace: string;
17
- eventBus: INamespacedEventBus<AllCacheEvents<TType>>;
17
+ eventBus: INamespacedEventBus<CacheEvents<TType>>;
18
18
  };
19
19
  /**
20
20
  * The BaseCache class serves as an abstract base class that provides implementations for redundant methods.
21
21
  * It simplifies implementing the {@link INamespacedCache} interface without using an {@link ICacheAdapter}.
22
22
  * @group Derivables
23
23
  */
24
- export declare abstract class BaseCache<TType = unknown> implements INamespacedCache<TType> {
24
+ export declare abstract class BaseCache<TType> implements INamespacedCache<TType> {
25
+ protected static createLayPromise<TValue = void>(asyncFn: () => PromiseLike<TValue>): LazyPromise<TValue>;
25
26
  private readonly listenable;
26
27
  constructor(settings: BaseCacheSettings<TType>);
27
- addListener<TEventType extends CacheEventNames>(event: TEventType, listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<void>;
28
- addListenerMany<TEventType extends CacheEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<void>;
29
- removeListener<TEventType extends CacheEventNames>(event: TEventType, listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<void>;
30
- removeListenerMany<TEventType extends CacheEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<void>;
31
- subscribe<TEventType extends CacheEventNames>(event: TEventType, listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<Unsubscribe>;
32
- subscribeMany<TEventType extends CacheEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<Unsubscribe>;
28
+ addListener<TEventName extends keyof CacheEvents>(eventName: TEventName, listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
29
+ addListenerMany<TEventName extends keyof CacheEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
30
+ removeListener<TEventName extends keyof CacheEvents>(eventName: TEventName, listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
31
+ removeListenerMany<TEventName extends keyof CacheEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
32
+ subscribe<TEventName extends keyof CacheEvents>(eventName: TEventName, listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<Unsubscribe>;
33
+ subscribeMany<TEventName extends keyof CacheEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<Unsubscribe>;
33
34
  abstract withNamespace(namespace: OneOrMore<string>): ICache<TType>;
34
35
  abstract getNamespace(): string;
35
36
  exists(key: string): LazyPromise<boolean>;
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * @module Cache
3
3
  */
4
+ import type { CacheEvents } from "../../../cache/contracts/_module";
4
5
  import { type ICache, type ICacheAdapter } from "../../../cache/contracts/_module";
5
- import { type INamespacedCache, type AllCacheEvents } from "../../../cache/contracts/_module";
6
- import type { OneOrMore } from "../../../_shared/types";
6
+ import { type INamespacedCache } from "../../../cache/contracts/_module";
7
+ import type { OneOrMore } from "../../../utilities/_module";
7
8
  import type { TimeSpan } from "../../../utilities/_module";
8
- import { LazyPromise } from "../../../utilities/_module";
9
+ import type { LazyPromiseSettings } from "../../../async/_module";
10
+ import type { LazyPromise } from "../../../async/_module";
9
11
  import type { INamespacedEventBus } from "../../../event-bus/contracts/_module";
10
12
  import { BaseCache } from "../../../cache/implementations/derivables/base-cache";
11
13
  /**
@@ -43,11 +45,12 @@ export type CacheSettings<TType> = {
43
45
  /**
44
46
  * In order to listen to events of <i>{@link Cache}</i> class you must pass in <i>{@link INamespacedEventBus}</i>.
45
47
  */
46
- eventBus?: INamespacedEventBus<AllCacheEvents<TType>>;
48
+ eventBus?: INamespacedEventBus<CacheEvents<TType>>;
47
49
  /**
48
50
  * You can decide the default ttl value. If null is passed then no ttl will be used by default.
49
51
  */
50
52
  defaultTtl?: TimeSpan | null;
53
+ lazyPromiseSettings?: LazyPromiseSettings;
51
54
  };
52
55
  /**
53
56
  * <i>Cache</i> class can be derived from any <i>{@link ICacheAdapter}</i>.