@daiso-tech/core 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/README.md +10 -0
  2. package/dist/async/utilities/delay/delay.d.ts +1 -12
  3. package/dist/async/utilities/delay/delay.js +1 -12
  4. package/dist/async/utilities/delay/delay.js.map +1 -1
  5. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +99 -65
  6. package/dist/async/utilities/lazy-promise/lazy-promise.js +151 -111
  7. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  8. package/dist/cache/contracts/_module-exports.d.ts +1 -0
  9. package/dist/cache/contracts/_module-exports.js +1 -0
  10. package/dist/cache/contracts/_module-exports.js.map +1 -1
  11. package/dist/cache/contracts/cache-adapter.contract.d.ts +19 -21
  12. package/dist/cache/contracts/cache-adapter.contract.js +1 -4
  13. package/dist/cache/contracts/cache-adapter.contract.js.map +1 -1
  14. package/dist/cache/contracts/cache-factory.contract.d.ts +1 -1
  15. package/dist/cache/contracts/cache.contract.d.ts +52 -88
  16. package/dist/cache/contracts/cache.contract.js +1 -2
  17. package/dist/cache/contracts/cache.contract.js.map +1 -1
  18. package/dist/cache/contracts/cache.errors.js +2 -5
  19. package/dist/cache/contracts/cache.errors.js.map +1 -1
  20. package/dist/cache/contracts/cache.events.d.ts +10 -10
  21. package/dist/cache/contracts/cache.events.js +2 -5
  22. package/dist/cache/contracts/cache.events.js.map +1 -1
  23. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +89 -0
  24. package/dist/cache/contracts/database-cache-adapter.contract.js +5 -0
  25. package/dist/cache/contracts/database-cache-adapter.contract.js.map +1 -0
  26. package/dist/cache/implementations/adapters/_module-exports.d.ts +0 -1
  27. package/dist/cache/implementations/adapters/_module-exports.js +0 -1
  28. package/dist/cache/implementations/adapters/_module-exports.js.map +1 -1
  29. package/dist/cache/implementations/adapters/{kysely-sqlite-cache-adapter → kysely-cache-adapter}/_module.d.ts +1 -1
  30. package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js +2 -0
  31. package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js.map +1 -0
  32. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +73 -0
  33. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +224 -0
  34. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -0
  35. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +29 -39
  36. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +45 -54
  37. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  38. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +17 -33
  39. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +43 -52
  40. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  41. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.d.ts +13 -0
  42. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +38 -0
  43. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -0
  44. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +27 -33
  45. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +145 -197
  46. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  47. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.d.ts +13 -0
  48. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +39 -0
  49. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -0
  50. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +16 -22
  51. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +51 -132
  52. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  53. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.d.ts +13 -0
  54. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js +69 -0
  55. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js.map +1 -0
  56. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +29 -40
  57. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +46 -55
  58. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  59. package/dist/cache/implementations/derivables/_module-exports.d.ts +1 -1
  60. package/dist/cache/implementations/derivables/_module-exports.js +1 -1
  61. package/dist/cache/implementations/derivables/_module-exports.js.map +1 -1
  62. package/dist/cache/implementations/derivables/cache/_module.d.ts +1 -0
  63. package/dist/cache/implementations/derivables/cache/_module.js +1 -0
  64. package/dist/cache/implementations/derivables/cache/_module.js.map +1 -1
  65. package/dist/cache/implementations/derivables/cache/cache.d.ts +122 -565
  66. package/dist/cache/implementations/derivables/cache/cache.js +342 -854
  67. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  68. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +21 -0
  69. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +110 -0
  70. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -0
  71. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.d.ts +9 -0
  72. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js +20 -0
  73. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -0
  74. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +65 -104
  75. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +101 -85
  76. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  77. package/dist/cache/implementations/test-utilities/_module-exports.d.ts +1 -0
  78. package/dist/cache/implementations/test-utilities/_module-exports.js +1 -0
  79. package/dist/cache/implementations/test-utilities/_module-exports.js.map +1 -1
  80. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +9 -11
  81. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +246 -247
  82. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  83. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +16 -30
  84. package/dist/cache/implementations/test-utilities/cache.test-suite.js +271 -996
  85. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  86. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +60 -0
  87. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +698 -0
  88. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -0
  89. package/dist/collection/contracts/async-collection.contract.d.ts +2 -3
  90. package/dist/collection/contracts/async-collection.contract.js +1 -12
  91. package/dist/collection/contracts/async-collection.contract.js.map +1 -1
  92. package/dist/collection/contracts/collection.contract.d.ts +1 -1
  93. package/dist/collection/contracts/collection.errors.d.ts +1 -1
  94. package/dist/collection/contracts/collection.errors.js +3 -6
  95. package/dist/collection/contracts/collection.errors.js.map +1 -1
  96. package/dist/collection/implementations/_shared.d.ts +4 -4
  97. package/dist/collection/implementations/_shared.js +6 -9
  98. package/dist/collection/implementations/_shared.js.map +1 -1
  99. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +2 -2
  100. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -1
  101. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +1 -1
  102. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +6 -5
  103. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  104. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +1 -1
  105. package/dist/collection/implementations/iterable-collection/iterable-collection.js +1 -1
  106. package/dist/collection/implementations/list-collection/list-collection.d.ts +1 -1
  107. package/dist/collection/implementations/list-collection/list-collection.js +1 -1
  108. package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +0 -9
  109. package/dist/event-bus/contracts/event-bus.contract.d.ts +5 -5
  110. package/dist/event-bus/contracts/event-bus.contract.js.map +1 -1
  111. package/dist/event-bus/contracts/event-bus.errors.js +2 -5
  112. package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
  113. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +9 -29
  114. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +14 -35
  115. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  116. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +1 -3
  117. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +1 -7
  118. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  119. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +8 -15
  120. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +15 -34
  121. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  122. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +78 -267
  123. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +119 -323
  124. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  125. package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +13 -0
  126. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +42 -0
  127. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -0
  128. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +70 -96
  129. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +100 -90
  130. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  131. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -48
  132. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +31 -122
  133. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  134. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +2 -50
  135. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +41 -89
  136. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  137. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +0 -9
  138. package/dist/lock/contracts/lock-adapter.contract.d.ts +0 -9
  139. package/dist/lock/contracts/lock-provider.contract.d.ts +1 -1
  140. package/dist/lock/contracts/lock.errors.js +2 -5
  141. package/dist/lock/contracts/lock.errors.js.map +1 -1
  142. package/dist/lock/contracts/lock.events.js +2 -5
  143. package/dist/lock/contracts/lock.events.js.map +1 -1
  144. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +0 -5
  145. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +2 -21
  146. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  147. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +11 -16
  148. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +11 -20
  149. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
  150. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +7 -26
  151. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +7 -35
  152. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
  153. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +13 -20
  154. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +13 -37
  155. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  156. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +4 -22
  157. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +4 -31
  158. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
  159. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +12 -17
  160. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +12 -21
  161. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
  162. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +0 -2
  163. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +2 -8
  164. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
  165. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.d.ts +9 -0
  166. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +17 -0
  167. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -0
  168. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +115 -372
  169. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +197 -455
  170. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  171. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +15 -17
  172. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +42 -40
  173. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  174. package/dist/lock/implementations/derivables/lock-provider/lock-state.d.ts +3 -3
  175. package/dist/lock/implementations/derivables/lock-provider/lock-state.js.map +1 -1
  176. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +30 -754
  177. package/dist/lock/implementations/derivables/lock-provider/lock.js +94 -812
  178. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  179. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +58 -161
  180. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +116 -122
  181. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  182. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +4 -5
  183. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +172 -247
  184. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
  185. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +5 -8
  186. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +93 -98
  187. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
  188. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +15 -20
  189. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +133 -137
  190. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  191. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +1 -2
  192. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +1 -1
  193. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +2 -2
  194. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +1 -1
  195. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +1 -2
  196. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +1 -1
  197. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +1 -2
  198. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +1 -1
  199. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +2 -2
  200. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +2 -2
  201. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  202. package/dist/serde/implementations/derivables/serde.d.ts +14 -14
  203. package/dist/serde/implementations/derivables/serde.js +14 -15
  204. package/dist/serde/implementations/derivables/serde.js.map +1 -1
  205. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +4 -4
  206. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +3 -3
  207. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +5 -5
  208. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +4 -4
  209. package/dist/utilities/_module-exports.d.ts +1 -2
  210. package/dist/utilities/_module-exports.js +1 -2
  211. package/dist/utilities/_module-exports.js.map +1 -1
  212. package/dist/utilities/classes/_module.d.ts +4 -0
  213. package/dist/utilities/classes/_module.js +5 -0
  214. package/dist/utilities/classes/_module.js.map +1 -0
  215. package/dist/utilities/classes/key-prefixer/_module.d.ts +2 -0
  216. package/dist/utilities/classes/key-prefixer/_module.js +3 -0
  217. package/dist/utilities/classes/key-prefixer/_module.js.map +1 -0
  218. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.d.ts +28 -0
  219. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js +5 -0
  220. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js.map +1 -0
  221. package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +73 -0
  222. package/dist/utilities/classes/key-prefixer/key-prefixer.js +135 -0
  223. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -0
  224. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.d.ts +1 -0
  225. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js +2 -0
  226. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js.map +1 -0
  227. package/dist/utilities/classes/kysely-table-name-transformer-plugin/kysely-table-name-transformer-plugin.js.map +1 -0
  228. package/dist/utilities/classes/pipeline/_module.d.ts +1 -0
  229. package/dist/utilities/classes/pipeline/_module.js +2 -0
  230. package/dist/utilities/classes/pipeline/_module.js.map +1 -0
  231. package/dist/utilities/{pipeline → classes/pipeline}/pipeline.d.ts +3 -2
  232. package/dist/utilities/{pipeline → classes/pipeline}/pipeline.js +3 -2
  233. package/dist/utilities/classes/pipeline/pipeline.js.map +1 -0
  234. package/dist/utilities/classes/time-span/_module.d.ts +1 -0
  235. package/dist/utilities/classes/time-span/_module.js +2 -0
  236. package/dist/utilities/classes/time-span/_module.js.map +1 -0
  237. package/dist/utilities/{time-span → classes/time-span}/time-span.d.ts +2 -1
  238. package/dist/utilities/{time-span → classes/time-span}/time-span.js +1 -0
  239. package/dist/utilities/classes/time-span/time-span.js.map +1 -0
  240. package/dist/utilities/contracts/_module.d.ts +2 -1
  241. package/dist/utilities/contracts/_module.js +2 -1
  242. package/dist/utilities/contracts/_module.js.map +1 -1
  243. package/dist/utilities/contracts/prunable.contract.d.ts +11 -0
  244. package/dist/utilities/contracts/prunable.contract.js +5 -0
  245. package/dist/utilities/contracts/prunable.contract.js.map +1 -0
  246. package/dist/utilities/functions.d.ts +30 -2
  247. package/dist/utilities/functions.js +66 -4
  248. package/dist/utilities/functions.js.map +1 -1
  249. package/dist/utilities/types.d.ts +47 -14
  250. package/package.json +14 -13
  251. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +0 -2
  252. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +0 -1
  253. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +0 -61
  254. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +0 -318
  255. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +0 -1
  256. package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.d.ts +0 -1
  257. package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.js +0 -2
  258. package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.js.map +0 -1
  259. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +0 -22
  260. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +0 -39
  261. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +0 -1
  262. package/dist/utilities/kysely/_module.d.ts +0 -1
  263. package/dist/utilities/kysely/_module.js +0 -2
  264. package/dist/utilities/kysely/_module.js.map +0 -1
  265. package/dist/utilities/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  266. package/dist/utilities/pipeline/_module.d.ts +0 -1
  267. package/dist/utilities/pipeline/_module.js +0 -2
  268. package/dist/utilities/pipeline/_module.js.map +0 -1
  269. package/dist/utilities/pipeline/pipeline.js.map +0 -1
  270. package/dist/utilities/time-span/_module.d.ts +0 -1
  271. package/dist/utilities/time-span/_module.js +0 -2
  272. package/dist/utilities/time-span/_module.js.map +0 -1
  273. package/dist/utilities/time-span/time-span.js.map +0 -1
  274. /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.d.ts +0 -0
  275. /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.js +0 -0
