@daiso-tech/core 0.16.0 → 0.19.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 (354) hide show
  1. package/dist/cjs/async/_module.js +1 -1
  2. package/dist/cjs/async/_module.js.map +1 -1
  3. package/dist/cjs/async/backof-policies/_module.js +1 -0
  4. package/dist/cjs/async/backof-policies/_module.js.map +1 -1
  5. package/dist/cjs/async/utilities/_module.js +3 -0
  6. package/dist/cjs/async/utilities/_module.js.map +1 -1
  7. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +16 -22
  8. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  9. package/dist/cjs/cache/contracts/cache.errors.js +19 -0
  10. package/dist/cjs/cache/contracts/cache.errors.js.map +1 -1
  11. package/dist/cjs/cache/contracts/cache.events.js +156 -0
  12. package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
  13. package/dist/cjs/cache/implementations/_shared/_module.js +1 -0
  14. package/dist/cjs/cache/implementations/_shared/_module.js.map +1 -1
  15. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  16. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  17. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +7 -5
  18. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  19. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -1
  20. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
  21. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +56 -0
  22. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -0
  23. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +18 -14
  24. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  25. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js +1 -0
  26. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
  27. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +26 -0
  28. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -0
  29. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +11 -3
  30. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  31. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -1
  32. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
  33. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +44 -0
  34. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -0
  35. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +21 -8
  36. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  37. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js +1 -0
  38. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
  39. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +32 -0
  40. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -0
  41. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +27 -20
  42. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  43. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +1 -0
  44. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
  45. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +56 -0
  46. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -0
  47. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +19 -15
  48. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  49. package/dist/cjs/cache/implementations/derivables/_module.js +3 -1
  50. package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -1
  51. package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js +83 -0
  52. package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js.map +1 -0
  53. package/dist/cjs/cache/implementations/derivables/cache-factory.js +52 -18
  54. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -1
  55. package/dist/cjs/cache/implementations/derivables/cache-settings.js +74 -0
  56. package/dist/cjs/cache/implementations/derivables/cache-settings.js.map +1 -0
  57. package/dist/cjs/cache/implementations/derivables/cache.js +167 -93
  58. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -1
  59. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +1 -1
  60. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -1
  61. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +1 -1
  62. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -1
  63. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +1 -1
  64. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -1
  65. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +20 -11
  66. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  67. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  68. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  69. package/dist/cjs/event-bus/contracts/_module.js +2 -2
  70. package/dist/cjs/event-bus/contracts/_module.js.map +1 -1
  71. package/dist/cjs/event-bus/contracts/_shared.js +7 -0
  72. package/dist/cjs/event-bus/contracts/_shared.js.map +1 -1
  73. package/dist/cjs/event-bus/contracts/event-bus.errors.js +19 -0
  74. package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -1
  75. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +52 -36
  76. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  77. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +156 -120
  78. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  79. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -1
  80. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
  81. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +26 -0
  82. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -0
  83. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +17 -9
  84. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  85. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +3 -3
  86. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  87. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +2 -1
  88. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
  89. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +38 -0
  90. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -0
  91. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +9 -5
  92. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  93. package/dist/cjs/event-bus/implementations/derivables/_module.js +3 -1
  94. package/dist/cjs/event-bus/implementations/derivables/_module.js.map +1 -1
  95. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js +71 -0
  96. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js.map +1 -0
  97. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +47 -18
  98. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  99. package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js +68 -0
  100. package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js.map +1 -0
  101. package/dist/cjs/event-bus/implementations/derivables/event-bus.js +102 -62
  102. package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -1
  103. package/dist/cjs/serde/contracts/_module.js +4 -0
  104. package/dist/cjs/serde/contracts/_module.js.map +1 -1
  105. package/dist/cjs/serde/contracts/deserializer.contract.js +3 -0
  106. package/dist/cjs/serde/contracts/deserializer.contract.js.map +1 -0
  107. package/dist/cjs/serde/contracts/flexible-serde.contract.js +3 -0
  108. package/dist/cjs/serde/contracts/flexible-serde.contract.js.map +1 -0
  109. package/dist/cjs/serde/contracts/serializable.contract.js +3 -0
  110. package/dist/cjs/serde/contracts/serializable.contract.js.map +1 -0
  111. package/dist/cjs/serde/contracts/serializer.contract.js +3 -0
  112. package/dist/cjs/serde/contracts/serializer.contract.js.map +1 -0
  113. package/dist/cjs/serde/implementations/_module.js +1 -0
  114. package/dist/cjs/serde/implementations/_module.js.map +1 -1
  115. package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js +1 -0
  116. package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js.map +1 -1
  117. package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +69 -0
  118. package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -0
  119. package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js +35 -60
  120. package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -1
  121. package/dist/cjs/serde/implementations/no-op-serde/_module.js +18 -0
  122. package/dist/cjs/serde/implementations/no-op-serde/_module.js.map +1 -0
  123. package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js +19 -0
  124. package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js.map +1 -0
  125. package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js +57 -111
  126. package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
  127. package/dist/cjs/utilities/contracts/_module.js +2 -0
  128. package/dist/cjs/utilities/contracts/_module.js.map +1 -1
  129. package/dist/cjs/utilities/contracts/buildable.contract.js +3 -0
  130. package/dist/cjs/utilities/contracts/buildable.contract.js.map +1 -0
  131. package/dist/cjs/utilities/contracts/serialized-error.contract.js +3 -0
  132. package/dist/cjs/utilities/contracts/serialized-error.contract.js.map +1 -0
  133. package/dist/cjs/utilities/errors.js +10 -10
  134. package/dist/cjs/utilities/errors.js.map +1 -1
  135. package/dist/cjs/utilities/functions.js +4 -0
  136. package/dist/cjs/utilities/functions.js.map +1 -1
  137. package/dist/cjs/utilities/time-span/time-span.js.map +1 -1
  138. package/dist/esm/async/_module.js +1 -1
  139. package/dist/esm/async/_module.js.map +1 -1
  140. package/dist/esm/async/backof-policies/_module.js +1 -0
  141. package/dist/esm/async/backof-policies/_module.js.map +1 -1
  142. package/dist/esm/async/utilities/_module.js +3 -0
  143. package/dist/esm/async/utilities/_module.js.map +1 -1
  144. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +16 -22
  145. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  146. package/dist/esm/cache/contracts/cache.errors.js +19 -0
  147. package/dist/esm/cache/contracts/cache.errors.js.map +1 -1
  148. package/dist/esm/cache/contracts/cache.events.js +147 -0
  149. package/dist/esm/cache/contracts/cache.events.js.map +1 -1
  150. package/dist/esm/cache/implementations/_shared/_module.js +1 -0
  151. package/dist/esm/cache/implementations/_shared/_module.js.map +1 -1
  152. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  153. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  154. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +7 -5
  155. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  156. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -1
  157. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
  158. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +52 -0
  159. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -0
  160. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +17 -13
  161. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  162. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +1 -0
  163. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
  164. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +22 -0
  165. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -0
  166. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +11 -3
  167. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  168. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -1
  169. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
  170. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +40 -0
  171. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -0
  172. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +21 -8
  173. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  174. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +1 -0
  175. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
  176. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +28 -0
  177. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -0
  178. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +28 -21
  179. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  180. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +1 -0
  181. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
  182. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +52 -0
  183. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -0
  184. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +17 -13
  185. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  186. package/dist/esm/cache/implementations/derivables/_module.js +3 -1
  187. package/dist/esm/cache/implementations/derivables/_module.js.map +1 -1
  188. package/dist/esm/cache/implementations/derivables/cache-factory-settings.js +79 -0
  189. package/dist/esm/cache/implementations/derivables/cache-factory-settings.js.map +1 -0
  190. package/dist/esm/cache/implementations/derivables/cache-factory.js +53 -19
  191. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -1
  192. package/dist/esm/cache/implementations/derivables/cache-settings.js +70 -0
  193. package/dist/esm/cache/implementations/derivables/cache-settings.js.map +1 -0
  194. package/dist/esm/cache/implementations/derivables/cache.js +146 -72
  195. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -1
  196. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +1 -1
  197. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -1
  198. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +1 -1
  199. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -1
  200. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +1 -1
  201. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -1
  202. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +20 -11
  203. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  204. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  205. package/dist/esm/collection/implementations/list-collection/list-collection.js.map +1 -1
  206. package/dist/esm/event-bus/contracts/_module.js +2 -2
  207. package/dist/esm/event-bus/contracts/_module.js.map +1 -1
  208. package/dist/esm/event-bus/contracts/_shared.js +5 -0
  209. package/dist/esm/event-bus/contracts/_shared.js.map +1 -1
  210. package/dist/esm/event-bus/contracts/event-bus.errors.js +19 -0
  211. package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -1
  212. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +45 -29
  213. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  214. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +143 -107
  215. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  216. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -1
  217. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
  218. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +22 -0
  219. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -0
  220. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +17 -9
  221. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  222. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +3 -3
  223. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  224. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +2 -1
  225. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
  226. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +34 -0
  227. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -0
  228. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +10 -6
  229. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  230. package/dist/esm/event-bus/implementations/derivables/_module.js +3 -1
  231. package/dist/esm/event-bus/implementations/derivables/_module.js.map +1 -1
  232. package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js +67 -0
  233. package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js.map +1 -0
  234. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +48 -19
  235. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  236. package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js +64 -0
  237. package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js.map +1 -0
  238. package/dist/esm/event-bus/implementations/derivables/event-bus.js +104 -64
  239. package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -1
  240. package/dist/esm/serde/contracts/_module.js +4 -0
  241. package/dist/esm/serde/contracts/_module.js.map +1 -1
  242. package/dist/esm/serde/contracts/deserializer.contract.js +1 -0
  243. package/dist/esm/serde/contracts/deserializer.contract.js.map +1 -0
  244. package/dist/esm/serde/contracts/flexible-serde.contract.js +1 -0
  245. package/dist/esm/serde/contracts/flexible-serde.contract.js.map +1 -0
  246. package/dist/esm/serde/contracts/serializable.contract.js +1 -0
  247. package/dist/esm/serde/contracts/serializable.contract.js.map +1 -0
  248. package/dist/esm/serde/contracts/serializer.contract.js +1 -0
  249. package/dist/esm/serde/contracts/serializer.contract.js.map +1 -0
  250. package/dist/esm/serde/implementations/_module.js +1 -0
  251. package/dist/esm/serde/implementations/_module.js.map +1 -1
  252. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js +1 -0
  253. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js.map +1 -1
  254. package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +66 -0
  255. package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -0
  256. package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js +35 -60
  257. package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -1
  258. package/dist/esm/serde/implementations/no-op-serde/_module.js +2 -0
  259. package/dist/esm/serde/implementations/no-op-serde/_module.js.map +1 -0
  260. package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js +15 -0
  261. package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js.map +1 -0
  262. package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js +57 -111
  263. package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
  264. package/dist/esm/utilities/contracts/_module.js +2 -0
  265. package/dist/esm/utilities/contracts/_module.js.map +1 -1
  266. package/dist/esm/utilities/contracts/buildable.contract.js +1 -0
  267. package/dist/esm/utilities/contracts/buildable.contract.js.map +1 -0
  268. package/dist/esm/utilities/contracts/serialized-error.contract.js +1 -0
  269. package/dist/esm/utilities/contracts/serialized-error.contract.js.map +1 -0
  270. package/dist/esm/utilities/errors.js +7 -7
  271. package/dist/esm/utilities/errors.js.map +1 -1
  272. package/dist/esm/utilities/functions.js +3 -0
  273. package/dist/esm/utilities/functions.js.map +1 -1
  274. package/dist/esm/utilities/time-span/time-span.js.map +1 -1
  275. package/dist/types/async/_module.d.ts +1 -1
  276. package/dist/types/async/backof-policies/_module.d.ts +1 -1
  277. package/dist/types/async/utilities/_module.d.ts +3 -0
  278. package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +36 -46
  279. package/dist/types/cache/contracts/cache-factory.contract.d.ts +10 -23
  280. package/dist/types/cache/contracts/cache.contract.d.ts +365 -8
  281. package/dist/types/cache/contracts/cache.errors.d.ts +11 -4
  282. package/dist/types/cache/contracts/cache.events.d.ts +150 -38
  283. package/dist/types/cache/implementations/_shared/_module.d.ts +1 -0
  284. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +10 -8
  285. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +15 -9
  286. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +4 -3
  287. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +2 -1
  288. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.d.ts +48 -0
  289. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +49 -37
  290. package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +1 -0
  291. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.d.ts +27 -0
  292. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +41 -17
  293. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +2 -1
  294. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.d.ts +51 -0
  295. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +59 -45
  296. package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
  297. package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +1 -0
  298. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.d.ts +32 -0
  299. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +41 -26
  300. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +1 -0
  301. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.d.ts +48 -0
  302. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +49 -37
  303. package/dist/types/cache/implementations/derivables/_module.d.ts +3 -1
  304. package/dist/types/cache/implementations/derivables/cache-factory-settings.d.ts +108 -0
  305. package/dist/types/cache/implementations/derivables/cache-factory.d.ts +67 -39
  306. package/dist/types/cache/implementations/derivables/cache-settings.d.ts +100 -0
  307. package/dist/types/cache/implementations/derivables/cache.d.ts +95 -36
  308. package/dist/types/collection/contracts/async-collection.contract.d.ts +1247 -666
  309. package/dist/types/collection/contracts/collection.contract.d.ts +1195 -638
  310. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +1 -1
  311. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +190 -4
  312. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +138 -1
  313. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +138 -1
  314. package/dist/types/event-bus/contracts/_module.d.ts +2 -2
  315. package/dist/types/event-bus/contracts/_shared.d.ts +11 -0
  316. package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +4 -6
  317. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +37 -31
  318. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +24 -32
  319. package/dist/types/event-bus/contracts/event-bus.errors.d.ts +8 -1
  320. package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +6 -3
  321. package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +10 -7
  322. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +2 -1
  323. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.d.ts +28 -0
  324. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +48 -22
  325. package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +4 -4
  326. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.d.ts +2 -1
  327. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.d.ts +36 -0
  328. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +43 -31
  329. package/dist/types/event-bus/implementations/derivables/_module.d.ts +3 -1
  330. package/dist/types/event-bus/implementations/derivables/event-bus-factory-settings.d.ts +92 -0
  331. package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +43 -22
  332. package/dist/types/event-bus/implementations/derivables/event-bus-settings.d.ts +80 -0
  333. package/dist/types/event-bus/implementations/derivables/event-bus.d.ts +46 -22
  334. package/dist/types/serde/contracts/_module.d.ts +4 -0
  335. package/dist/types/serde/contracts/deserializer.contract.d.ts +13 -0
  336. package/dist/types/serde/contracts/flexible-serde.contract.d.ts +120 -0
  337. package/dist/types/serde/contracts/serde.contract.d.ts +5 -36
  338. package/dist/types/serde/contracts/serializable.contract.d.ts +10 -0
  339. package/dist/types/serde/contracts/serializer.contract.d.ts +10 -0
  340. package/dist/types/serde/implementations/_module.d.ts +1 -0
  341. package/dist/types/serde/implementations/_shared/test-utilities/_module.d.ts +1 -0
  342. package/dist/types/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.d.ts +17 -0
  343. package/dist/types/serde/implementations/_shared/test-utilities/serde.test-suite.d.ts +2 -3
  344. package/dist/types/serde/implementations/no-op-serde/_module.d.ts +1 -0
  345. package/dist/types/serde/implementations/no-op-serde/no-op-serde.d.ts +14 -0
  346. package/dist/types/serde/implementations/super-json-serde/super-json-serde.d.ts +23 -2
  347. package/dist/types/utilities/contracts/_module.d.ts +2 -0
  348. package/dist/types/utilities/contracts/buildable.contract.d.ts +9 -0
  349. package/dist/types/utilities/contracts/serialized-error.contract.d.ts +11 -0
  350. package/dist/types/utilities/errors.d.ts +3 -3
  351. package/dist/types/utilities/functions.d.ts +4 -0
  352. package/dist/types/utilities/time-span/time-span.d.ts +2 -2
  353. package/dist/types/utilities/types.d.ts +1 -2
  354. package/package.json +1 -1
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @module Cache
3
+ */
4
+ import type { ICacheAdapter } from "../../../cache/contracts/_module";
5
+ import type { IBuildable, OneOrMore } from "../../../utilities/_module";
6
+ import type { TimeSpan } from "../../../utilities/_module";
7
+ import type { BackoffPolicy, RetryPolicy } from "../../../async/_module";
8
+ import type { IGroupableEventBus } from "../../../event-bus/contracts/_module";
9
+ import type { IFlexibleSerde } from "../../../serde/contracts/_module";
10
+ /**
11
+ * @group Derivables
12
+ */
13
+ export type CacheSettings = {
14
+ /**
15
+ * You can pass one or more <i>{@link IFlexibleSerde}</i> that will be used to register all <i>{@link IGroupableCache}</i> related errors and events.
16
+ * @default {true}
17
+ */
18
+ serde: OneOrMore<IFlexibleSerde>;
19
+ /**
20
+ * If set to true, all <i>{@link IGroupableCache}</i> related errors will be registered with the specified <i>IFlexibleSerde</i> during constructor initialization.
21
+ * This ensures that all <i>{@link IGroupableCache}</i> related errors will be serialized correctly.
22
+ * @default {true}
23
+ */
24
+ shouldRegisterErrors?: boolean;
25
+ /**
26
+ * If set to true, all <i>{@link IGroupableCache}</i> related events will be registered with the specified <i>IFlexibleSerde</i> during constructor initialization.
27
+ * This ensures that all <i>{@link IGroupableCache}</i> related events will be serialized correctly.
28
+ * @default {true}
29
+ */
30
+ shouldRegisterEvents?: boolean;
31
+ adapter: ICacheAdapter<any>;
32
+ /**
33
+ * In order to listen to events of <i>{@link Cache}</i> class you must pass in <i>{@link IGroupableEventBus}</i>.
34
+ */
35
+ eventBus?: IGroupableEventBus<any>;
36
+ /**
37
+ * You can decide the default ttl value. If null is passed then no ttl will be used by default.
38
+ * @default {null}
39
+ */
40
+ defaultTtl?: TimeSpan | null;
41
+ /**
42
+ * The default retry attempt to use in the returned <i>LazyPromise</i>.
43
+ * @default {null}
44
+ */
45
+ retryAttempts?: number | null;
46
+ /**
47
+ * The default backof policy to use in the returned <i>LazyPromise</i>.
48
+ * @default {null}
49
+ */
50
+ backoffPolicy?: BackoffPolicy | null;
51
+ /**
52
+ * The default retry policy to use in the returned <i>LazyPromise</i>.
53
+ * @default {null}
54
+ */
55
+ retryPolicy?: RetryPolicy | null;
56
+ /**
57
+ * The default timeout to use in the returned <i>LazyPromise</i>.
58
+ * @default {null}
59
+ */
60
+ timeout?: TimeSpan | null;
61
+ };
62
+ /**
63
+ * The <i>CacheSettingsBuilder</i> is an immutable builder class, meaning that each method invocation creates a new instance.
64
+ * @group Derivables
65
+ */
66
+ export declare class CacheSettingsBuilder<TSettings extends Partial<CacheSettings>> implements IBuildable<CacheSettings> {
67
+ private readonly settings;
68
+ constructor(settings?: TSettings);
69
+ setShouldRegisterErrors(shouldRegisterErrors: boolean): CacheSettingsBuilder<TSettings & {
70
+ shouldRegisterErrors: boolean;
71
+ }>;
72
+ setShouldRegisterEvents(shouldRegisterEvents: boolean): CacheSettingsBuilder<TSettings & {
73
+ shouldRegisterEvents: boolean;
74
+ }>;
75
+ setSerde(serde: OneOrMore<IFlexibleSerde>): CacheSettingsBuilder<TSettings & {
76
+ serde: OneOrMore<IFlexibleSerde>;
77
+ }>;
78
+ setAdapter(adapter: ICacheAdapter<any>): CacheSettingsBuilder<TSettings & {
79
+ adapter: ICacheAdapter<any>;
80
+ }>;
81
+ setEventBus(eventBus: IGroupableEventBus<any>): CacheSettingsBuilder<TSettings & {
82
+ eventBus: IGroupableEventBus<any>;
83
+ }>;
84
+ setDefultTtl(time: TimeSpan): CacheSettingsBuilder<TSettings & {
85
+ defaultTtl: TimeSpan;
86
+ }>;
87
+ setRetryAttempts(attempts: number | null): CacheSettingsBuilder<TSettings & {
88
+ retryAttempts: number | null;
89
+ }>;
90
+ setBackoffPolicy(policy: BackoffPolicy | null): CacheSettingsBuilder<TSettings & {
91
+ backoffPolicy: BackoffPolicy | null;
92
+ }>;
93
+ setRetryPolicy(policy: RetryPolicy | null): CacheSettingsBuilder<TSettings & {
94
+ retryPolicy: RetryPolicy | null;
95
+ }>;
96
+ setTimeout(time: TimeSpan | null): CacheSettingsBuilder<TSettings & {
97
+ timeout: TimeSpan | null;
98
+ }>;
99
+ build(this: CacheSettingsBuilder<CacheSettings>): CacheSettings;
100
+ }
@@ -2,44 +2,91 @@
2
2
  * @module Cache
