@daiso-tech/core 0.21.1 → 0.22.1

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 (391) hide show
  1. package/dist/cjs/_module.js +2 -0
  2. package/dist/cjs/_module.js.map +1 -1
  3. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +3 -2
  4. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  5. package/dist/cjs/cache/contracts/cache.events.js +6 -2
  6. package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
  7. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +5 -5
  8. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  9. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +58 -21
  10. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  11. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +1 -1
  12. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  13. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js +0 -1
  14. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
  15. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +0 -4
  16. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  17. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js +0 -1
  18. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
  19. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +3 -7
  20. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  21. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js +0 -1
  22. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
  23. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +6 -5
  24. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  25. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js +0 -1
  26. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
  27. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +5 -8
  28. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  29. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +0 -1
  30. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
  31. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +0 -4
  32. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  33. package/dist/cjs/cache/implementations/derivables/cache/_module.js +0 -1
  34. package/dist/cjs/cache/implementations/derivables/cache/_module.js.map +1 -1
  35. package/dist/cjs/cache/implementations/derivables/cache/cache.js +213 -102
  36. package/dist/cjs/cache/implementations/derivables/cache/cache.js.map +1 -1
  37. package/dist/cjs/cache/implementations/derivables/cache-factory/_module.js +0 -1
  38. package/dist/cjs/cache/implementations/derivables/cache-factory/_module.js.map +1 -1
  39. package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory.js +0 -4
  40. package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  41. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +3 -3
  42. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  43. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +4 -3
  44. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  45. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +0 -1
  46. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
  47. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +0 -4
  48. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  49. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +0 -1
  50. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
  51. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +0 -4
  52. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  53. package/dist/cjs/event-bus/implementations/derivables/event-bus/_module.js +0 -1
  54. package/dist/cjs/event-bus/implementations/derivables/event-bus/_module.js.map +1 -1
  55. package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus.js +0 -4
  56. package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  57. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/_module.js +0 -1
  58. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/_module.js.map +1 -1
  59. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +0 -4
  60. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  61. package/dist/cjs/lock/contracts/_module.js +24 -0
  62. package/dist/cjs/lock/contracts/_module.js.map +1 -0
  63. package/dist/cjs/lock/contracts/database-lock-adapter.contract.js +3 -0
  64. package/dist/cjs/lock/contracts/database-lock-adapter.contract.js.map +1 -0
  65. package/dist/cjs/lock/contracts/lock-adapter.contract.js +3 -0
  66. package/dist/cjs/lock/contracts/lock-adapter.contract.js.map +1 -0
  67. package/dist/cjs/lock/contracts/lock-provider-factory.contract.js +3 -0
  68. package/dist/cjs/lock/contracts/lock-provider-factory.contract.js.map +1 -0
  69. package/dist/cjs/lock/contracts/lock-provider.contract.js +3 -0
  70. package/dist/cjs/lock/contracts/lock-provider.contract.js.map +1 -0
  71. package/dist/cjs/lock/contracts/lock.contract.js +3 -0
  72. package/dist/cjs/lock/contracts/lock.contract.js.map +1 -0
  73. package/dist/cjs/lock/contracts/lock.errors.js +131 -0
  74. package/dist/cjs/lock/contracts/lock.errors.js.map +1 -0
  75. package/dist/cjs/lock/contracts/lock.events.js +44 -0
  76. package/dist/cjs/lock/contracts/lock.events.js.map +1 -0
  77. package/dist/cjs/lock/implementations/_module.js +20 -0
  78. package/dist/cjs/lock/implementations/_module.js.map +1 -0
  79. package/dist/cjs/lock/implementations/_shared/_module.js +20 -0
  80. package/dist/cjs/lock/implementations/_shared/_module.js.map +1 -0
  81. package/dist/cjs/lock/implementations/_shared/database-lock-adapter.test-suite.js +285 -0
  82. package/dist/cjs/lock/implementations/_shared/database-lock-adapter.test-suite.js.map +1 -0
  83. package/dist/cjs/lock/implementations/_shared/lock-adapter.test-suite.js +238 -0
  84. package/dist/cjs/lock/implementations/_shared/lock-adapter.test-suite.js.map +1 -0
  85. package/dist/cjs/lock/implementations/_shared/lock-provider.test-suite.js +1841 -0
  86. package/dist/cjs/lock/implementations/_shared/lock-provider.test-suite.js.map +1 -0
  87. package/dist/cjs/lock/implementations/adapters/_module.js +22 -0
  88. package/dist/cjs/lock/implementations/adapters/_module.js.map +1 -0
  89. package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/_module.js +18 -0
  90. package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/_module.js.map +1 -0
  91. package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +126 -0
  92. package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -0
  93. package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/_module.js +18 -0
  94. package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/_module.js.map +1 -0
  95. package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +61 -0
  96. package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -0
  97. package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/_module.js +18 -0
  98. package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/_module.js.map +1 -0
  99. package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +107 -0
  100. package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -0
  101. package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/_module.js +18 -0
  102. package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/_module.js.map +1 -0
  103. package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +148 -0
  104. package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -0
  105. package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/_module.js +18 -0
  106. package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/_module.js.map +1 -0
  107. package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +131 -0
  108. package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -0
  109. package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/_module.js +18 -0
  110. package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/_module.js.map +1 -0
  111. package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +60 -0
  112. package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -0
  113. package/dist/cjs/lock/implementations/derivables/_module.js +19 -0
  114. package/dist/cjs/lock/implementations/derivables/_module.js.map +1 -0
  115. package/dist/cjs/lock/implementations/derivables/lock-provider/_module.js +18 -0
  116. package/dist/cjs/lock/implementations/derivables/lock-provider/_module.js.map +1 -0
  117. package/dist/cjs/lock/implementations/derivables/lock-provider/database-lock-adapter.js +80 -0
  118. package/dist/cjs/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -0
  119. package/dist/cjs/lock/implementations/derivables/lock-provider/lock-provider.js +162 -0
  120. package/dist/cjs/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -0
  121. package/dist/cjs/lock/implementations/derivables/lock-provider/lock.js +306 -0
  122. package/dist/cjs/lock/implementations/derivables/lock-provider/lock.js.map +1 -0
  123. package/dist/cjs/lock/implementations/derivables/lock-provider-factory/_module.js +18 -0
  124. package/dist/cjs/lock/implementations/derivables/lock-provider-factory/_module.js.map +1 -0
  125. package/dist/cjs/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +78 -0
  126. package/dist/cjs/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -0
  127. package/dist/cjs/utilities/contracts/_module.js +1 -0
  128. package/dist/cjs/utilities/contracts/_module.js.map +1 -1
  129. package/dist/cjs/utilities/contracts/serde-registrable.contract.js +3 -0
  130. package/dist/cjs/utilities/contracts/serde-registrable.contract.js.map +1 -0
  131. package/dist/cjs/utilities/functions.js +4 -0
  132. package/dist/cjs/utilities/functions.js.map +1 -1
  133. package/dist/esm/_module.js +2 -0
  134. package/dist/esm/_module.js.map +1 -1
  135. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +3 -2
  136. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  137. package/dist/esm/cache/contracts/cache.events.js +4 -1
  138. package/dist/esm/cache/contracts/cache.events.js.map +1 -1
  139. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +5 -5
  140. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  141. package/dist/esm/cache/implementations/_shared/cache.test-suite.js +59 -22
  142. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  143. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +1 -1
  144. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  145. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +0 -1
  146. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
  147. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +0 -4
  148. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  149. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +0 -1
  150. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
  151. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +3 -7
  152. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  153. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +0 -1
  154. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
  155. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +6 -5
  156. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  157. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +0 -1
  158. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
  159. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +5 -8
  160. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  161. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +0 -1
  162. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
  163. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +0 -4
  164. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  165. package/dist/esm/cache/implementations/derivables/cache/_module.js +0 -1
  166. package/dist/esm/cache/implementations/derivables/cache/_module.js.map +1 -1
  167. package/dist/esm/cache/implementations/derivables/cache/cache.js +214 -103
  168. package/dist/esm/cache/implementations/derivables/cache/cache.js.map +1 -1
  169. package/dist/esm/cache/implementations/derivables/cache-factory/_module.js +0 -1
  170. package/dist/esm/cache/implementations/derivables/cache-factory/_module.js.map +1 -1
  171. package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory.js +0 -4
  172. package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  173. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +3 -3
  174. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  175. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +5 -4
  176. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  177. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +0 -1
  178. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
  179. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +0 -4
  180. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  181. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +0 -1
  182. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
  183. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +0 -4
  184. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  185. package/dist/esm/event-bus/implementations/derivables/event-bus/_module.js +0 -1
  186. package/dist/esm/event-bus/implementations/derivables/event-bus/_module.js.map +1 -1
  187. package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus.js +0 -4
  188. package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  189. package/dist/esm/event-bus/implementations/derivables/event-bus-factory/_module.js +0 -1
  190. package/dist/esm/event-bus/implementations/derivables/event-bus-factory/_module.js.map +1 -1
  191. package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +0 -4
  192. package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  193. package/dist/esm/lock/contracts/_module.js +8 -0
  194. package/dist/esm/lock/contracts/_module.js.map +1 -0
  195. package/dist/esm/lock/contracts/database-lock-adapter.contract.js +1 -0
  196. package/dist/esm/lock/contracts/database-lock-adapter.contract.js.map +1 -0
  197. package/dist/esm/lock/contracts/lock-adapter.contract.js +1 -0
  198. package/dist/esm/lock/contracts/lock-adapter.contract.js.map +1 -0
  199. package/dist/esm/lock/contracts/lock-provider-factory.contract.js +1 -0
  200. package/dist/esm/lock/contracts/lock-provider-factory.contract.js.map +1 -0
  201. package/dist/esm/lock/contracts/lock-provider.contract.js +1 -0
  202. package/dist/esm/lock/contracts/lock-provider.contract.js.map +1 -0
  203. package/dist/esm/lock/contracts/lock.contract.js +1 -0
  204. package/dist/esm/lock/contracts/lock.contract.js.map +1 -0
  205. package/dist/esm/lock/contracts/lock.errors.js +120 -0
  206. package/dist/esm/lock/contracts/lock.errors.js.map +1 -0
  207. package/dist/esm/lock/contracts/lock.events.js +32 -0
  208. package/dist/esm/lock/contracts/lock.events.js.map +1 -0
  209. package/dist/esm/lock/implementations/_module.js +4 -0
  210. package/dist/esm/lock/implementations/_module.js.map +1 -0
  211. package/dist/esm/lock/implementations/_shared/_module.js +4 -0
  212. package/dist/esm/lock/implementations/_shared/_module.js.map +1 -0
  213. package/dist/esm/lock/implementations/_shared/database-lock-adapter.test-suite.js +282 -0
  214. package/dist/esm/lock/implementations/_shared/database-lock-adapter.test-suite.js.map +1 -0
  215. package/dist/esm/lock/implementations/_shared/lock-adapter.test-suite.js +235 -0
  216. package/dist/esm/lock/implementations/_shared/lock-adapter.test-suite.js.map +1 -0
  217. package/dist/esm/lock/implementations/_shared/lock-provider.test-suite.js +1838 -0
  218. package/dist/esm/lock/implementations/_shared/lock-provider.test-suite.js.map +1 -0
  219. package/dist/esm/lock/implementations/adapters/_module.js +6 -0
  220. package/dist/esm/lock/implementations/adapters/_module.js.map +1 -0
  221. package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/_module.js +2 -0
  222. package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/_module.js.map +1 -0
  223. package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +122 -0
  224. package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -0
  225. package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/_module.js +2 -0
  226. package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/_module.js.map +1 -0
  227. package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +57 -0
  228. package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -0
  229. package/dist/esm/lock/implementations/adapters/memory-lock-adapter/_module.js +2 -0
  230. package/dist/esm/lock/implementations/adapters/memory-lock-adapter/_module.js.map +1 -0
  231. package/dist/esm/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +103 -0
  232. package/dist/esm/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -0
  233. package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/_module.js +2 -0
  234. package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/_module.js.map +1 -0
  235. package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +144 -0
  236. package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -0
  237. package/dist/esm/lock/implementations/adapters/redis-lock-adapter/_module.js +2 -0
  238. package/dist/esm/lock/implementations/adapters/redis-lock-adapter/_module.js.map +1 -0
  239. package/dist/esm/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +127 -0
  240. package/dist/esm/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -0
  241. package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/_module.js +2 -0
  242. package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/_module.js.map +1 -0
  243. package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +56 -0
  244. package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -0
  245. package/dist/esm/lock/implementations/derivables/_module.js +3 -0
  246. package/dist/esm/lock/implementations/derivables/_module.js.map +1 -0
  247. package/dist/esm/lock/implementations/derivables/lock-provider/_module.js +2 -0
  248. package/dist/esm/lock/implementations/derivables/lock-provider/_module.js.map +1 -0
  249. package/dist/esm/lock/implementations/derivables/lock-provider/database-lock-adapter.js +76 -0
  250. package/dist/esm/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -0
  251. package/dist/esm/lock/implementations/derivables/lock-provider/lock-provider.js +158 -0
  252. package/dist/esm/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -0
  253. package/dist/esm/lock/implementations/derivables/lock-provider/lock.js +302 -0
  254. package/dist/esm/lock/implementations/derivables/lock-provider/lock.js.map +1 -0
  255. package/dist/esm/lock/implementations/derivables/lock-provider-factory/_module.js +2 -0
  256. package/dist/esm/lock/implementations/derivables/lock-provider-factory/_module.js.map +1 -0
  257. package/dist/esm/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +74 -0
  258. package/dist/esm/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -0
  259. package/dist/esm/utilities/contracts/_module.js +1 -0
  260. package/dist/esm/utilities/contracts/_module.js.map +1 -1
  261. package/dist/esm/utilities/contracts/serde-registrable.contract.js +1 -0
  262. package/dist/esm/utilities/contracts/serde-registrable.contract.js.map +1 -0
  263. package/dist/esm/utilities/functions.js +4 -0
  264. package/dist/esm/utilities/functions.js.map +1 -1
  265. package/dist/types/_module.d.ts +2 -0
  266. package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +2 -2
  267. package/dist/types/cache/contracts/cache-adapter.contract.d.ts +2 -2
  268. package/dist/types/cache/contracts/cache-factory.contract.d.ts +1 -2
  269. package/dist/types/cache/contracts/cache.contract.d.ts +116 -8
  270. package/dist/types/cache/contracts/cache.events.d.ts +12 -1
  271. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +2 -9
  272. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +3 -13
  273. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +0 -1
  274. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +23 -29
  275. package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +0 -1
  276. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +8 -18
  277. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +0 -1
  278. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +16 -26
  279. package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +0 -1
  280. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +12 -22
  281. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +0 -1
  282. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +23 -29
  283. package/dist/types/cache/implementations/derivables/cache/_module.d.ts +0 -1
  284. package/dist/types/cache/implementations/derivables/cache/cache.d.ts +38 -27
  285. package/dist/types/cache/implementations/derivables/cache-factory/_module.d.ts +0 -1
  286. package/dist/types/cache/implementations/derivables/cache-factory/cache-factory.d.ts +60 -26
  287. package/dist/types/collection/contracts/async-collection.contract.d.ts +68 -8
  288. package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +1 -1
  289. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +1 -1
  290. package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +2 -10
  291. package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +3 -13
  292. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +0 -1
  293. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +8 -18
  294. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.d.ts +0 -1
  295. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +11 -20
  296. package/dist/types/event-bus/implementations/derivables/event-bus/_module.d.ts +0 -1
  297. package/dist/types/event-bus/implementations/derivables/event-bus/event-bus.d.ts +29 -20
  298. package/dist/types/event-bus/implementations/derivables/event-bus-factory/_module.d.ts +0 -1
  299. package/dist/types/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +49 -46
  300. package/dist/types/lock/contracts/_module.d.ts +7 -0
  301. package/dist/types/lock/contracts/database-lock-adapter.contract.d.ts +49 -0
  302. package/dist/types/lock/contracts/lock-adapter.contract.d.ts +48 -0
  303. package/dist/types/lock/contracts/lock-provider-factory.contract.d.ts +36 -0
  304. package/dist/types/lock/contracts/lock-provider.contract.d.ts +92 -0
  305. package/dist/types/lock/contracts/lock.contract.d.ts +219 -0
  306. package/dist/types/lock/contracts/lock.errors.d.ts +66 -0
  307. package/dist/types/lock/contracts/lock.events.d.ts +83 -0
  308. package/dist/types/lock/implementations/_module.d.ts +3 -0
  309. package/dist/types/lock/implementations/_shared/_module.d.ts +3 -0
  310. package/dist/types/lock/implementations/_shared/database-lock-adapter.test-suite.d.ts +21 -0
  311. package/dist/types/lock/implementations/_shared/lock-adapter.test-suite.d.ts +21 -0
  312. package/dist/types/lock/implementations/_shared/lock-provider.test-suite.d.ts +23 -0
  313. package/dist/types/lock/implementations/adapters/_module.d.ts +5 -0
  314. package/dist/types/lock/implementations/adapters/kysely-lock-adapter/_module.d.ts +1 -0
  315. package/dist/types/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +52 -0
  316. package/dist/types/lock/implementations/adapters/libsql-lock-adapter/_module.d.ts +1 -0
  317. package/dist/types/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +58 -0
  318. package/dist/types/lock/implementations/adapters/memory-lock-adapter/_module.d.ts +1 -0
  319. package/dist/types/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +52 -0
  320. package/dist/types/lock/implementations/adapters/mongodb-lock-adapter/_module.d.ts +1 -0
  321. package/dist/types/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +60 -0
  322. package/dist/types/lock/implementations/adapters/redis-lock-adapter/_module.d.ts +1 -0
  323. package/dist/types/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +57 -0
  324. package/dist/types/lock/implementations/adapters/sqlite-lock-adapter/_module.d.ts +1 -0
  325. package/dist/types/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +57 -0
  326. package/dist/types/lock/implementations/derivables/_module.d.ts +2 -0
  327. package/dist/types/lock/implementations/derivables/lock-provider/_module.d.ts +1 -0
  328. package/dist/types/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +23 -0
  329. package/dist/types/lock/implementations/derivables/lock-provider/lock-provider.d.ts +114 -0
  330. package/dist/types/lock/implementations/derivables/lock-provider/lock.d.ts +73 -0
  331. package/dist/types/lock/implementations/derivables/lock-provider-factory/_module.d.ts +1 -0
  332. package/dist/types/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +124 -0
  333. package/dist/types/utilities/contracts/_module.d.ts +1 -0
  334. package/dist/types/utilities/contracts/serde-registrable.contract.d.ts +11 -0
  335. package/dist/types/utilities/types.d.ts +3 -1
  336. package/package.json +5 -3
  337. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +0 -56
  338. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +0 -1
  339. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +0 -26
  340. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +0 -1
  341. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +0 -44
  342. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +0 -1
  343. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +0 -32
  344. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +0 -1
  345. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +0 -56
  346. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +0 -1
  347. package/dist/cjs/cache/implementations/derivables/cache/cache-settings.js +0 -56
  348. package/dist/cjs/cache/implementations/derivables/cache/cache-settings.js.map +0 -1
  349. package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory-settings.js +0 -83
  350. package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory-settings.js.map +0 -1
  351. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +0 -26
  352. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +0 -1
  353. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +0 -38
  354. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +0 -1
  355. package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus-settings.js +0 -56
  356. package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus-settings.js.map +0 -1
  357. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js +0 -71
  358. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js.map +0 -1
  359. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +0 -52
  360. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +0 -1
  361. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +0 -22
  362. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +0 -1
  363. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +0 -40
  364. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +0 -1
  365. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +0 -28
  366. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +0 -1
  367. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +0 -52
  368. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +0 -1
  369. package/dist/esm/cache/implementations/derivables/cache/cache-settings.js +0 -52
  370. package/dist/esm/cache/implementations/derivables/cache/cache-settings.js.map +0 -1
  371. package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory-settings.js +0 -79
  372. package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory-settings.js.map +0 -1
  373. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +0 -22
  374. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +0 -1
  375. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +0 -34
  376. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +0 -1
  377. package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus-settings.js +0 -52
  378. package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus-settings.js.map +0 -1
  379. package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js +0 -67
  380. package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js.map +0 -1
  381. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.d.ts +0 -48
  382. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.d.ts +0 -26
  383. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.d.ts +0 -50
  384. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.d.ts +0 -32
  385. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.d.ts +0 -48
  386. package/dist/types/cache/implementations/derivables/cache/cache-settings.d.ts +0 -73
  387. package/dist/types/cache/implementations/derivables/cache-factory/cache-factory-settings.d.ts +0 -108
  388. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.d.ts +0 -27
  389. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.d.ts +0 -36
  390. package/dist/types/event-bus/implementations/derivables/event-bus/event-bus-settings.d.ts +0 -62
  391. package/dist/types/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.d.ts +0 -92