@@ -8,13 +8,13 @@ import { TimeSpan } from "../../../utilities/_module-exports.js";
8
8
  /**
9
9
  * The <i>databaseLockAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link IDatabaseLockAdapter}</i> with <i>vitest</i>.
10
10
  *
11
- * IMPORT_PATH: ```"@daiso-tech/core/lock/implementations/test-utilities"```
11
+ * IMPORT_PATH: ```"@daiso-tech/core/lock/test-utilities"```
12
12
  * @group Utilities
13
13
  * @example
14
14
  * ```ts
15
15
  * import { afterEach, beforeEach, describe, expect, test } from "vitest";
16
- * import { databaseLockAdapterTestSuite } from "@@daiso-tech/core/lock/implementations/test-utilities";
17
- * import { LibsqlLockAdapter } from "@daiso-tech/core/lock/implementations/adapters";
16
+ * import { databaseLockAdapterTestSuite } from "@@daiso-tech/core/lock/test-utilities";
17
+ * import { LibsqlLockAdapter } from "@daiso-tech/core/lock/adapters";
18
18
  * import { type Client, createClient } from "@libsql/client";
19
19
  *
20
20
  * describe("class: LibsqlLockAdapter", () => {
@@ -33,7 +33,6 @@ import { TimeSpan } from "../../../utilities/_module-exports.js";
33
33
  * database: client,
34
34
  * tableName: "custom_table",
35
35
  * shouldRemoveExpiredKeys: false,
36
- * rootGroup: "@a",
37
36
  * });
38
37
  * await lockAdapter.init();
39
38
  * return lockAdapter;
@@ -49,280 +48,206 @@ import { TimeSpan } from "../../../utilities/_module-exports.js";
49
48
  */