3
3
  */
4
4
  import type { CacheEvents, WithTtlValue } from "../../../cache/contracts/_module";
5
- import { type ICache, type ICacheAdapter } from "../../../cache/contracts/_module";
5
+ import { KeyFoundCacheEvent, KeyNotFoundCacheEvent, KeyAddedCacheEvent, KeyUpdatedCacheEvent, KeyRemovedCacheEvent, KeyIncrementedCacheEvent, KeyDecrementedCacheEvent, KeysClearedCacheEvent, type ICache } from "../../../cache/contracts/_module";
6
+ import { CacheError, KeyNotFoundCacheError, TypeCacheError, UnexpectedCacheError } from "../../../cache/contracts/_module";
6
7
  import { type IGroupableCache } from "../../../cache/contracts/_module";
7
8
  import type { AsyncLazyable, GetOrAddValue, OneOrMore } from "../../../utilities/_module";
8
9
  import type { TimeSpan } from "../../../utilities/_module";
9
- import type { LazyPromiseSettings } from "../../../async/_module";
10
10
  import { LazyPromise } from "../../../async/_module";
11
- import type { IGroupableEventBus, Listener, SelectEvent, Unsubscribe } from "../../../event-bus/contracts/_module";
12
- /**
13
- * @group Derivables
14
- */
15
- export type CacheSettings<TType> = {
16
- /**
17
- * In order to listen to events of <i>{@link Cache}</i> class you must pass in <i>{@link IGroupableEventBus}</i>.
18
- */
19
- eventBus?: IGroupableEventBus<CacheEvents<TType>>;
20
- /**
21
- * You can decide the default ttl value. If null is passed then no ttl will be used by default.
22
- */
23
- defaultTtl?: TimeSpan | null;
24
- lazyPromiseSettings?: LazyPromiseSettings;
25
- };
11
+ import type { Listener, Unsubscribe, EventClass, EventInstance } from "../../../event-bus/contracts/_module";
12
+ import type { CacheSettings } from "../../../cache/implementations/derivables/cache-settings";
13
+ import { CacheSettingsBuilder } from "../../../cache/implementations/derivables/cache-settings";
26
14
  /**
27
15
  * <i>Cache</i> class can be derived from any <i>{@link ICacheAdapter}</i>.
28
16
  * @group Derivables
29
- * @example
30
- * ```ts
31
- * import { Cache, MemoryCacheAdapter } from "@daiso-tech/core";
32
- *
33
- * const cache = new Cache(new MemoryCacheAdapter());
34
- * ```
35
17
  */