@@ -0,0 +1,114 @@
1
+ /**
2
+ * @module Lock
3
+ */
4
+ import type { ISerdeRegistrable } from "../../../../utilities/_module";
5
+ import { TimeSpan, type OneOrMore } from "../../../../utilities/_module";
6
+ import type { IDatabaseLockAdapter, LockEvents } from "../../../../lock/contracts/_module";
7
+ import { type ILock, type IGroupableLockProvider, type LockProviderCreateSettings, type ILockProvider, type ILockAdapter } from "../../../../lock/contracts/_module";
8
+ import type { BackoffPolicy, LazyPromise, RetryPolicy } from "../../../../async/_module";
9
+ import { Lock, type ISerializedLock } from "../../../../lock/implementations/derivables/lock-provider/lock";
10
+ import type { EventClass, EventInstance, IGroupableEventBus, Listener, Unsubscribe } from "../../../../event-bus/contracts/_module";
11
+ import type { IFlexibleSerde, ISerdeTransformer } from "../../../../serde/contracts/_module";
12
+ /**
13
+ * @group Derivables
14
+ */
15
+ export type LockProviderSettings = {
16
+ /**
17
+ * You can pass your owner id generator function.
18
+ */
19
+ createOwnerId?: () => string;
20
+ adapter: ILockAdapter | IDatabaseLockAdapter;
21
+ /**
22
+ * In order to listen to events of <i>{@link LockProvider}</i> class you must pass in <i>{@link IGroupableEventBus}</i>.
23
+ */
24
+ eventBus?: IGroupableEventBus<any>;
25
+ /**
26
+ * You can decide the default ttl value for <i>{@link ILock}</i> expiration. If null is passed then no ttl will be used by default.
27
+ * @default TimeSpan.fromMinutes(5);
28
+ */
29
+ defaultTtl?: TimeSpan | null;
30
+ /**
31
+ * The default refresh time used in the <i>{@link ILock}</i> <i>extend</i> method.
32
+ * @default TimeSpan.fromMinutes(5);
33
+ */
34
+ defaultRefreshTime?: TimeSpan;
35
+ /**
36
+ * The default retry attempt to use in the returned <i>LazyPromise</i>.
37
+ * @default {null}
38
+ */
39
+ retryAttempts?: number | null;
40
+ /**
41
+ * The default backof policy to use in the returned <i>LazyPromise</i>.
42
+ * @default {null}
43
+ */
44
+ backoffPolicy?: BackoffPolicy | null;
45
+ /**
46
+ * The default retry policy to use in the returned <i>LazyPromise</i>.
47
+ * @default {null}
48
+ */
49
+ retryPolicy?: RetryPolicy | null;
50
+ /**
51
+ * The default timeout to use in the returned <i>LazyPromise</i>.
52
+ * @default {null}
53
+ */
54
+ timeout?: TimeSpan | null;
55
+ };
56
+ /**
57
+ * <i>LockProvider</i> class can be derived from any <i>{@link ILockAdapter}</i> or <i>{@link IDatabaseLockAdapter}</i>.
58
+ * @group Derivables
59
+ */
60
+ export declare class LockProvider implements IGroupableLockProvider, ISerdeRegistrable, ISerdeTransformer<Lock, ISerializedLock> {
61
+ private static DEFAULT_TTL;
62
+ private static DEFAULT_REFRESH_TIME;
63
+ private static isDatabaseAdapter;
64
+ private readonly createOwnerId;
65
+ private readonly adapter;
66
+ private readonly defaultTtl;
67
+ private readonly defaultRefreshTime;
68
+ private readonly retryAttempts;
69
+ private readonly backoffPolicy;
70
+ private readonly retryPolicy;
71
+ private readonly timeout;
72
+ private readonly eventBus;
73
+ private readonly lockProviderEventBus;
74
+ get name(): string;
75
+ /**
76
+ *@example
77
+ * ```ts
78
+ * import { LockProvider, MemoryLockAdapter, EventBus, MemoryEventBusAdapter, registerLockEvents, reigsterLockErrors, SuperJsonSerde } from "@daiso-tech/core";
79
+ *
80
+ * const eventBus = new EventBus({
81
+ * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
82
+ * });
83
+ * const lockProvider = new LockProvider({
84
+ * adapter: new MemoryLockAdapter({
85
+ * rootGroup: "@global"
86
+ * }),
87
+ * eventBus,
88
+ * });
89
+ * const serde = new SuperJsonSerde();
90
+ * lockProvider.registerToSerde(serde);
91
+ * registerLockEvents(serde);
92
+ * reigsterLockErrors(serde);
93
+ * ```
94
+ */
95
+ constructor(settings: LockProviderSettings);
96
+ addListener<TEventClass extends EventClass<LockEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
97
+ addListenerMany<TEventClass extends EventClass<LockEvents>>(events: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
98
+ removeListener<TEventClass extends EventClass<LockEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
99
+ removeListenerMany<TEventClass extends EventClass<LockEvents>>(events: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
100
+ listenOnce<TEventClass extends EventClass<LockEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
101
+ subscribe<TEventClass extends EventClass<LockEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
102
+ subscribeMany<TEventClass extends EventClass<LockEvents>>(events: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
103
+ isApplicable(value: unknown): value is Lock;
104
+ serialize(deserializedValue: Lock): ISerializedLock;
105
+ deserialize(serializedValue: ISerializedLock): Lock;
106
+ create(key: OneOrMore<string>, settings?: LockProviderCreateSettings): ILock;
107
+ getGroup(): string;
108
+ withGroup(group: OneOrMore<string>): ILockProvider;
109
+ /**
110
+ * The <i>registerToSerde</i> method ensures that the <i>ILock</i> instance returned by the <i>create</i> method is serializable.
111
+ * This method must be called once before using the <i>LockProvider</i> class.
112
+ */
113
+ registerToSerde(serde: OneOrMore<IFlexibleSerde>): void;
114
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @module Lock
3
+ */
4
+ import type { LazyPromiseable, Result } from "../../../../utilities/_module";
5
+ import type { TimeSpan } from "../../../../utilities/_module";
6
+ import type { BackoffPolicy, RetryPolicy } from "../../../../async/_module";
7
+ import { LazyPromise } from "../../../../async/_module";
8
+ import type { ILockAdapter, LockEvents } from "../../../../lock/contracts/_module";
9
+ import { KeyAlreadyAcquiredLockError, type ILock } from "../../../../lock/contracts/_module";
10
+ import type { EventClass, Listener, EventInstance, Unsubscribe, IGroupableEventBus, IEventDispatcher } from "../../../../event-bus/contracts/_module";
11
+ /**
12
+ * @group Derivables
13
+ */
14
+ export type ISerializedLock = {
15
+ group: string;
16
+ key: string;
17
+ owner: string;
18
+ ttlInMs: number | null;
19
+ };
20
+ /**
21
+ * @internal
22
+ */
23
+ export type LockSettings = {
24
+ lockEventBus: IGroupableEventBus<LockEvents>;
25
+ lockProviderEventDispatcher: IEventDispatcher<LockEvents>;
26
+ adapter: ILockAdapter;
27
+ key: string;
28
+ owner: string;
29
+ defaultRefreshTime: TimeSpan;
30
+ ttl: TimeSpan | null;
31
+ lazyPromiseSettings: {
32
+ retryAttempts: number | null;
33
+ backoffPolicy: BackoffPolicy | null;
34
+ retryPolicy: RetryPolicy | null;
35
+ timeout: TimeSpan | null;
36
+ };
37
+ };
38
+ /**
39
+ * @internal
40
+ */
41
+ export declare class Lock implements ILock {
42
+ static serialize(deserializedValue: Lock): ISerializedLock;
43
+ private readonly lockProviderEventDispatcher;
44
+ private readonly lockEventBus;
45
+ private readonly adapter;
46
+ private readonly key;
47
+ private readonly owner;
48
+ private readonly ttl;
49
+ private readonly defaultRefreshTime;
50
+ private readonly lazyPromiseSettings;
51
+ constructor(settings: LockSettings);
52
+ private createLayPromise;
53
+ run<TValue = void>(asyncFn: LazyPromiseable<TValue>, shouldTimeout?: boolean): LazyPromise<Result<TValue, KeyAlreadyAcquiredLockError>>;
54
+ runOrFail<TValue = void>(asyncFn: LazyPromiseable<TValue>, shouldTimeout?: boolean): LazyPromise<TValue>;
55
+ acquire(): LazyPromise<boolean>;
56
+ acquireOrFail(): LazyPromise<void>;
57
+ release(): LazyPromise<boolean>;
58
+ releaseOrFail(): LazyPromise<void>;
59
+ forceRelease(): LazyPromise<void>;
60
+ isExpired(): LazyPromise<boolean>;
61
+ isLocked(): LazyPromise<boolean>;
62
+ refresh(ttl?: TimeSpan): LazyPromise<boolean>;
63
+ refreshOrFail(ttl?: TimeSpan): LazyPromise<void>;
64
+ getRemainingTime(): LazyPromise<TimeSpan | null>;
65
+ getOwner(): LazyPromise<string>;
66
+ addListener<TEventClass extends EventClass<LockEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
67
+ addListenerMany<TEventClass extends EventClass<LockEvents>>(events: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
68
+ removeListener<TEventClass extends EventClass<LockEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
69
+ removeListenerMany<TEventClass extends EventClass<LockEvents>>(events: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
70
+ listenOnce<TEventClass extends EventClass<LockEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
71
+ subscribe<TEventClass extends EventClass<LockEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
72
+ subscribeMany<TEventClass extends EventClass<LockEvents>>(events: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
73
+ }
@@ -0,0 +1 @@
1
+ export * from "../../../../lock/implementations/derivables/lock-provider-factory/lock-provider-factory";
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @module Lock
3
+ */
4
+ import type { BackoffPolicy, RetryPolicy } from "../../../../async/_module";
5
+ import type { IGroupableEventBus } from "../../../../event-bus/contracts/_module";
6
+ import type { IDatabaseLockAdapter, ILockAdapter } from "../../../../lock/contracts/_module";
7
+ import type { ILockProviderFactory } from "../../../../lock/contracts/lock-provider-factory.contract";
8
+ import type { IGroupableLockProvider } from "../../../../lock/contracts/lock-provider.contract";
9
+ import type { IFlexibleSerde } from "../../../../serde/contracts/_module";
10
+ import { type OneOrMore } from "../../../../utilities/_module";
11
+ import type { TimeSpan } from "../../../../utilities/_module";
12
+ /**
13
+ * @group Derivables
14
+ */
15
+ export type LockAdapters<TAdapters extends string> = Partial<Record<TAdapters, ILockAdapter | IDatabaseLockAdapter>>;
16
+ /**
17
+ * @group Derivables
18
+ */
19
+ export type LockProviderFactorySettings<TAdapters extends string> = {
20
+ /**
21
+ * You can pass one or more <i>{@link IFlexibleSerde}</i> that will be used to register all <i>{@link ILock}</i> related errors and events.
22
+ * @default {true}
23
+ */
24
+ serde: OneOrMore<IFlexibleSerde>;
25
+ /**
26
+ * If set to true, all <i>{@link ILock}</i> related errors will be registered with the specified <i>IFlexibleSerde</i> during constructor initialization.
27
+ * This ensures that all <i>{@link ILock}</i> related errors will be serialized correctly.
28
+ * @default {true}
29
+ */
30
+ shouldRegisterErrors?: boolean;
31
+ /**
32
+ * If set to true, all <i>{@link ILock}</i> related events will be registered with the specified <i>IFlexibleSerde</i> during constructor initialization.
33
+ * This ensures that all <i>{@link ILock}</i> related events will be serialized correctly.
34
+ * @default {true}
35
+ */
36
+ shouldRegisterEvents?: boolean;
37
+ adapters: LockAdapters<TAdapters>;
38
+ defaultAdapter?: NoInfer<TAdapters>;
39
+ /**
40
+ * You can pass your owner id generator function.
41
+ */
42
+ createOwnerId?: () => string;
43
+ /**
44
+ * In order to listen to events of <i>{@link LockProvider}</i> class you must pass in <i>{@link IGroupableEventBus}</i>.
45
+ */
46
+ eventBus?: IGroupableEventBus<any>;
47
+ /**
48
+ * You can decide the default ttl value for <i>{@link ILock}</i> expiration. If null is passed then no ttl will be used by default.
49
+ * @default TimeSpan.fromMinutes(5);
50
+ */
51
+ defaultTtl?: TimeSpan | null;
52
+ /**
53
+ * The default refreshtime used in the <i>{@link ILock}</i> <i>extend</i> method.
54
+ * @default TimeSpan.fromMinutes(5);`
55
+ */
56
+ defaultExtendTime?: TimeSpan;
57
+ /**
58
+ * The default retry attempt to use in the returned <i>LazyPromise</i>.
59
+ * @default {null}
60
+ */
61
+ retryAttempts?: number | null;
62
+ /**
63
+ * The default backof policy to use in the returned <i>LazyPromise</i>.
64
+ * @default {null}
65
+ */
66
+ backoffPolicy?: BackoffPolicy | null;
67
+ /**
68
+ * The default retry policy to use in the returned <i>LazyPromise</i>.
69
+ * @default {null}
70
+ */
71
+ retryPolicy?: RetryPolicy | null;
72
+ /**
73
+ * The default timeout to use in the returned <i>LazyPromise</i>.
74
+ * @default {null}
75
+ */
76
+ timeout?: TimeSpan | null;
77
+ };
78
+ /**
79
+ * @group Derivables
80
+ */
81
+ export declare class LockProviderFactory<TAdapters extends string> implements ILockProviderFactory<TAdapters> {
82
+ private readonly serde;
83
+ private readonly shouldRegisterErrors?;
84
+ private readonly shouldRegisterEvents?;
85
+ private readonly defaultAdapter?;
86
+ private readonly lockProviderRecord;
87
+ private readonly createOwnerId?;
88
+ private readonly eventBus?;
89
+ private readonly defaultTtl?;
90
+ private readonly defaultExtendTime?;
91
+ private readonly retryAttempts?;
92
+ private readonly backoffPolicy?;
93
+ private readonly retryPolicy?;
94
+ private readonly timeout?;
95
+ /**
96
+ * @example
97
+ * ```ts
98
+ * import { LockProviderFactory, MemoryLockAdapter, RedisLockAdapter, EventBus, MemoryEventBusAdapter } from "@daiso-tech/core";
99
+ * import Redis from "ioredis"
100
+ *
101
+ * const eventBus = new EventBus({
102
+ * adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
103
+ * });
104
+ * const serde = new SuperJsonSerde();
105
+ * const lockProviderFactory = new LockProviderFactory({
106
+ * serde,
107
+ * adapters: {
108
+ * memory: new MemoryLockAdapter({
109
+ * rootGroup: "@global"
110
+ * }),
111
+ * redis: new RedisLockAdapter({
112
+ * client: new Redis("YOUR_REDIS_CONNECTION"),
113
+ * rootGroup: "@global"
114
+ * }),
115
+ * },
116
+ * defaultAdapter: "memory",
117
+ * eventBus,
118
+ * });
119
+ * ```
120
+ */
121
+ constructor(settings: LockProviderFactorySettings<TAdapters>);
122
+ private init;
123
+ use(adapterName?: TAdapters | undefined): IGroupableLockProvider;
124
+ }
@@ -2,3 +2,4 @@ export * from "../../utilities/contracts/serialized-error.contract";
2
2
  export * from "../../utilities/contracts/buildable.contract";
3
3
  export * from "../../utilities/contracts/deinitizable.contract";
4
4
  export * from "../../utilities/contracts/initizable.contract";
5
+ export * from "../../utilities/contracts/serde-registrable.contract";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @module Utilities
3
+ */
4
+ import type { IFlexibleSerde } from "../../serde/contracts/_module";
5
+ import type { OneOrMore } from "../../utilities/types";
6
+ /**
7
+ * @group Contracts
8
+ */
9
+ export type ISerdeRegistrable = {
10
+ registerToSerde(serde: OneOrMore<IFlexibleSerde>): void;
11
+ };
@@ -1,12 +1,14 @@
1
1
  /**
2
2
  * @module Utilities
3
3
  */
4
+ import type { LazyPromise } from "../_module";
4
5
  export type OneOrMore<TItem> = TItem | [TItem, ...TItem[]];
5
6
  export type Lazyable<TValue> = TValue | (() => TValue);
6
7
  export type Promisable<TValue> = TValue | PromiseLike<TValue>;
7
- export type AsyncLazyable<TValue> = TValue | (() => Promisable<TValue>);
8
+ export type AsyncLazyable<TValue> = TValue | LazyPromise<TValue> | (() => Promisable<TValue>);
8
9
  export type Result<TValue, TError> = [TValue, null] | [null, TError];
9
10
  export type AsyncIterableValue<TInput> = Iterable<TInput> | AsyncIterable<TInput>;
10
11
  export type AnyFunction = (...parameters: unknown[]) => unknown;
11
12
  export type Func<TArgs extends unknown[], TReturn> = (...args_: TArgs) => TReturn;
12
13
  export type GetOrAddValue<TValue> = Awaited<TValue extends AnyFunction ? ReturnType<TValue> : TValue>;
14
+ export type LazyPromiseable<TValue> = (() => PromiseLike<TValue>) | LazyPromise<TValue>;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@daiso-tech/core",
3
3
  "private": false,
4
- "version": "0.21.1",
4
+ "version": "0.22.1",
5
5
  "author": "Yousif Abdulkarim",
6
6
  "license": "Apache-2.0",
7
7
  "main": "./dist/cjs/_module.js",
8
8
  "module": "./dist/esm/_module.js",
9
9
  "types": "./dist/types/_module.d.ts",
10
- "homepage": "https://yousif-khalil-abdulkarim.github.io/daiso-core/",
10
+ "homepage": "https://yousif-khalil-abdulkarim.github.io/daiso-core/modules.html",
11
11
  "repository": {
12
12
  "type": "git",
13
13
  "url": "https://github.com/yousif-khalil-abdulkarim/daiso-core.git"
@@ -53,6 +53,7 @@
53
53
  "@testcontainers/mongodb": "^10.13.2",
54
54
  "@testcontainers/redis": "^10.13.2",
55
55
  "@types/better-sqlite3": "^7.6.11",
56
+ "@types/uuid": "^10.0.0",
56
57
  "@typescript-eslint/eslint-plugin": "^8.1.0",
57
58
  "@typescript-eslint/parser": "^8.1.0",
58
59
  "@vitest/eslint-plugin": "^1.0.3",
@@ -99,6 +100,7 @@
99
100
  "dependencies": {
100
101
  "@libsql/kysely-libsql": "^0.4.0",
101
102
  "kysely": "^0.27.0",
102
- "superjson-cjs": "^2.2.3"
103
+ "superjson-cjs": "^2.2.3",
104
+ "uuid": "^11.0.5"
103
105
  }
104
106
  }
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LibsqlCacheAdapterSettingsBuilder = void 0;
4
- class LibsqlCacheAdapterSettingsBuilder {
5
- settings;
6
- constructor(settings = {}) {
7
- this.settings = settings;
8
- }
9
- setDatabase(database) {
10
- return new LibsqlCacheAdapterSettingsBuilder({
11
- ...this.settings,
12
- database,
13
- });
14
- }
15
- setTableName(name) {
16
- return new LibsqlCacheAdapterSettingsBuilder({
17
- ...this.settings,
18
- tableName: name,
19
- });
20
- }
21
- setSerde(serde) {
22
- return new LibsqlCacheAdapterSettingsBuilder({
23
- ...this.settings,
24
- serde,
25
- });
26
- }
27
- setEnableTransactions(enable) {
28
- return new LibsqlCacheAdapterSettingsBuilder({
29
- ...this.settings,
30
- enableTransactions: enable,
31
- });
32
- }
33
- setExpiredKeysRemovalInterval(interval) {
34
- return new LibsqlCacheAdapterSettingsBuilder({
35
- ...this.settings,
36
- expiredKeysRemovalInterval: interval,
37
- });
38
- }
39
- setShouldRemoveExpiredKeys(shouldRemove) {
40
- return new LibsqlCacheAdapterSettingsBuilder({
41
- ...this.settings,
42
- shouldRemoveExpiredKeys: shouldRemove,
43
- });
44
- }
45
- setRootGroup(group) {
46
- return new LibsqlCacheAdapterSettingsBuilder({
47
- ...this.settings,
48
- rootGroup: group,
49
- });
50
- }
51
- build() {
52
- return this.settings;
53
- }
54
- }
55
- exports.LibsqlCacheAdapterSettingsBuilder = LibsqlCacheAdapterSettingsBuilder;
56
- //# sourceMappingURL=libsql-cache-adapter-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"libsql-cache-adapter-settings.js","sourceRoot":"","sources":["../../../../../../src/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.ts"],"names":[],"mappings":";;;AAyBA,MAAa,iCAAiC;IAIb;IAA7B,YAA6B,WAAsB,EAAe;QAArC,aAAQ,GAAR,QAAQ,CAA6B;IAAG,CAAC;IAGtE,WAAW,CAAC,QAAgB;QACxB,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAGD,YAAY,CAAC,IAAY;QACrB,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;IACP,CAAC;IAGD,QAAQ,CAAC,KAAqB;QAC1B,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAGD,qBAAqB,CAAC,MAAe;QACjC,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,MAAM;SAC7B,CAAC,CAAC;IACP,CAAC;IAGD,6BAA6B,CAAC,QAAkB;QAC5C,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,0BAA0B,EAAE,QAAQ;SACvC,CAAC,CAAC;IACP,CAAC;IAGD,0BAA0B,CAAC,YAAqB;QAC5C,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,uBAAuB,EAAE,YAAY;SACxC,CAAC,CAAC;IACP,CAAC;IAGD,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QAGD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAnED,8EAmEC"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoryCacheAdapterSettingsBuilder = void 0;
4
- class MemoryCacheAdapterSettingsBuilder {
5
- settings;
6
- constructor(settings = {}) {
7
- this.settings = settings;
8
- }
9
- setMap(map) {
10
- return new MemoryCacheAdapterSettingsBuilder({
11
- ...this.settings,
12
- map,
13
- });
14
- }
15
- setRootGroup(group) {
16
- return new MemoryCacheAdapterSettingsBuilder({
17
- ...this.settings,
18
- rootGroup: group,
19
- });
20
- }
21
- build() {
22
- return this.settings;
23
- }
24
- }
25
- exports.MemoryCacheAdapterSettingsBuilder = MemoryCacheAdapterSettingsBuilder;
26
- //# sourceMappingURL=memory-cache-adapter-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-cache-adapter-settings.js","sourceRoot":"","sources":["../../../../../../src/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.ts"],"names":[],"mappings":";;;AAmBA,MAAa,iCAAiC;IAIb;IAA7B,YAA6B,WAAsB,EAAe;QAArC,aAAQ,GAAR,QAAQ,CAA6B;IAAG,CAAC;IAGtE,MAAM,CAAC,GAAyB;QAC5B,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,GAAG;SACN,CAAC,CAAC;IACP,CAAC;IAGD,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QAGD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AA3BD,8EA2BC"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MongodbCacheAdapterSettingsBuilder = void 0;
4
- class MongodbCacheAdapterSettingsBuilder {
5
- settings;
6
- constructor(settings = {}) {
7
- this.settings = settings;
8
- }
9
- setDatabase(database) {
10
- return new MongodbCacheAdapterSettingsBuilder({
11
- ...this.settings,
12
- database,
13
- });
14
- }
15
- setSerde(serde) {
16
- return new MongodbCacheAdapterSettingsBuilder({
17
- ...this.settings,
18
- serde,
19
- });
20
- }
21
- setRootGroup(group) {
22
- return new MongodbCacheAdapterSettingsBuilder({
23
- ...this.settings,
24
- rootGroup: group,
25
- });
26
- }
27
- setCollectionName(name) {
28
- return new MongodbCacheAdapterSettingsBuilder({
29
- ...this.settings,
30
- collectionName: name,
31
- });
32
- }
33
- setCollectionSettings(settings) {
34
- return new MongodbCacheAdapterSettingsBuilder({
35
- ...this.settings,
36
- collectionSettings: settings,
37
- });
38
- }
39
- build() {
40
- return this.settings;
41
- }
42
- }
43
- exports.MongodbCacheAdapterSettingsBuilder = MongodbCacheAdapterSettingsBuilder;
44
- //# sourceMappingURL=mongodb-cache-adapter-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongodb-cache-adapter-settings.js","sourceRoot":"","sources":["../../../../../../src/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.ts"],"names":[],"mappings":";;;AAmCA,MAAa,kCAAkC;IAId;IAA7B,YAA6B,WAAsB,EAAe;QAArC,aAAQ,GAAR,QAAQ,CAA6B;IAAG,CAAC;IAGtE,WAAW,CAAC,QAAY;QACpB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAGD,QAAQ,CAAC,KAAqB;QAC1B,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAGD,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;IACP,CAAC;IAGD,iBAAiB,CAAC,IAAY;QAC1B,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,cAAc,EAAE,IAAI;SACvB,CAAC,CAAC;IACP,CAAC;IAGD,qBAAqB,CAAC,QAA2B;QAC7C,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,QAAQ;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QAGD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAnDD,gFAmDC"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RedisCacheAdapterSettingsBuilder = void 0;
4
- class RedisCacheAdapterSettingsBuilder {
5
- settings;
6
- constructor(settings = {}) {
7
- this.settings = settings;
8
- }
9
- setDatabase(database) {
10
- return new RedisCacheAdapterSettingsBuilder({
11
- ...this.settings,
12
- database,
13
- });
14
- }
15
- setSerde(serde) {
16
- return new RedisCacheAdapterSettingsBuilder({
17
- ...this.settings,
18
- serde,
19
- });
20
- }
21
- setRootGroup(group) {
22
- return new RedisCacheAdapterSettingsBuilder({
23
- ...this.settings,
24
- rootGroup: group,
25
- });
26
- }
27
- build() {
28
- return this.settings;
29
- }
30
- }
31
- exports.RedisCacheAdapterSettingsBuilder = RedisCacheAdapterSettingsBuilder;
32
- //# sourceMappingURL=redis-cache-adapter-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis-cache-adapter-settings.js","sourceRoot":"","sources":["../../../../../../src/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.ts"],"names":[],"mappings":";;;AAqBA,MAAa,gCAAgC;IAIZ;IAA7B,YAA6B,WAAsB,EAAe;QAArC,aAAQ,GAAR,QAAQ,CAA6B;IAAG,CAAC;IAGtE,WAAW,CAAC,QAAe;QACvB,OAAO,IAAI,gCAAgC,CAAC;YACxC,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAGD,QAAQ,CAAC,KAAqB;QAC1B,OAAO,IAAI,gCAAgC,CAAC;YACxC,GAAG,IAAI,CAAC,QAAQ;YAChB,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAGD,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,gCAAgC,CAAC;YACxC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QAGD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAnCD,4EAmCC"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SqliteCacheAdapterSettingsBuilder = void 0;
4
- class SqliteCacheAdapterSettingsBuilder {
5
- settings;
6
- constructor(settings = {}) {
7
- this.settings = settings;
8
- }
9
- setDatabase(database) {
10
- return new SqliteCacheAdapterSettingsBuilder({
11
- ...this.settings,
12
- database,
13
- });
14
- }
15
- setTableName(name) {
16
- return new SqliteCacheAdapterSettingsBuilder({
17
- ...this.settings,
18
- tableName: name,
19
- });
20
- }
21
- setSerde(serde) {
22
- return new SqliteCacheAdapterSettingsBuilder({
23
- ...this.settings,
24
- serde,
25
- });
26
- }
27
- setEnableTransactions(enable) {
28
- return new SqliteCacheAdapterSettingsBuilder({
29
- ...this.settings,
30
- enableTransactions: enable,
31
- });
32
- }
33
- setExpiredKeysRemovalInterval(interval) {
34
- return new SqliteCacheAdapterSettingsBuilder({
35
- ...this.settings,
36
- expiredKeysRemovalInterval: interval,
37
- });
38
- }
39
- setShouldRemoveExpiredKeys(shouldRemove) {
40
- return new SqliteCacheAdapterSettingsBuilder({
41
- ...this.settings,
42
- shouldRemoveExpiredKeys: shouldRemove,
43
- });
44
- }
45
- setRootGroup(group) {
46
- return new SqliteCacheAdapterSettingsBuilder({
47
- ...this.settings,
48
- rootGroup: group,
49
- });
50
- }
51
- build() {
52
- return this.settings;
53
- }
54
- }
55
- exports.SqliteCacheAdapterSettingsBuilder = SqliteCacheAdapterSettingsBuilder;
56
- //# sourceMappingURL=sqlite-cache-adapter-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-cache-adapter-settings.js","sourceRoot":"","sources":["../../../../../../src/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.ts"],"names":[],"mappings":";;;AAyBA,MAAa,iCAAiC;IAIb;IAA7B,YAA6B,WAAsB,EAAe;QAArC,aAAQ,GAAR,QAAQ,CAA6B;IAAG,CAAC;IAGtE,WAAW,CAAC,QAAwB;QAChC,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAGD,YAAY,CAAC,IAAY;QACrB,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;IACP,CAAC;IAGD,QAAQ,CAAC,KAAqB;QAC1B,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAGD,qBAAqB,CAAC,MAAe;QACjC,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,MAAM;SAC7B,CAAC,CAAC;IACP,CAAC;IAGD,6BAA6B,CAAC,QAAkB;QAC5C,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,0BAA0B,EAAE,QAAQ;SACvC,CAAC,CAAC;IACP,CAAC;IAGD,0BAA0B,CAAC,YAAqB;QAC5C,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,uBAAuB,EAAE,YAAY;SACxC,CAAC,CAAC;IACP,CAAC;IAGD,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,iCAAiC,CAAC;YACzC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QAGD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAnED,8EAmEC"}