50
49
  export function databaseLockAdapterTestSuite(settings) {
51
50
  const { expect, test, createAdapter, describe, beforeEach } = settings;
52
- let databaseLockAdapterA;
53
- let databaseLockAdapterB;
51
+ let adapter;
54
52
  beforeEach(async () => {
55
- databaseLockAdapterA = await createAdapter();
56
- databaseLockAdapterB = databaseLockAdapterA.withGroup("b");
53
+ adapter = await createAdapter();
57
54
  });
58
55
  const ttl = TimeSpan.fromMilliseconds(50);
59
- describe("Api tests:", () => {
60
- describe("method: insert", () => {
61
- test("Should insert lock when not existing", async () => {
62
- const key = "a";
63
- const owner = "b";
64
- const expiration = null;
65
- await databaseLockAdapterA.insert(key, owner, expiration);
66
- const result = await databaseLockAdapterA.find(key);
67
- expect(result).toEqual({
68
- owner,
69
- expiration,
70
- });
71
- });
72
- test("Should insert lock with expiration when not existing", async () => {
73
- const key = "a";
74
- const owner = "b";
75
- const expiration = ttl.toEndDate();
76
- await databaseLockAdapterA.insert(key, owner, expiration);
77
- const result = await databaseLockAdapterA.find(key);
78
- expect(result).toEqual({
79
- owner,
80
- expiration,
81
- });
82
- });
83
- test("Should throw error when lock already existing", async () => {
84
- const key = "a";
85
- const owner = "b";
86
- const expiration = null;
87
- await databaseLockAdapterA.insert(key, owner, expiration);
88
- const result = databaseLockAdapterA.insert(key, owner, expiration);
89
- await expect(result).rejects.toBeDefined();
56
+ describe("method: insert", () => {
57
+ test("Should insert lock when not existing", async () => {
58
+ const key = "a";
59
+ const owner = "b";
60
+ const expiration = null;
61
+ await adapter.insert(key, owner, expiration);
62
+ const result = await adapter.find(key);
63
+ expect(result).toEqual({
64
+ owner,
65
+ expiration,
90
66
  });
91
67
  });
92
- describe("method: update", () => {
93
- test("Should return false when lock has no expiration", async () => {
94
- const key = "a";
95
- const owner1 = "b";
96
- const expiration = null;
97
- await databaseLockAdapterA.insert(key, owner1, expiration);
98
- const owner2 = "c";
99
- const result = await databaseLockAdapterA.update(key, owner2, expiration);
100
- expect(result).toBe(0);
101
- });
102
- test("Should not update when lock has no expiration", async () => {
103
- const key = "a";
104
- const owner1 = "b";
105
- const expiration = null;
106
- await databaseLockAdapterA.insert(key, owner1, expiration);
107
- const owner2 = "c";
108
- await databaseLockAdapterA.update(key, owner2, expiration);
109
- const result = await databaseLockAdapterA.find(key);
110
- expect(result).toEqual({
111
- owner: owner1,
112
- expiration,
113
- });
114
- });
115
- test("Should return false when lock has not expired", async () => {
116
- vi.useFakeTimers();
117
- const key = "a";
118
- const owner1 = "b";
119
- const expiration1 = ttl.toEndDate();
120
- await databaseLockAdapterA.insert(key, owner1, expiration1);
121
- vi.advanceTimersByTime(ttl.divide(2).toMilliseconds());
122
- const owner2 = "c";
123
- const expiration2 = ttl.addMilliseconds(25).toEndDate();
124
- const result = await databaseLockAdapterA.update(key, owner2, expiration2);
125
- expect(result).toBe(0);
126
- vi.useRealTimers();
127
- });
128
- test("Should not update when lock has not expired", async () => {
129
- vi.useFakeTimers();
130
- const key = "a";
131
- const owner1 = "b";
132
- const expiration1 = ttl.toEndDate();
133
- await databaseLockAdapterA.insert(key, owner1, expiration1);
134
- vi.advanceTimersByTime(ttl.divide(2).toMilliseconds());
135
- const owner2 = "c";
136
- const expiration2 = ttl.addMilliseconds(25).toEndDate();
137
- await databaseLockAdapterA.update(key, owner2, expiration2);
138
- const result = await databaseLockAdapterA.find(key);
139
- expect(result).toEqual({
140
- owner: owner1,
141
- expiration: expiration1,
142
- });
143
- vi.useRealTimers();
144
- });
145
- test("Should return true when lock has expired", async () => {
146
- vi.useFakeTimers();
147
- const key = "a";
148
- const owner1 = "b";
149
- const expiration1 = ttl.toEndDate();
150
- await databaseLockAdapterA.insert(key, owner1, expiration1);
151
- vi.advanceTimersByTime(ttl.addMilliseconds(1).toMilliseconds());
152
- const owner2 = "c";
153
- const expiration2 = ttl.addMilliseconds(25).toEndDate();
154
- const result = await databaseLockAdapterA.update(key, owner2, expiration2);
155
- expect(result).toBe(1);
156
- vi.useRealTimers();
157
- });
158
- test("Should update when lock has expired", async () => {
159
- vi.useFakeTimers();
160
- const key = "a";
161
- const owner1 = "b";
162
- const expiration1 = ttl.toEndDate();
163
- await databaseLockAdapterA.insert(key, owner1, expiration1);
164
- vi.advanceTimersByTime(ttl.addMilliseconds(1).toMilliseconds());
165
- const owner2 = "c";
166
- const expiration2 = ttl.addMilliseconds(25).toEndDate();
167
- await databaseLockAdapterA.update(key, owner2, expiration2);
168
- const result = await databaseLockAdapterA.find(key);
169
- expect(result).toEqual({
170
- owner: owner2,
171
- expiration: expiration2,
172
- });
173
- vi.useRealTimers();
68
+ test("Should insert lock with expiration when not existing", async () => {
69
+ const key = "a";
70
+ const owner = "b";
71
+ const expiration = ttl.toEndDate();
72
+ await adapter.insert(key, owner, expiration);
73
+ const result = await adapter.find(key);
74
+ expect(result).toEqual({
75
+ owner,
76
+ expiration,
174
77
  });
175
78
  });
176
- describe("method: remove", () => {
177
- test("Should not remove lock when not same owner", async () => {
178
- const key = "a";
179
- const owner1 = "b";
180
- const expiration = null;
181
- await databaseLockAdapterA.insert(key, owner1, expiration);
182
- const owner2 = "c";
183
- await databaseLockAdapterA.remove(key, owner2);
184
- const result = await databaseLockAdapterA.find(key);
185
- expect(result).toEqual({
186
- owner: owner1,
187
- expiration,
188
- });
189
- });
190
- test("Should remove lock when same owner", async () => {
191
- const key = "a";
192
- const owner = "b";
193
- const expiration = null;
194
- await databaseLockAdapterA.insert(key, owner, expiration);
195
- await databaseLockAdapterA.remove(key, owner);
196
- const result = await databaseLockAdapterA.find(key);
197
- expect(result).toBeNull();
198
- });
199
- test("Should remove lock when given null as owner", async () => {
200
- const key = "a";
201
- const owner = "b";
202
- const expiration = null;
203
- await databaseLockAdapterA.insert(key, owner, expiration);
204
- await databaseLockAdapterA.remove(key, null);
205
- const result = await databaseLockAdapterA.find(key);
206
- expect(result).toBeNull();
207
- });
79
+ test("Should throw error when lock already existing", async () => {
80
+ const key = "a";
81
+ const owner = "b";
82
+ const expiration = null;
83
+ await adapter.insert(key, owner, expiration);
84
+ const result = adapter.insert(key, owner, expiration);
85
+ await expect(result).rejects.toBeDefined();
208
86
  });
209
- describe("method: refresh", () => {
210
- test("Should return false when not same owner", async () => {
211
- const key = "a";
212
- const owner1 = "b";
213
- const expiration1 = ttl.toEndDate();
214
- await databaseLockAdapterA.insert(key, owner1, expiration1);
215
- const expiration2 = ttl.multiply(2).toEndDate();
216
- const owner2 = "c";
217
- const result = await databaseLockAdapterA.refresh(key, owner2, expiration2);
218
- expect(result).toBe(0);
219
- });
220
- test("Should not update lock when not same owner", async () => {
221
- const key = "a";
222
- const owner1 = "b";
223
- const expiration1 = ttl.toEndDate();
224
- await databaseLockAdapterA.insert(key, owner1, expiration1);
225
- const expiration2 = ttl.multiply(2).toEndDate();
226
- const owner2 = "c";
227
- await databaseLockAdapterA.refresh(key, owner2, expiration2);
228
- const result = await databaseLockAdapterA.find(key);
229
- expect(result).toEqual({
230
- owner: owner1,
231
- expiration: expiration1,
232
- });
233
- });
234
- test("Should return true when same owner", async () => {
235
- const key = "a";
236
- const owner = "b";
237
- const expiration1 = ttl.toEndDate();
238
- await databaseLockAdapterA.insert(key, owner, expiration1);
239
- const expiration2 = ttl.multiply(2).toEndDate();
240
- const result = await databaseLockAdapterA.refresh(key, owner, expiration2);
241
- expect(result).toBe(1);
87
+ });
88
+ describe("method: update", () => {
89
+ test("Should return false when lock has no expiration", async () => {
90
+ const key = "a";
91
+ const owner1 = "b";
92
+ const expiration = null;
93
+ await adapter.insert(key, owner1, expiration);
94
+ const owner2 = "c";
95
+ const result = await adapter.update(key, owner2, expiration);
96
+ expect(result).toBe(0);
97
+ });
98
+ test("Should not update when lock has no expiration", async () => {
99
+ const key = "a";
100
+ const owner1 = "b";
101
+ const expiration = null;
102
+ await adapter.insert(key, owner1, expiration);
103
+ const owner2 = "c";
104
+ await adapter.update(key, owner2, expiration);
105
+ const result = await adapter.find(key);
106
+ expect(result).toEqual({
107
+ owner: owner1,
108
+ expiration,
242
109
  });
243
- test("Should update lock when same owner", async () => {
244
- const key = "a";
245
- const owner = "b";
246
- const expiration1 = ttl.toEndDate();
247
- await databaseLockAdapterA.insert(key, owner, expiration1);
248
- const expiration2 = ttl.multiply(2).toEndDate();
249
- await databaseLockAdapterA.refresh(key, owner, expiration2);
250
- const result = await databaseLockAdapterA.find(key);
251
- expect(result).toEqual({
252
- owner,
253
- expiration: expiration2,
254
- });
110
+ });
111
+ test("Should return false when lock has not expired", async () => {
112
+ vi.useFakeTimers();
113
+ const key = "a";
114
+ const owner1 = "b";
115
+ const expiration1 = ttl.toEndDate();
116
+ await adapter.insert(key, owner1, expiration1);
117
+ vi.advanceTimersByTime(ttl.divide(2).toMilliseconds());
118
+ const owner2 = "c";
119
+ const expiration2 = ttl.addMilliseconds(25).toEndDate();
120
+ const result = await adapter.update(key, owner2, expiration2);
121
+ expect(result).toBe(0);
122
+ vi.useRealTimers();
123
+ });
124
+ test("Should not update when lock has not expired", async () => {
125
+ vi.useFakeTimers();
126
+ const key = "a";
127
+ const owner1 = "b";
128
+ const expiration1 = ttl.toEndDate();
129
+ await adapter.insert(key, owner1, expiration1);
130
+ vi.advanceTimersByTime(ttl.divide(2).toMilliseconds());
131
+ const owner2 = "c";
132
+ const expiration2 = ttl.addMilliseconds(25).toEndDate();
133
+ await adapter.update(key, owner2, expiration2);
134
+ const result = await adapter.find(key);
135
+ expect(result).toEqual({
136
+ owner: owner1,
137
+ expiration: expiration1,
255
138
  });
139
+ vi.useRealTimers();
256
140
  });
257
- });
258
- describe("Group tests:", () => {
259
- test("method: insert", async () => {
141
+ test("Should return true when lock has expired", async () => {
142
+ vi.useFakeTimers();
260
143
  const key = "a";
261
- const owner = "b";
262
- const expiration = ttl.toEndDate();
263
- const result1 = databaseLockAdapterA.insert(key, owner, expiration);
264
- const result2 = databaseLockAdapterB.insert(key, owner, expiration);
265
- await expect(result1).resolves.toBeUndefined();
266
- await expect(result2).resolves.toBeUndefined();
144
+ const owner1 = "b";
145
+ const expiration1 = ttl.toEndDate();
146
+ await adapter.insert(key, owner1, expiration1);
147
+ vi.advanceTimersByTime(ttl.addMilliseconds(1).toMilliseconds());
148
+ const owner2 = "c";
149
+ const expiration2 = ttl.addMilliseconds(25).toEndDate();
150
+ const result = await adapter.update(key, owner2, expiration2);
151
+ expect(result).toBe(1);
152
+ vi.useRealTimers();
267
153
  });
268
- test("method: update", async () => {
154
+ test("Should update when lock has expired", async () => {
269
155
  vi.useFakeTimers();
270
156
  const key = "a";
271
157
  const owner1 = "b";
272
- const expiration = ttl.toEndDate();
273
- await databaseLockAdapterA.insert(key, owner1, expiration);
274
- await databaseLockAdapterB.insert(key, owner1, expiration);
275
- vi.advanceTimersByTime(ttl.toMilliseconds());
158
+ const expiration1 = ttl.toEndDate();
159
+ await adapter.insert(key, owner1, expiration1);
160
+ vi.advanceTimersByTime(ttl.addMilliseconds(1).toMilliseconds());
276
161
  const owner2 = "c";
277
- await databaseLockAdapterA.update(key, owner2, null);
278
- const result1 = await databaseLockAdapterA.find(key);
279
- expect(result1).toEqual({
162
+ const expiration2 = ttl.addMilliseconds(25).toEndDate();
163
+ await adapter.update(key, owner2, expiration2);
164
+ const result = await adapter.find(key);
165
+ expect(result).toEqual({
280
166
  owner: owner2,
281
- expiration: null,
167
+ expiration: expiration2,
282
168
  });
283
- const result2 = await databaseLockAdapterB.find(key);
284
- expect(result2).toEqual({
169
+ vi.useRealTimers();
170
+ });
171
+ });
172
+ describe("method: remove", () => {
173
+ test("Should not remove lock when not same owner", async () => {
174
+ const key = "a";
175
+ const owner1 = "b";
176
+ const expiration = null;
177
+ await adapter.insert(key, owner1, expiration);
178
+ const owner2 = "c";
179
+ await adapter.remove(key, owner2);
180
+ const result = await adapter.find(key);
181
+ expect(result).toEqual({
285
182
  owner: owner1,
286
183
  expiration,
287
184
  });
288
- vi.useRealTimers();
289
185
  });
290
- test("method: remove", async () => {
186
+ test("Should remove lock when same owner", async () => {
291
187
  const key = "a";
292
188
  const owner = "b";
293
- const expiration = ttl.toEndDate();
294
- await databaseLockAdapterA.insert(key, owner, expiration);
295
- await databaseLockAdapterB.insert(key, owner, expiration);
296
- await databaseLockAdapterA.remove(key, owner);
297
- const result1 = await databaseLockAdapterA.find(key);
298
- expect(result1).toBeNull();
299
- const result2 = await databaseLockAdapterB.find(key);
300
- expect(result2).toEqual({
301
- owner,
302
- expiration,
303
- });
189
+ const expiration = null;
190
+ await adapter.insert(key, owner, expiration);
191
+ await adapter.remove(key, owner);
192
+ const result = await adapter.find(key);
193
+ expect(result).toBeNull();
304
194
  });
305
- test("method: refresh", async () => {
306
- vi.useFakeTimers();
195
+ test("Should remove lock when given null as owner", async () => {
307
196
  const key = "a";
308
197
  const owner = "b";
309
- const expiration = ttl.toEndDate();
310
- await databaseLockAdapterA.insert(key, owner, expiration);
311
- await databaseLockAdapterB.insert(key, owner, expiration);
312
- vi.advanceTimersByTime(ttl.toMilliseconds());
313
- const newExpiration = ttl.multiply(2).toEndDate();
314
- await databaseLockAdapterA.refresh(key, owner, newExpiration);
315
- const result1 = await databaseLockAdapterA.find(key);
316
- expect(result1).toEqual({
317
- owner,
318
- expiration: newExpiration,
198
+ const expiration = null;
199
+ await adapter.insert(key, owner, expiration);
200
+ await adapter.remove(key, null);
201
+ const result = await adapter.find(key);
202
+ expect(result).toBeNull();
203
+ });
204
+ });
205
+ describe("method: refresh", () => {
206
+ test("Should return false when not same owner", async () => {
207
+ const key = "a";
208
+ const owner1 = "b";
209
+ const expiration1 = ttl.toEndDate();
210
+ await adapter.insert(key, owner1, expiration1);
211
+ const expiration2 = ttl.multiply(2).toEndDate();
212
+ const owner2 = "c";
213
+ const result = await adapter.refresh(key, owner2, expiration2);
214
+ expect(result).toBe(0);
215
+ });
216
+ test("Should not update lock when not same owner", async () => {
217
+ const key = "a";
218
+ const owner1 = "b";
219
+ const expiration1 = ttl.toEndDate();
220
+ await adapter.insert(key, owner1, expiration1);
221
+ const expiration2 = ttl.multiply(2).toEndDate();
222
+ const owner2 = "c";
223
+ await adapter.refresh(key, owner2, expiration2);
224
+ const result = await adapter.find(key);
225
+ expect(result).toEqual({
226
+ owner: owner1,
227
+ expiration: expiration1,
319
228
  });
320
- const result2 = await databaseLockAdapterB.find(key);
321
- expect(result2).toEqual({
229
+ });
230
+ test("Should return true when same owner", async () => {
231
+ const key = "a";
232
+ const owner = "b";
233
+ const expiration1 = ttl.toEndDate();
234
+ await adapter.insert(key, owner, expiration1);
235
+ const expiration2 = ttl.multiply(2).toEndDate();
236
+ const result = await adapter.refresh(key, owner, expiration2);
237
+ expect(result).toBe(1);
238
+ });
239
+ test("Should update lock when same owner", async () => {
240
+ const key = "a";
241
+ const owner = "b";
242
+ const expiration1 = ttl.toEndDate();
243
+ await adapter.insert(key, owner, expiration1);
244
+ const expiration2 = ttl.multiply(2).toEndDate();
245
+ await adapter.refresh(key, owner, expiration2);
246
+ const result = await adapter.find(key);
247
+ expect(result).toEqual({
322
248
  owner,
323
- expiration,
249
+ expiration: expiration2,
324
250
  });
325
- vi.useRealTimers();
326
251
  });
327
252
  });
328
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database-lock-adapter.test-suite.js","sourceRoot":"","sources":["../../../../src/lock/implementations/test-utilities/database-lock-adapter.test-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-lock-adapter.test-suite.js","sourceRoot":"","sources":["../../../../src/lock/implementations/test-utilities/database-lock-adapter.test-suite.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { type ILockAdapter } from "../../../lock/contracts/_module-exports.js";
6
6
  import { type Promisable } from "../../../utilities/_module-exports.js";
7
7
  /**
8
8
  *
9
- * IMPORT_PATH: ```"@daiso-tech/core/lock/implementations/test-utilities"```
9
+ * IMPORT_PATH: ```"@daiso-tech/core/lock/test-utilities"```
10
10
  * @group Utilities
11
11
  */
12
12
  export type LockAdapterTestSuiteSettings = {
@@ -19,13 +19,13 @@ export type LockAdapterTestSuiteSettings = {
19
19
  /**
20
20
  * The <i>lockAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ILockAdapter}</i> with <i>vitest</i>.
21
21
  *
22
- * IMPORT_PATH: ```"@daiso-tech/core/lock/implementations/test-utilities"```
22
+ * IMPORT_PATH: ```"@daiso-tech/core/lock/test-utilities"```
23
23
  * @group Utilities
24
24
  * @example
25
25
  * ```ts
26
26
  * import { afterEach, beforeEach, describe, expect, test } from "vitest";
27
- * import { lockAdapterTestSuite } from "@daiso-tech/core/lock/implementations/test-utilities";
28
- * import { RedisLockAdapter } from "@daiso-tech/core/lock/implementations/adapters";
27
+ * import { lockAdapterTestSuite } from "@daiso-tech/core/lock/test-utilities";
28
+ * import { RedisLockAdapter } from "@daiso-tech/core/lock/adapters";
29
29
  * import { Redis } from "ioredis";
30
30
  * import {
31
31
  * RedisContainer,
@@ -47,10 +47,7 @@ export type LockAdapterTestSuiteSettings = {
47
47
  * }, timeout.toMilliseconds());
48
48
  * lockAdapterTestSuite({
49
49
  * createAdapter: () =>
50
- * new RedisLockAdapter({
51
- * database: client,
52
- * rootGroup: "@a",
53
- * }),
50
+ * new RedisLockAdapter(client),
54
51
  * test,
55
52
  * beforeEach,
56
53
  * expect,