36
18
  export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
19
+ static readonly errors: {
20
+ readonly Error: typeof CacheError;
21
+ readonly Unexpected: typeof UnexpectedCacheError;
22
+ readonly Type: typeof TypeCacheError;
23
+ readonly KeyNotFound: typeof KeyNotFoundCacheError;
24
+ };
25
+ static readonly events: {
26
+ readonly KeyFound: typeof KeyFoundCacheEvent;
27
+ readonly KeyNotFound: typeof KeyNotFoundCacheEvent;
28
+ readonly KeyAdded: typeof KeyAddedCacheEvent;
29
+ readonly KeyUpdated: typeof KeyUpdatedCacheEvent;
30
+ readonly KeyRemoved: typeof KeyRemovedCacheEvent;
31
+ readonly KeyIncremented: typeof KeyIncrementedCacheEvent;
32
+ readonly KeyDecremented: typeof KeyDecrementedCacheEvent;
33
+ readonly KeysCleared: typeof KeysClearedCacheEvent;
34
+ };
35
+ /**
36
+ * @example
37
+ * ```ts
38
+ * import { Cache, MemoryCacheAdapter, TimeSpan, SuperJsonSerde } from "@daiso-tech/core";
39
+ *
40
+ * const cache = new Cache(
41
+ * Cache
42
+ * .settings()
43
+ * .setSerde(new SuperJsonSerde())
44
+ * .setAdapter(new MemoryCacheAdapter({ rootGroup: "@global" }))
45
+ * .setEventBus(new EventBus(new MemoryEventBusAdapter({ rootGroup: "@global" })))
46
+ * .setDefaultTtl(TimeSpan.fromMinutes(2))
47
+ * .build()
48
+ * );
49
+ * ```
50
+ */
51
+ static settings<TSettings extends Partial<CacheSettings>>(): CacheSettingsBuilder<TSettings>;
52
+ private static defaultRetryPolicy;
37
53
  private readonly groupdEventBus;
38
54
  private readonly eventBus;
39
- private readonly cacheAdapter;
55
+ private readonly adapter;
40
56
  private readonly defaultTtl;
41
- private readonly lazyPromiseSettings?;
42
- constructor(cacheAdapter: ICacheAdapter<any>, settings?: CacheSettings<TType>);
57
+ private readonly retryAttempts;
58
+ private readonly backoffPolicy;
59
+ private readonly retryPolicy;
60
+ private readonly timeout;
61
+ private readonly serde;
62
+ private readonly shouldRegisterErrors;
63
+ private readonly shouldRegisterEvents;
64
+ /**
65
+ *@example
66
+ * ```ts
67
+ * import { Cache, MemoryCacheAdapter, EventBus, MemoryEventBusAdapter } from "@daiso-tech/core";
68
+ *
69
+ * const eventBus = new EventBus({
70
+ * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
71
+ * });
72
+ * const cache = new Cache({
73
+ * serde: new SuperJsonSerde();
74
+ * adapter: new MemoryCacheAdapter({
75
+ * rootGroup: "@global"
76
+ * }),
77
+ * eventBus,
78
+ * });
79
+ * ```
80
+ */
81
+ constructor(settings: CacheSettings);
82
+ /**
83
+ * Registers all cache-related events within the given <i>IFlexibleSerde</i> contract.
84
+ */
85
+ private registerEvents;
86
+ /**
87
+ * Registers all cache-related error within the given <i>IFlexibleSerde</i> contract.
88
+ */
89
+ private registerErrors;
43
90
  private createLayPromise;
44
91
  private createKeyFoundEvent;
45
92
  private createKeyNotFoundEvent;
@@ -49,22 +96,30 @@ export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
49
96
  private createKeysClearedEvent;
50
97
  private createKeyIncrementedEvent;
51
98
  private createKeyDecrementedEvent;
99
+ addListener<TEventClass extends EventClass<CacheEvents>>(eventName: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
100
+ addListenerMany<TEventClass extends EventClass<CacheEvents>>(eventNames: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
101
+ removeListener<TEventClass extends EventClass<CacheEvents>>(eventName: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
102
+ removeListenerMany<TEventClass extends EventClass<CacheEvents>>(eventNames: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
103
+ listenOnce<TEventClass extends EventClass<CacheEvents>>(eventName: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
104
+ subscribe<TEventClass extends EventClass<CacheEvents>>(eventName: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
105
+ subscribeMany<TEventClass extends EventClass<CacheEvents>>(eventNames: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
52
106
  withGroup(group: OneOrMore<string>): ICache<TType>;
53
107
  getGroup(): string;
54
108
  get(key: string): LazyPromise<TType | null>;
55
- add(key: string, value: TType, ttl?: TimeSpan | null): LazyPromise<boolean>;
109
+ add(key: string, value: TType,
110
+ /**
111
+ * @default null
112
+ */
113
+ ttl?: TimeSpan | null): LazyPromise<boolean>;
56
114
  update(key: string, value: TType): LazyPromise<boolean>;
57
- put(key: string, value: TType, ttl?: TimeSpan | null): LazyPromise<boolean>;
115
+ put(key: string, value: TType,
116
+ /**
117
+ * @default null
118
+ */
119
+ ttl?: TimeSpan | null): LazyPromise<boolean>;
58
120
  remove(key: string): LazyPromise<boolean>;
59
121
  increment(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
60
122
  clear(): LazyPromise<void>;
61
- addListener<TEventName extends keyof CacheEvents>(eventName: TEventName, listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
62
- addListenerMany<TEventName extends keyof CacheEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
63
- removeListener<TEventName extends keyof CacheEvents>(eventName: TEventName, listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
64
- removeListenerMany<TEventName extends keyof CacheEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
65
- listenOnce<TEventName extends keyof CacheEvents>(eventName: TEventName, listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<void>;
66
- subscribe<TEventName extends keyof CacheEvents>(eventName: TEventName, listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<Unsubscribe>;
67
- subscribeMany<TEventName extends keyof CacheEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<CacheEvents, TEventName>>): LazyPromise<Unsubscribe>;
68
123
  exists(key: string): LazyPromise<boolean>;
69
124
  existsMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
70
125
  missing(key: string): LazyPromise<boolean>;
@@ -78,6 +133,10 @@ export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
78
133
  putMany<TKeys extends string>(values: Record<TKeys, WithTtlValue<TType>>): LazyPromise<Record<TKeys, boolean>>;
79
134
  removeMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
80
135
  getAndRemove(key: string): LazyPromise<TType | null>;
81
- getOrAdd(key: string, valueToAdd: AsyncLazyable<GetOrAddValue<TType>>, ttl?: TimeSpan): LazyPromise<TType>;
136
+ getOrAdd(key: string, valueToAdd: AsyncLazyable<GetOrAddValue<TType>>,
137
+ /**
138
+ * @default {null}
139
+ */
140
+ ttl?: TimeSpan): LazyPromise<TType>;
82
141
  decrement(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
83
142
  }