@daiso-tech/core 0.26.1 → 0.28.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 (289) hide show
  1. package/README.md +13 -3
  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 +143 -71
  6. package/dist/async/utilities/lazy-promise/lazy-promise.js +223 -142
  7. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  8. package/dist/async/utilities/retry/retry-or-fail.d.ts +2 -0
  9. package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
  10. package/dist/cache/contracts/_module-exports.d.ts +1 -0
  11. package/dist/cache/contracts/_module-exports.js +1 -0
  12. package/dist/cache/contracts/_module-exports.js.map +1 -1
  13. package/dist/cache/contracts/cache-adapter.contract.d.ts +19 -21
  14. package/dist/cache/contracts/cache-adapter.contract.js +1 -4
  15. package/dist/cache/contracts/cache-adapter.contract.js.map +1 -1
  16. package/dist/cache/contracts/cache-factory.contract.d.ts +1 -1
  17. package/dist/cache/contracts/cache.contract.d.ts +144 -96
  18. package/dist/cache/contracts/cache.contract.js +1 -2
  19. package/dist/cache/contracts/cache.contract.js.map +1 -1
  20. package/dist/cache/contracts/cache.errors.js +2 -5
  21. package/dist/cache/contracts/cache.errors.js.map +1 -1
  22. package/dist/cache/contracts/cache.events.d.ts +10 -10
  23. package/dist/cache/contracts/cache.events.js +2 -5
  24. package/dist/cache/contracts/cache.events.js.map +1 -1
  25. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +89 -0
  26. package/dist/cache/contracts/database-cache-adapter.contract.js +5 -0
  27. package/dist/cache/contracts/database-cache-adapter.contract.js.map +1 -0
  28. package/dist/cache/implementations/adapters/{kysely-sqlite-cache-adapter → kysely-cache-adapter}/_module.d.ts +1 -1
  29. package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js +2 -0
  30. package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js.map +1 -0
  31. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +73 -0
  32. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +224 -0
  33. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -0
  34. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +29 -39
  35. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +45 -54
  36. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  37. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +17 -33
  38. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +43 -52
  39. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  40. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.d.ts +13 -0
  41. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +38 -0
  42. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -0
  43. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +27 -33
  44. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +145 -197
  45. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  46. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +14 -13
  47. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +19 -17
  48. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  49. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.d.ts +13 -0
  50. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +39 -0
  51. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -0
  52. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +16 -22
  53. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +51 -132
  54. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  55. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.d.ts +13 -0
  56. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js +69 -0
  57. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js.map +1 -0
  58. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +29 -41
  59. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +46 -55
  60. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  61. package/dist/cache/implementations/derivables/_module-exports.d.ts +1 -1
  62. package/dist/cache/implementations/derivables/_module-exports.js +1 -1
  63. package/dist/cache/implementations/derivables/_module-exports.js.map +1 -1
  64. package/dist/cache/implementations/derivables/cache/_module.d.ts +1 -0
  65. package/dist/cache/implementations/derivables/cache/_module.js +1 -0
  66. package/dist/cache/implementations/derivables/cache/_module.js.map +1 -1
  67. package/dist/cache/implementations/derivables/cache/cache.d.ts +269 -507
  68. package/dist/cache/implementations/derivables/cache/cache.js +538 -822
  69. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  70. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +21 -0
  71. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +110 -0
  72. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -0
  73. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.d.ts +9 -0
  74. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js +20 -0
  75. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -0
  76. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +69 -105
  77. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +117 -87
  78. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  79. package/dist/cache/implementations/test-utilities/_module-exports.d.ts +1 -0
  80. package/dist/cache/implementations/test-utilities/_module-exports.js +1 -0
  81. package/dist/cache/implementations/test-utilities/_module-exports.js.map +1 -1
  82. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +9 -11
  83. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +246 -247
  84. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  85. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +16 -30
  86. package/dist/cache/implementations/test-utilities/cache.test-suite.js +271 -996
  87. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  88. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +60 -0
  89. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +698 -0
  90. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -0
  91. package/dist/collection/contracts/async-collection.contract.d.ts +2 -3
  92. package/dist/collection/contracts/async-collection.contract.js +1 -12
  93. package/dist/collection/contracts/async-collection.contract.js.map +1 -1
  94. package/dist/collection/contracts/collection.contract.d.ts +1 -1
  95. package/dist/collection/contracts/collection.errors.d.ts +1 -1
  96. package/dist/collection/contracts/collection.errors.js +3 -6
  97. package/dist/collection/contracts/collection.errors.js.map +1 -1
  98. package/dist/collection/implementations/_shared.d.ts +4 -4
  99. package/dist/collection/implementations/_shared.js +6 -9
  100. package/dist/collection/implementations/_shared.js.map +1 -1
  101. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +2 -2
  102. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -1
  103. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -21
  104. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +12 -8
  105. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  106. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +1 -1
  107. package/dist/collection/implementations/iterable-collection/iterable-collection.js +1 -1
  108. package/dist/collection/implementations/list-collection/list-collection.d.ts +1 -1
  109. package/dist/collection/implementations/list-collection/list-collection.js +1 -1
  110. package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +0 -9
  111. package/dist/event-bus/contracts/event-bus.contract.d.ts +5 -5
  112. package/dist/event-bus/contracts/event-bus.contract.js.map +1 -1
  113. package/dist/event-bus/contracts/event-bus.errors.js +2 -5
  114. package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
  115. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +9 -29
  116. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +14 -35
  117. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  118. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +2 -4
  119. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +2 -8
  120. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  121. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +8 -15
  122. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +15 -34
  123. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  124. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +85 -289
  125. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +128 -325
  126. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  127. package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +13 -0
  128. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +42 -0
  129. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -0
  130. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +103 -86
  131. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +135 -77
  132. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  133. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -48
  134. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +31 -122
  135. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  136. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +2 -50
  137. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +41 -89
  138. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  139. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +0 -9
  140. package/dist/lock/contracts/lock-adapter.contract.d.ts +0 -9
  141. package/dist/lock/contracts/lock-provider.contract.d.ts +20 -6
  142. package/dist/lock/contracts/lock.contract.d.ts +37 -8
  143. package/dist/lock/contracts/lock.errors.js +2 -5
  144. package/dist/lock/contracts/lock.errors.js.map +1 -1
  145. package/dist/lock/contracts/lock.events.js +2 -5
  146. package/dist/lock/contracts/lock.events.js.map +1 -1
  147. package/dist/lock/implementations/adapters/_module-exports.d.ts +1 -0
  148. package/dist/lock/implementations/adapters/_module-exports.js +1 -0
  149. package/dist/lock/implementations/adapters/_module-exports.js.map +1 -1
  150. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +0 -5
  151. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +2 -21
  152. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  153. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +11 -16
  154. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +11 -20
  155. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
  156. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +7 -26
  157. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +7 -35
  158. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
  159. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +13 -20
  160. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +13 -37
  161. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  162. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.d.ts +1 -0
  163. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js +2 -0
  164. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js.map +1 -0
  165. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +17 -0
  166. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +24 -0
  167. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -0
  168. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +4 -22
  169. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +4 -31
  170. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
  171. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +14 -20
  172. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +12 -21
  173. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
  174. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +0 -2
  175. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +2 -8
  176. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
  177. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +1 -5
  178. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
  179. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +181 -369
  180. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +259 -407
  181. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  182. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +15 -17
  183. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +42 -40
  184. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  185. package/dist/lock/implementations/derivables/lock-provider/lock-state.d.ts +3 -3
  186. package/dist/lock/implementations/derivables/lock-provider/lock-state.js.map +1 -1
  187. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +194 -680
  188. package/dist/lock/implementations/derivables/lock-provider/lock.js +284 -744
  189. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  190. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +106 -143
  191. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +173 -101
  192. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  193. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +4 -5
  194. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +172 -247
  195. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
  196. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +5 -8
  197. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +93 -98
  198. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
  199. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +15 -20
  200. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +295 -145
  201. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  202. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +1 -2
  203. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +1 -1
  204. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +3 -2
  205. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +2 -1
  206. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js.map +1 -1
  207. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +1 -2
  208. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +1 -1
  209. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +1 -2
  210. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +1 -1
  211. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +2 -2
  212. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +2 -2
  213. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  214. package/dist/serde/implementations/derivables/serde.d.ts +14 -14
  215. package/dist/serde/implementations/derivables/serde.js +14 -15
  216. package/dist/serde/implementations/derivables/serde.js.map +1 -1
  217. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +4 -4
  218. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +3 -3
  219. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +5 -5
  220. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +4 -4
  221. package/dist/utilities/_module-exports.d.ts +2 -3
  222. package/dist/utilities/_module-exports.js +2 -3
  223. package/dist/utilities/_module-exports.js.map +1 -1
  224. package/dist/utilities/classes/_module.d.ts +4 -0
  225. package/dist/utilities/classes/_module.js +5 -0
  226. package/dist/utilities/classes/_module.js.map +1 -0
  227. package/dist/utilities/classes/key-prefixer/_module.d.ts +2 -0
  228. package/dist/utilities/classes/key-prefixer/_module.js +3 -0
  229. package/dist/utilities/classes/key-prefixer/_module.js.map +1 -0
  230. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.d.ts +28 -0
  231. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js +5 -0
  232. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js.map +1 -0
  233. package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +73 -0
  234. package/dist/utilities/classes/key-prefixer/key-prefixer.js +135 -0
  235. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -0
  236. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.d.ts +1 -0
  237. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js +2 -0
  238. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js.map +1 -0
  239. package/dist/utilities/classes/kysely-table-name-transformer-plugin/kysely-table-name-transformer-plugin.js.map +1 -0
  240. package/dist/utilities/classes/pipeline/_module.d.ts +1 -0
  241. package/dist/utilities/classes/pipeline/_module.js +2 -0
  242. package/dist/utilities/classes/pipeline/_module.js.map +1 -0
  243. package/dist/utilities/{pipeline → classes/pipeline}/pipeline.d.ts +3 -2
  244. package/dist/utilities/{pipeline → classes/pipeline}/pipeline.js +3 -2
  245. package/dist/utilities/classes/pipeline/pipeline.js.map +1 -0
  246. package/dist/utilities/classes/time-span/_module.d.ts +1 -0
  247. package/dist/utilities/classes/time-span/_module.js +2 -0
  248. package/dist/utilities/classes/time-span/_module.js.map +1 -0
  249. package/dist/utilities/{time-span → classes/time-span}/time-span.d.ts +2 -1
  250. package/dist/utilities/{time-span → classes/time-span}/time-span.js +1 -0
  251. package/dist/utilities/classes/time-span/time-span.js.map +1 -0
  252. package/dist/utilities/{_constants.d.ts → constants.d.ts} +0 -3
  253. package/dist/utilities/constants.js +5 -0
  254. package/dist/utilities/constants.js.map +1 -0
  255. package/dist/utilities/contracts/_module.d.ts +3 -1
  256. package/dist/utilities/contracts/_module.js +3 -1
  257. package/dist/utilities/contracts/_module.js.map +1 -1
  258. package/dist/utilities/contracts/prunable.contract.d.ts +11 -0
  259. package/dist/utilities/contracts/prunable.contract.js +5 -0
  260. package/dist/utilities/contracts/prunable.contract.js.map +1 -0
  261. package/dist/utilities/contracts/sqlite-database.contract.d.ts +26 -0
  262. package/dist/utilities/contracts/sqlite-database.contract.js +5 -0
  263. package/dist/utilities/contracts/sqlite-database.contract.js.map +1 -0
  264. package/dist/utilities/functions.d.ts +34 -2
  265. package/dist/utilities/functions.js +72 -4
  266. package/dist/utilities/functions.js.map +1 -1
  267. package/dist/utilities/types.d.ts +49 -16
  268. package/package.json +14 -13
  269. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +0 -2
  270. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +0 -1
  271. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +0 -61
  272. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +0 -318
  273. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +0 -1
  274. package/dist/utilities/_constants.js +0 -8
  275. package/dist/utilities/_constants.js.map +0 -1
  276. package/dist/utilities/kysely/_module.d.ts +0 -1
  277. package/dist/utilities/kysely/_module.js +0 -2
  278. package/dist/utilities/kysely/_module.js.map +0 -1
  279. package/dist/utilities/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  280. package/dist/utilities/pipeline/_module.d.ts +0 -1
  281. package/dist/utilities/pipeline/_module.js +0 -2
  282. package/dist/utilities/pipeline/_module.js.map +0 -1
  283. package/dist/utilities/pipeline/pipeline.js.map +0 -1
  284. package/dist/utilities/time-span/_module.d.ts +0 -1
  285. package/dist/utilities/time-span/_module.js +0 -2
  286. package/dist/utilities/time-span/_module.js.map +0 -1
  287. package/dist/utilities/time-span/time-span.js.map +0 -1
  288. /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.d.ts +0 -0
  289. /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.js +0 -0
@@ -5,46 +5,41 @@ import {} from "vitest";
5
5
  import { UnownedRefreshLockEvent, KeyForceReleasedLockEvent, KeyAlreadyAcquiredLockEvent, UnownedReleaseLockEvent, KeyReleasedLockEvent, KeyAcquiredLockEvent, KeyAlreadyAcquiredLockError, UnownedRefreshLockError, UnownedReleaseLockError, KeyRefreshedLockEvent, } from "../../../lock/contracts/_module-exports.js";
6
6
  import {} from "../../../utilities/_module-exports.js";
7
7
  import { TimeSpan } from "../../../utilities/_module-exports.js";
8
- import { delay, LazyPromise } from "../../../async/_module-exports.js";
8
+ import { LazyPromise } from "../../../async/_module-exports.js";
9
9
  import { NoOpSerdeAdapter } from "../../../serde/implementations/adapters/_module-exports.js";
10
10
  import { Serde } from "../../../serde/implementations/derivables/_module-exports.js";
11
11
  /**
12
12
  * The <i>lockProviderTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ILock}</i> with <i>vitest</i>.
13
13
  *
14
- * IMPORT_PATH: ```"@daiso-tech/core/lock/implementations/test-utilities"```
14
+ * IMPORT_PATH: ```"@daiso-tech/core/lock/test-utilities"```
15
15
  * @group Utilities
16
16
  * @example
17
17
  * ```ts
18
- * import { beforeEach, describe, expect, test } from "vitest";
19
- * import { MemoryLockAdapter } from "@daiso-tech/core/lock/implementations/adapters";
20
- * import { LockProvider } from "@daiso-tech/core/lock/implementations/derivables";
21
- * import { EventBus } from "@daiso-tech/core/event-bus/implementations/derivables";
22
- * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/implementations/adapters";
23
- * import { lockProviderTestSuite } from "@daiso-tech/core/lock/implementations/test-utilities";
24
- * import { Serde } from "@daiso-tech/core/serde/implementations/derivables";
25
- * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/implementations/adapters";
18
+ * import { describe, expect, test } from "vitest";
19
+ * import { MemoryLockAdapter } from "@daiso-tech/core/lock/adapters";
20
+ * import { LockProvider } from "@daiso-tech/core/lock";
21
+ * import { EventBus } from "@daiso-tech/core/event-bus";
22
+ * import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
23
+ * import { lockProviderTestSuite } from "@daiso-tech/core/lock/test-utilities";
24
+ * import { Serde } from "@daiso-tech/core/serde";
25
+ * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
26
26
  * import type { ILockData } from "@daiso-tech/core/lock/contracts";
27
+ * import { KeyPrefixer } from "@daiso-tech/core/utilities";
27
28
  *
28
29
  * describe("class: LockProvider", () => {
29
30
  * const eventBus = new EventBus({
30
- * adapter: new MemoryEventBusAdapter({
31
- * rootGroup: "@global",
32
- * }),
31
+ * keyPrefixer: new KeyPrefixer("event-bus"),
32
+ * adapter: new MemoryEventBusAdapter(),
33
33
  * });
34
34
  * const serde = new Serde(new SuperJsonSerdeAdapter());
35
35
  * let map: Map<string, ILockData>;
36
- * beforeEach(() => {
37
- * map = new Map();
38
- * });
39
36
  * lockProviderTestSuite({
40
37
  * createLockProvider: () => {
41
38
  * const lockProvider = new LockProvider({
42
39
  * serde,
43
- * adapter: new MemoryLockAdapter({
44
- * rootGroup: "@a",
45
- * map,
46
- * }),
40
+ * adapter: new MemoryLockAdapter(),
47
41
  * eventBus,
42
+ * keyPrefixer: new KeyPrefixer("lock"),
48
43
  * });
49
44
  * return lockProvider;
50
45
  * },
@@ -67,6 +62,7 @@ export function lockProviderTestSuite(settings) {
67
62
  lockProviderB = lockProvider.withGroup("b");
68
63
  });
69
64
  const TTL = TimeSpan.fromMilliseconds(50);
65
+ const DELAY_TIME = TimeSpan.fromMilliseconds(50);
70
66
  describe("Api tests:", () => {
71
67
  describe("method: run", () => {
72
68
  test("Should return string when lock is available", async () => {
@@ -76,7 +72,7 @@ export function lockProviderTestSuite(settings) {
76
72
  ttl,
77
73
  });
78
74
  const [result, error] = await lock.run(async () => {
79
- await delay(TTL);
75
+ await LazyPromise.delay(DELAY_TIME);
80
76
  return "a";
81
77
  });
82
78
  expect(result).toBe("a");
@@ -90,7 +86,7 @@ export function lockProviderTestSuite(settings) {
90
86
  });
91
87
  await lock.acquire();
92
88
  const [result, error] = await lock.run(async () => {
93
- await delay(TTL);
89
+ await LazyPromise.delay(DELAY_TIME);
94
90
  return "a";
95
91
  });
96
92
  expect(result).toBeNull();
@@ -103,7 +99,7 @@ export function lockProviderTestSuite(settings) {
103
99
  ttl,
104
100
  });
105
101
  const [result, error] = await lock.run(new LazyPromise(async () => {
106
- await delay(TTL);
102
+ await LazyPromise.delay(DELAY_TIME);
107
103
  return "a";
108
104
  }));
109
105
  expect(result).toBe("a");
@@ -118,7 +114,7 @@ export function lockProviderTestSuite(settings) {
118
114
  ttl,
119
115
  });
120
116
  const result = await lock.runOrFail(async () => {
121
- await delay(TTL);
117
+ await LazyPromise.delay(DELAY_TIME);
122
118
  return "a";
123
119
  });
124
120
  expect(result).toBe("a");
@@ -131,7 +127,7 @@ export function lockProviderTestSuite(settings) {
131
127
  });
132
128
  await lock.acquire();
133
129
  const result = lock.runOrFail(async () => {
134
- await delay(TTL);
130
+ await LazyPromise.delay(DELAY_TIME);
135
131
  return "a";
136
132
  });
137
133
  await expect(result).rejects.toBeInstanceOf(KeyAlreadyAcquiredLockError);
@@ -143,7 +139,7 @@ export function lockProviderTestSuite(settings) {
143
139
  ttl,
144
140
  });
145
141
  const result = await lock.runOrFail(new LazyPromise(async () => {
146
- await delay(TTL);
142
+ await LazyPromise.delay(DELAY_TIME);
147
143
  return "a";
148
144
  }));
149
145
  expect(result).toBe("a");
@@ -157,7 +153,7 @@ export function lockProviderTestSuite(settings) {
157
153
  ttl,
158
154
  });
159
155
  const [result, error] = await lock.runBlocking(async () => {
160
- await delay(TTL);
156
+ await LazyPromise.delay(DELAY_TIME);
161
157
  return "a";
162
158
  }, {
163
159
  time: TimeSpan.fromMilliseconds(5),
@@ -174,7 +170,7 @@ export function lockProviderTestSuite(settings) {
174
170
  });
175
171
  await lock.acquire();
176
172
  const [result, error] = await lock.runBlocking(async () => {
177
- await delay(TTL);
173
+ await LazyPromise.delay(DELAY_TIME);
178
174
  return "a";
179
175
  }, {
180
176
  time: TimeSpan.fromMilliseconds(5),
@@ -190,7 +186,7 @@ export function lockProviderTestSuite(settings) {
190
186
  ttl,
191
187
  });
192
188
  const [result, error] = await lock.runBlocking(new LazyPromise(async () => {
193
- await delay(TTL);
189
+ await LazyPromise.delay(DELAY_TIME);
194
190
  return "a";
195
191
  }), {
196
192
  time: TimeSpan.fromMilliseconds(5),
@@ -211,7 +207,7 @@ export function lockProviderTestSuite(settings) {
211
207
  index++;
212
208
  });
213
209
  await lock.runBlocking(async () => {
214
- await delay(TTL);
210
+ await LazyPromise.delay(DELAY_TIME);
215
211
  }, {
216
212
  time: TimeSpan.fromMilliseconds(55),
217
213
  interval: TimeSpan.fromMilliseconds(5),
@@ -219,6 +215,78 @@ export function lockProviderTestSuite(settings) {
219
215
  expect(index).toBeGreaterThan(1);
220
216
  });
221
217
  });
218
+ describe("method: runBlockingOrFail", () => {
219
+ test("Should return string when lock is available", async () => {
220
+ const key = "a";
221
+ const ttl = null;
222
+ const lock = lockProviderA.create(key, {
223
+ ttl,
224
+ });
225
+ const result = await lock.runBlockingOrFail(async () => {
226
+ await LazyPromise.delay(DELAY_TIME);
227
+ return "a";
228
+ }, {
229
+ time: TimeSpan.fromMilliseconds(5),
230
+ interval: TimeSpan.fromMilliseconds(5),
231
+ });
232
+ expect(result).toBe("a");
233
+ });
234
+ test("Should throw KeyAlreadyAcquiredLockError when lock is already acquired", async () => {
235
+ const key = "a";
236
+ const ttl = null;
237
+ const lock = lockProviderA.create(key, {
238
+ ttl,
239
+ });
240
+ await lock.acquire();
241
+ const promise = lock.runBlockingOrFail(async () => {
242
+ await LazyPromise.delay(DELAY_TIME);
243
+ return "a";
244
+ }, {
245
+ time: TimeSpan.fromMilliseconds(5),
246
+ interval: TimeSpan.fromMilliseconds(5),
247
+ });
248
+ await expect(promise).rejects.toBeInstanceOf(KeyAlreadyAcquiredLockError);
249
+ });
250
+ test("Should work with LazyPromise", async () => {
251
+ const key = "a";
252
+ const ttl = null;
253
+ const lock = lockProviderA.create(key, {
254
+ ttl,
255
+ });
256
+ const result = await lock.runBlockingOrFail(new LazyPromise(async () => {
257
+ await LazyPromise.delay(DELAY_TIME);
258
+ return "a";
259
+ }), {
260
+ time: TimeSpan.fromMilliseconds(5),
261
+ interval: TimeSpan.fromMilliseconds(5),
262
+ });
263
+ expect(result).toBe("a");
264
+ });
265
+ test("Should retry acquire the lock", async () => {
266
+ const key = "a";
267
+ const ttl = TimeSpan.fromMilliseconds(50);
268
+ const lock = lockProviderA.create(key, {
269
+ ttl,
270
+ });
271
+ await lock.acquire();
272
+ let index = 0;
273
+ await lock.addListener(KeyAlreadyAcquiredLockEvent, (_event) => {
274
+ index++;
275
+ });
276
+ try {
277
+ await lock.runBlockingOrFail(async () => {
278
+ await LazyPromise.delay(DELAY_TIME);
279
+ }, {
280
+ time: TimeSpan.fromMilliseconds(55),
281
+ interval: TimeSpan.fromMilliseconds(5),
282
+ });
283
+ }
284
+ catch {
285
+ /* Empty */
286
+ }
287
+ expect(index).toBeGreaterThan(1);
288
+ });
289
+ });
222
290
  describe("method: acquire", () => {
223
291
  test("Should return true when lock is available", async () => {
224
292
  const key = "a";
@@ -305,12 +373,12 @@ export function lockProviderTestSuite(settings) {
305
373
  ttl,
306
374
  });
307
375
  await lock.acquireBlocking({
308
- time: TimeSpan.fromMilliseconds(0),
309
- interval: TimeSpan.fromMilliseconds(0),
376
+ time: TimeSpan.fromMilliseconds(5),
377
+ interval: TimeSpan.fromMilliseconds(5),
310
378
  });
311
379
  const result = await lock.acquireBlocking({
312
- time: TimeSpan.fromMilliseconds(0),
313
- interval: TimeSpan.fromMilliseconds(0),
380
+ time: TimeSpan.fromMilliseconds(5),
381
+ interval: TimeSpan.fromMilliseconds(5),
314
382
  });
315
383
  expect(result).toBe(false);
316
384
  });
@@ -323,8 +391,8 @@ export function lockProviderTestSuite(settings) {
323
391
  owner,
324
392
  });
325
393
  await lock.acquireBlocking({
326
- time: TimeSpan.fromMilliseconds(0),
327
- interval: TimeSpan.fromMilliseconds(0),
394
+ time: TimeSpan.fromMilliseconds(5),
395
+ interval: TimeSpan.fromMilliseconds(5),
328
396
  });
329
397
  const result = await lock.isExpired();
330
398
  expect(result).toBe(false);
@@ -338,8 +406,8 @@ export function lockProviderTestSuite(settings) {
338
406
  owner,
339
407
  });
340
408
  await lock.acquireBlocking({
341
- time: TimeSpan.fromMilliseconds(0),
342
- interval: TimeSpan.fromMilliseconds(0),
409
+ time: TimeSpan.fromMilliseconds(5),
410
+ interval: TimeSpan.fromMilliseconds(5),
343
411
  });
344
412
  const result = await lock.isLocked();
345
413
  expect(result).toBe(true);
@@ -362,6 +430,88 @@ export function lockProviderTestSuite(settings) {
362
430
  expect(index).toBeGreaterThan(1);
363
431
  });
364
432
  });
433
+ describe("method: acquireBlockingOrFail", () => {
434
+ test("Should not throw KeyAlreadyAcquiredLockError when lock is available", async () => {
435
+ const key = "a";
436
+ const ttl = null;
437
+ const lock = lockProviderA.create(key, {
438
+ ttl,
439
+ });
440
+ const promise = lock.acquireBlockingOrFail({
441
+ time: TimeSpan.fromMilliseconds(5),
442
+ interval: TimeSpan.fromMilliseconds(5),
443
+ });
444
+ await expect(promise).resolves.toBeUndefined();
445
+ });
446
+ test("Should throw KeyAlreadyAcquiredLockError when lock is already acquired", async () => {
447
+ const key = "a";
448
+ const ttl = null;
449
+ const lock = lockProviderA.create(key, {
450
+ ttl,
451
+ });
452
+ await lock.acquireBlockingOrFail({
453
+ time: TimeSpan.fromMilliseconds(5),
454
+ interval: TimeSpan.fromMilliseconds(5),
455
+ });
456
+ const promise = lock.acquireBlockingOrFail({
457
+ time: TimeSpan.fromMilliseconds(5),
458
+ interval: TimeSpan.fromMilliseconds(5),
459
+ });
460
+ await expect(promise).rejects.toBeInstanceOf(KeyAlreadyAcquiredLockError);
461
+ });
462
+ test("Should not be expired when released by same owner", async () => {
463
+ const key = "a";
464
+ const ttl = null;
465
+ const owner = "b";
466
+ const lock = lockProviderA.create(key, {
467
+ ttl,
468
+ owner,
469
+ });
470
+ await lock.acquireBlockingOrFail({
471
+ time: TimeSpan.fromMilliseconds(5),
472
+ interval: TimeSpan.fromMilliseconds(5),
473
+ });
474
+ const result = await lock.isExpired();
475
+ expect(result).toBe(false);
476
+ });
477
+ test("Should be loked when released by same owner", async () => {
478
+ const key = "a";
479
+ const ttl = null;
480
+ const owner = "b";
481
+ const lock = lockProviderA.create(key, {
482
+ ttl,
483
+ owner,
484
+ });
485
+ await lock.acquireBlockingOrFail({
486
+ time: TimeSpan.fromMilliseconds(5),
487
+ interval: TimeSpan.fromMilliseconds(5),
488
+ });
489
+ const result = await lock.isLocked();
490
+ expect(result).toBe(true);
491
+ });
492
+ test("Should retry acquire the lock", async () => {
493
+ const key = "a";
494
+ const ttl = TimeSpan.fromMilliseconds(50);
495
+ const lock = lockProviderA.create(key, {
496
+ ttl,
497
+ });
498
+ await lock.acquire();
499
+ let index = 0;
500
+ await lock.addListener(KeyAlreadyAcquiredLockEvent, (_event) => {
501
+ index++;
502
+ });
503
+ try {
504
+ await lock.acquireBlockingOrFail({
505
+ time: TimeSpan.fromMilliseconds(55),
506
+ interval: TimeSpan.fromMilliseconds(5),
507
+ });
508
+ }
509
+ catch {
510
+ /* Empty */
511
+ }
512
+ expect(index).toBeGreaterThan(1);
513
+ });
514
+ });
365
515
  describe("method: release", () => {
366
516
  test("Should return true when released by same owner", async () => {
367
517
  const key = "a";
@@ -556,7 +706,7 @@ export function lockProviderTestSuite(settings) {
556
706
  owner,
557
707
  });
558
708
  await lock.acquire();
559
- await delay(ttl.addMilliseconds(25));
709
+ await LazyPromise.delay(ttl.addMilliseconds(25));
560
710
  const result = await lock.isExpired();
561
711
  expect(result).toBe(true);
562
712
  });
@@ -595,7 +745,7 @@ export function lockProviderTestSuite(settings) {
595
745
  owner,
596
746
  });
597
747
  await lock.acquire();
598
- await delay(ttl.addMilliseconds(25));
748
+ await LazyPromise.delay(ttl.addMilliseconds(25));
599
749
  const result = await lock.isLocked();
600
750
  expect(result).toBe(false);
601
751
  });
@@ -610,7 +760,7 @@ export function lockProviderTestSuite(settings) {
610
760
  owner,
611
761
  });
612
762
  await lock.acquire();
613
- await delay(ttl);
763
+ await LazyPromise.delay(ttl);
614
764
  const result = await lock.refresh();
615
765
  expect(result).toBe(true);
616
766
  });
@@ -640,7 +790,7 @@ export function lockProviderTestSuite(settings) {
640
790
  owner,
641
791
  });
642
792
  await lock.acquire();
643
- await delay(ttl.subtractMilliseconds(10));
793
+ await LazyPromise.delay(ttl.subtractMilliseconds(10));
644
794
  await lock.refresh();
645
795
  const time = await lock.getRemainingTime();
646
796
  expect(time?.toMilliseconds()).toBeGreaterThan(0);
@@ -656,7 +806,7 @@ export function lockProviderTestSuite(settings) {
656
806
  owner,
657
807
  });
658
808
  await lock.acquire();
659
- await delay(ttl);
809
+ await LazyPromise.delay(ttl);
660
810
  const result = lock.refreshOrFail();
661
811
  await expect(result).resolves.toBeUndefined();
662
812
  });
@@ -686,7 +836,7 @@ export function lockProviderTestSuite(settings) {
686
836
  owner,
687
837
  });
688
838
  await lock.acquireOrFail();
689
- await delay(ttl.subtractMilliseconds(10));
839
+ await LazyPromise.delay(ttl.subtractMilliseconds(10));
690
840
  await lock.refresh();
691
841
  const time = await lock.getRemainingTime();
692
842
  expect(time?.toMilliseconds()).toBeGreaterThan(0);
@@ -763,9 +913,9 @@ export function lockProviderTestSuite(settings) {
763
913
  event_ = event;
764
914
  });
765
915
  await lock.run(async () => {
766
- await delay(TTL);
916
+ await LazyPromise.delay(DELAY_TIME);
767
917
  });
768
- await delay(TTL);
918
+ await LazyPromise.delay(DELAY_TIME);
769
919
  expect(event_?.fields.key).toBe("a");
770
920
  expect(event_?.fields.owner).toBe(owner);
771
921
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -783,9 +933,9 @@ export function lockProviderTestSuite(settings) {
783
933
  event_ = event;
784
934
  });
785
935
  await lock.run(async () => {
786
- await delay(TTL);
936
+ await LazyPromise.delay(DELAY_TIME);
787
937
  });
788
- await delay(TTL);
938
+ await LazyPromise.delay(DELAY_TIME);
789
939
  expect(event_?.fields.key).toBe(key);
790
940
  expect(event_?.fields.owner).toBe(owner);
791
941
  await unsubscribe();
@@ -802,9 +952,9 @@ export function lockProviderTestSuite(settings) {
802
952
  event_ = event;
803
953
  });
804
954
  await lock.run(async () => {
805
- await delay(TTL);
955
+ await LazyPromise.delay(DELAY_TIME);
806
956
  });
807
- await delay(TTL);
957
+ await LazyPromise.delay(DELAY_TIME);
808
958
  expect(event_?.fields.key).toBe("a");
809
959
  expect(event_?.fields.owner).toBe(owner);
810
960
  await unsubscribe();
@@ -823,12 +973,12 @@ export function lockProviderTestSuite(settings) {
823
973
  event_ = event;
824
974
  });
825
975
  await lock.runBlocking(async () => {
826
- await delay(TTL);
976
+ await LazyPromise.delay(DELAY_TIME);
827
977
  }, {
828
978
  time: TimeSpan.fromMilliseconds(5),
829
979
  interval: TimeSpan.fromMilliseconds(5),
830
980
  });
831
- await delay(TTL);
981
+ await LazyPromise.delay(DELAY_TIME);
832
982
  expect(event_?.fields.key).toBe("a");
833
983
  expect(event_?.fields.owner).toBe(owner);
834
984
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -846,12 +996,12 @@ export function lockProviderTestSuite(settings) {
846
996
  event_ = event;
847
997
  });
848
998
  await lock.runBlocking(async () => {
849
- await delay(TTL);
999
+ await LazyPromise.delay(DELAY_TIME);
850
1000
  }, {
851
1001
  time: TimeSpan.fromMilliseconds(5),
852
1002
  interval: TimeSpan.fromMilliseconds(5),
853
1003
  });
854
- await delay(TTL);
1004
+ await LazyPromise.delay(DELAY_TIME);
855
1005
  expect(event_?.fields.key).toBe(key);
856
1006
  expect(event_?.fields.owner).toBe(owner);
857
1007
  await unsubscribe();
@@ -868,12 +1018,12 @@ export function lockProviderTestSuite(settings) {
868
1018
  event_ = event;
869
1019
  });
870
1020
  await lock.runBlocking(async () => {
871
- await delay(TTL);
1021
+ await LazyPromise.delay(DELAY_TIME);
872
1022
  }, {
873
1023
  time: TimeSpan.fromMilliseconds(5),
874
1024
  interval: TimeSpan.fromMilliseconds(5),
875
1025
  });
876
- await delay(TTL);
1026
+ await LazyPromise.delay(DELAY_TIME);
877
1027
  expect(event_?.fields.key).toBe("a");
878
1028
  expect(event_?.fields.owner).toBe(owner);
879
1029
  await unsubscribe();
@@ -892,9 +1042,9 @@ export function lockProviderTestSuite(settings) {
892
1042
  event_ = event;
893
1043
  });
894
1044
  await lock.runOrFail(async () => {
895
- await delay(TTL);
1045
+ await LazyPromise.delay(DELAY_TIME);
896
1046
  });
897
- await delay(TTL);
1047
+ await LazyPromise.delay(DELAY_TIME);
898
1048
  expect(event_?.fields.key).toBe("a");
899
1049
  expect(event_?.fields.owner).toBe(owner);
900
1050
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -912,9 +1062,9 @@ export function lockProviderTestSuite(settings) {
912
1062
  event_ = event;
913
1063
  });
914
1064
  await lock.runOrFail(async () => {
915
- await delay(TTL);
1065
+ await LazyPromise.delay(DELAY_TIME);
916
1066
  });
917
- await delay(TTL);
1067
+ await LazyPromise.delay(DELAY_TIME);
918
1068
  expect(event_?.fields.key).toBe(key);
919
1069
  expect(event_?.fields.owner).toBe(owner);
920
1070
  await unsubscribe();
@@ -932,9 +1082,9 @@ export function lockProviderTestSuite(settings) {
932
1082
  });
933
1083
  try {
934
1084
  await lock.runOrFail(async () => {
935
- await delay(TTL);
1085
+ await LazyPromise.delay(DELAY_TIME);
936
1086
  });
937
- await delay(TTL);
1087
+ await LazyPromise.delay(DELAY_TIME);
938
1088
  }
939
1089
  catch {
940
1090
  /* Empty */
@@ -957,7 +1107,7 @@ export function lockProviderTestSuite(settings) {
957
1107
  event_ = event;
958
1108
  });
959
1109
  await lock.acquire();
960
- await delay(TTL);
1110
+ await LazyPromise.delay(DELAY_TIME);
961
1111
  expect(event_?.fields.key).toBe("a");
962
1112
  expect(event_?.fields.owner).toBe(owner);
963
1113
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -975,7 +1125,7 @@ export function lockProviderTestSuite(settings) {
975
1125
  event_ = event;
976
1126
  });
977
1127
  await lock.acquire();
978
- await delay(TTL);
1128
+ await LazyPromise.delay(DELAY_TIME);
979
1129
  expect(event_?.fields.key).toBe("a");
980
1130
  expect(event_?.fields.owner).toBe(owner);
981
1131
  await unsubscribe();
@@ -997,7 +1147,7 @@ export function lockProviderTestSuite(settings) {
997
1147
  time: TimeSpan.fromMilliseconds(5),
998
1148
  interval: TimeSpan.fromMilliseconds(5),
999
1149
  });
1000
- await delay(TTL);
1150
+ await LazyPromise.delay(DELAY_TIME);
1001
1151
  expect(event_?.fields.key).toBe("a");
1002
1152
  expect(event_?.fields.owner).toBe(owner);
1003
1153
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -1021,7 +1171,7 @@ export function lockProviderTestSuite(settings) {
1021
1171
  time: TimeSpan.fromMilliseconds(5),
1022
1172
  interval: TimeSpan.fromMilliseconds(5),
1023
1173
  });
1024
- await delay(TTL);
1174
+ await LazyPromise.delay(DELAY_TIME);
1025
1175
  expect(event_?.fields.key).toBe("a");
1026
1176
  expect(event_?.fields.owner).toBe(owner);
1027
1177
  await unsubscribe();
@@ -1040,7 +1190,7 @@ export function lockProviderTestSuite(settings) {
1040
1190
  event_ = event;
1041
1191
  });
1042
1192
  await lock.acquireOrFail();
1043
- await delay(TTL);
1193
+ await LazyPromise.delay(DELAY_TIME);
1044
1194
  expect(event_?.fields.key).toBe("a");
1045
1195
  expect(event_?.fields.owner).toBe(owner);
1046
1196
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -1059,7 +1209,7 @@ export function lockProviderTestSuite(settings) {
1059
1209
  });
1060
1210
  try {
1061
1211
  await lock.acquireOrFail();
1062
- await delay(TTL);
1212
+ await LazyPromise.delay(DELAY_TIME);
1063
1213
  }
1064
1214
  catch {
1065
1215
  /* Empty */
@@ -1082,7 +1232,7 @@ export function lockProviderTestSuite(settings) {
1082
1232
  event_ = event;
1083
1233
  });
1084
1234
  await lock.release();
1085
- await delay(TTL);
1235
+ await LazyPromise.delay(DELAY_TIME);
1086
1236
  expect(event_?.fields.key).toBe(key);
1087
1237
  expect(event_?.fields.owner).toBe(owner);
1088
1238
  await unsubscribe();
@@ -1103,7 +1253,7 @@ export function lockProviderTestSuite(settings) {
1103
1253
  event_ = event;
1104
1254
  });
1105
1255
  await lock2.release();
1106
- await delay(TTL);
1256
+ await LazyPromise.delay(DELAY_TIME);
1107
1257
  expect(event_?.fields.key).toBe(key);
1108
1258
  expect(event_?.fields.owner).toBe(owner2);
1109
1259
  await unsubscribe();
@@ -1122,7 +1272,7 @@ export function lockProviderTestSuite(settings) {
1122
1272
  event_ = event;
1123
1273
  });
1124
1274
  await lock.releaseOrFail();
1125
- await delay(TTL);
1275
+ await LazyPromise.delay(DELAY_TIME);
1126
1276
  expect(event_?.fields.key).toBe(key);
1127
1277
  expect(event_?.fields.owner).toBe(owner);
1128
1278
  await unsubscribe();
@@ -1144,7 +1294,7 @@ export function lockProviderTestSuite(settings) {
1144
1294
  });
1145
1295
  try {
1146
1296
  await lock2.releaseOrFail();
1147
- await delay(TTL);
1297
+ await LazyPromise.delay(DELAY_TIME);
1148
1298
  }
1149
1299
  catch {
1150
1300
  /* Empty */
@@ -1171,7 +1321,7 @@ export function lockProviderTestSuite(settings) {
1171
1321
  event_ = event;
1172
1322
  });
1173
1323
  await lock2.forceRelease();
1174
- await delay(TTL);
1324
+ await LazyPromise.delay(DELAY_TIME);
1175
1325
  expect(event_?.fields.key).toBe(key);
1176
1326
  await unsubscribe();
1177
1327
  });
@@ -1189,10 +1339,10 @@ export function lockProviderTestSuite(settings) {
1189
1339
  const unsubscribe = await lock.subscribe(KeyRefreshedLockEvent, (event) => {
1190
1340
  event_ = event;
1191
1341
  });
1192
- await delay(TTL.divide(2));
1342
+ await LazyPromise.delay(TTL.divide(2));
1193
1343
  const newTTL = TTL.multiply(2);
1194
1344
  await lock.refresh(newTTL);
1195
- await delay(TTL);
1345
+ await LazyPromise.delay(DELAY_TIME);
1196
1346
  expect(event_?.fields.key).toBe(key);
1197
1347
  expect(event_?.fields.owner).toBe(owner);
1198
1348
  expect(event_?.fields.ttl.toMilliseconds()).toBe(newTTL.toMilliseconds());
@@ -1214,10 +1364,10 @@ export function lockProviderTestSuite(settings) {
1214
1364
  const unsubscribe = await lock1.subscribe(UnownedRefreshLockEvent, (event) => {
1215
1365
  event_ = event;
1216
1366
  });
1217
- await delay(TTL.divide(2));
1367
+ await LazyPromise.delay(TTL.divide(2));
1218
1368
  const newTTL = TTL.multiply(2);
1219
1369
  await lock2.refresh(newTTL);
1220
- await delay(TTL);
1370
+ await LazyPromise.delay(DELAY_TIME);
1221
1371
  expect(event_?.fields.key).toBe(key);
1222
1372
  expect(event_?.fields.owner).toBe(owner2);
1223
1373
  await unsubscribe();
@@ -1236,10 +1386,10 @@ export function lockProviderTestSuite(settings) {
1236
1386
  const unsubscribe = await lock.subscribe(KeyRefreshedLockEvent, (event) => {
1237
1387
  event_ = event;
1238
1388
  });
1239
- await delay(TTL.divide(2));
1389
+ await LazyPromise.delay(TTL.divide(2));
1240
1390
  const newTTL = TTL.multiply(2);
1241
1391
  await lock.refreshOrFail(newTTL);
1242
- await delay(TTL);
1392
+ await LazyPromise.delay(DELAY_TIME);
1243
1393
  expect(event_?.fields.key).toBe(key);
1244
1394
  expect(event_?.fields.owner).toBe(owner);
1245
1395
  expect(event_?.fields.ttl.toMilliseconds()).toBe(newTTL.toMilliseconds());
@@ -1261,11 +1411,11 @@ export function lockProviderTestSuite(settings) {
1261
1411
  const unsubscribe = await lock1.subscribe(UnownedRefreshLockEvent, (event) => {
1262
1412
  event_ = event;
1263
1413
  });
1264
- await delay(TTL.divide(2));
1414
+ await LazyPromise.delay(TTL.divide(2));
1265
1415
  const newTTL = TTL.multiply(2);
1266
1416
  try {
1267
1417
  await lock2.refreshOrFail(newTTL);
1268
- await delay(TTL);
1418
+ await LazyPromise.delay(DELAY_TIME);
1269
1419
  }
1270
1420
  catch {
1271
1421
  /* Empty */
@@ -1290,9 +1440,9 @@ export function lockProviderTestSuite(settings) {
1290
1440
  event_ = event;
1291
1441
  });
1292
1442
  await lock.run(async () => {
1293
- await delay(TTL);
1443
+ await LazyPromise.delay(DELAY_TIME);
1294
1444
  });
1295
- await delay(TTL);
1445
+ await LazyPromise.delay(DELAY_TIME);
1296
1446
  expect(event_?.fields.key).toBe("a");
1297
1447
  expect(event_?.fields.owner).toBe(owner);
1298
1448
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -1310,9 +1460,9 @@ export function lockProviderTestSuite(settings) {
1310
1460
  event_ = event;
1311
1461
  });
1312
1462
  await lock.run(async () => {
1313
- await delay(TTL);
1463
+ await LazyPromise.delay(DELAY_TIME);
1314
1464
  });
1315
- await delay(TTL);
1465
+ await LazyPromise.delay(DELAY_TIME);
1316
1466
  expect(event_?.fields.key).toBe(key);
1317
1467
  expect(event_?.fields.owner).toBe(owner);
1318
1468
  await unsubscribe();
@@ -1329,9 +1479,9 @@ export function lockProviderTestSuite(settings) {
1329
1479
  event_ = event;
1330
1480
  });
1331
1481
  await lock.run(async () => {
1332
- await delay(TTL);
1482
+ await LazyPromise.delay(DELAY_TIME);
1333
1483
  });
1334
- await delay(TTL);
1484
+ await LazyPromise.delay(DELAY_TIME);
1335
1485
  expect(event_?.fields.key).toBe("a");
1336
1486
  expect(event_?.fields.owner).toBe(owner);
1337
1487
  await unsubscribe();
@@ -1350,12 +1500,12 @@ export function lockProviderTestSuite(settings) {
1350
1500
  event_ = event;
1351
1501
  });
1352
1502
  await lock.runBlocking(async () => {
1353
- await delay(TTL);
1503
+ await LazyPromise.delay(DELAY_TIME);
1354
1504
  }, {
1355
1505
  time: TimeSpan.fromMilliseconds(5),
1356
1506
  interval: TimeSpan.fromMilliseconds(5),
1357
1507
  });
1358
- await delay(TTL);
1508
+ await LazyPromise.delay(DELAY_TIME);
1359
1509
  expect(event_?.fields.key).toBe("a");
1360
1510
  expect(event_?.fields.owner).toBe(owner);
1361
1511
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -1373,12 +1523,12 @@ export function lockProviderTestSuite(settings) {
1373
1523
  event_ = event;
1374
1524
  });
1375
1525
  await lock.runBlocking(async () => {
1376
- await delay(TTL);
1526
+ await LazyPromise.delay(DELAY_TIME);
1377
1527
  }, {
1378
1528
  time: TimeSpan.fromMilliseconds(5),
1379
1529
  interval: TimeSpan.fromMilliseconds(5),
1380
1530
  });
1381
- await delay(TTL);
1531
+ await LazyPromise.delay(DELAY_TIME);
1382
1532
  expect(event_?.fields.key).toBe(key);
1383
1533
  expect(event_?.fields.owner).toBe(owner);
1384
1534
  await unsubscribe();
@@ -1395,12 +1545,12 @@ export function lockProviderTestSuite(settings) {
1395
1545
  event_ = event;
1396
1546
  });
1397
1547
  await lock.runBlocking(async () => {
1398
- await delay(TTL);
1548
+ await LazyPromise.delay(DELAY_TIME);
1399
1549
  }, {
1400
1550
  time: TimeSpan.fromMilliseconds(5),
1401
1551
  interval: TimeSpan.fromMilliseconds(5),
1402
1552
  });
1403
- await delay(TTL);
1553
+ await LazyPromise.delay(DELAY_TIME);
1404
1554
  expect(event_?.fields.key).toBe("a");
1405
1555
  expect(event_?.fields.owner).toBe(owner);
1406
1556
  await unsubscribe();
@@ -1419,9 +1569,9 @@ export function lockProviderTestSuite(settings) {
1419
1569
  event_ = event;
1420
1570
  });
1421
1571
  await lock.runOrFail(async () => {
1422
- await delay(TTL);
1572
+ await LazyPromise.delay(DELAY_TIME);
1423
1573
  });
1424
- await delay(TTL);
1574
+ await LazyPromise.delay(DELAY_TIME);
1425
1575
  expect(event_?.fields.key).toBe("a");
1426
1576
  expect(event_?.fields.owner).toBe(owner);
1427
1577
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -1439,9 +1589,9 @@ export function lockProviderTestSuite(settings) {
1439
1589
  event_ = event;
1440
1590
  });
1441
1591
  await lock.runOrFail(async () => {
1442
- await delay(TTL);
1592
+ await LazyPromise.delay(DELAY_TIME);
1443
1593
  });
1444
- await delay(TTL);
1594
+ await LazyPromise.delay(DELAY_TIME);
1445
1595
  expect(event_?.fields.key).toBe(key);
1446
1596
  expect(event_?.fields.owner).toBe(owner);
1447
1597
  await unsubscribe();
@@ -1459,9 +1609,9 @@ export function lockProviderTestSuite(settings) {
1459
1609
  });
1460
1610
  try {
1461
1611
  await lock.runOrFail(async () => {
1462
- await delay(TTL);
1612
+ await LazyPromise.delay(DELAY_TIME);
1463
1613
  });
1464
- await delay(TTL);
1614
+ await LazyPromise.delay(DELAY_TIME);
1465
1615
  }
1466
1616
  catch {
1467
1617
  /* Empty */
@@ -1484,7 +1634,7 @@ export function lockProviderTestSuite(settings) {
1484
1634
  event_ = event;
1485
1635
  });
1486
1636
  await lock.acquire();
1487
- await delay(TTL);
1637
+ await LazyPromise.delay(DELAY_TIME);
1488
1638
  expect(event_?.fields.key).toBe("a");
1489
1639
  expect(event_?.fields.owner).toBe(owner);
1490
1640
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -1502,7 +1652,7 @@ export function lockProviderTestSuite(settings) {
1502
1652
  event_ = event;
1503
1653
  });
1504
1654
  await lock.acquire();
1505
- await delay(TTL);
1655
+ await LazyPromise.delay(DELAY_TIME);
1506
1656
  expect(event_?.fields.key).toBe("a");
1507
1657
  expect(event_?.fields.owner).toBe(owner);
1508
1658
  await unsubscribe();
@@ -1521,7 +1671,7 @@ export function lockProviderTestSuite(settings) {
1521
1671
  event_ = event;
1522
1672
  });
1523
1673
  await lock.acquire();
1524
- await delay(TTL);
1674
+ await LazyPromise.delay(DELAY_TIME);
1525
1675
  expect(event_?.fields.key).toBe("a");
1526
1676
  expect(event_?.fields.owner).toBe(owner);
1527
1677
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -1539,7 +1689,7 @@ export function lockProviderTestSuite(settings) {
1539
1689
  event_ = event;
1540
1690
  });
1541
1691
  await lock.acquire();
1542
- await delay(TTL);
1692
+ await LazyPromise.delay(DELAY_TIME);
1543
1693
  expect(event_?.fields.key).toBe("a");
1544
1694
  expect(event_?.fields.owner).toBe(owner);
1545
1695
  await unsubscribe();
@@ -1558,7 +1708,7 @@ export function lockProviderTestSuite(settings) {
1558
1708
  event_ = event;
1559
1709
  });
1560
1710
  await lock.acquireOrFail();
1561
- await delay(TTL);
1711
+ await LazyPromise.delay(DELAY_TIME);
1562
1712
  expect(event_?.fields.key).toBe("a");
1563
1713
  expect(event_?.fields.owner).toBe(owner);
1564
1714
  expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
@@ -1577,7 +1727,7 @@ export function lockProviderTestSuite(settings) {
1577
1727
  });
1578
1728
  try {
1579
1729
  await lock.acquireOrFail();
1580
- await delay(TTL);
1730
+ await LazyPromise.delay(DELAY_TIME);
1581
1731
  }
1582
1732
  catch {
1583
1733
  /* Empty */
@@ -1600,7 +1750,7 @@ export function lockProviderTestSuite(settings) {
1600
1750
  event_ = event;
1601
1751
  });
1602
1752
  await lock.release();
1603
- await delay(TTL);
1753
+ await LazyPromise.delay(DELAY_TIME);
1604
1754
  expect(event_?.fields.key).toBe(key);
1605
1755
  expect(event_?.fields.owner).toBe(owner);
1606
1756
  await unsubscribe();
@@ -1621,7 +1771,7 @@ export function lockProviderTestSuite(settings) {
1621
1771
  event_ = event;
1622
1772
  });
1623
1773
  await lock2.release();
1624
- await delay(TTL);
1774
+ await LazyPromise.delay(DELAY_TIME);
1625
1775
  expect(event_?.fields.key).toBe(key);
1626
1776
  expect(event_?.fields.owner).toBe(owner2);
1627
1777
  await unsubscribe();
@@ -1640,7 +1790,7 @@ export function lockProviderTestSuite(settings) {
1640
1790
  event_ = event;
1641
1791
  });
1642
1792
  await lock.releaseOrFail();
1643
- await delay(TTL);
1793
+ await LazyPromise.delay(DELAY_TIME);
1644
1794
  expect(event_?.fields.key).toBe(key);
1645
1795
  expect(event_?.fields.owner).toBe(owner);
1646
1796
  await unsubscribe();
@@ -1662,7 +1812,7 @@ export function lockProviderTestSuite(settings) {
1662
1812
  });
1663
1813
  try {
1664
1814
  await lock2.releaseOrFail();
1665
- await delay(TTL);
1815
+ await LazyPromise.delay(DELAY_TIME);
1666
1816
  }
1667
1817
  catch {
1668
1818
  /* Empty */
@@ -1689,7 +1839,7 @@ export function lockProviderTestSuite(settings) {
1689
1839
  event_ = event;
1690
1840
  });
1691
1841
  await lock2.forceRelease();
1692
- await delay(TTL);
1842
+ await LazyPromise.delay(DELAY_TIME);
1693
1843
  expect(event_?.fields.key).toBe(key);
1694
1844
  await unsubscribe();
1695
1845
  });
@@ -1707,10 +1857,10 @@ export function lockProviderTestSuite(settings) {
1707
1857
  const unsubscribe = await lockProviderA.subscribe(KeyRefreshedLockEvent, (event) => {
1708
1858
  event_ = event;
1709
1859
  });
1710
- await delay(TTL.divide(2));
1860
+ await LazyPromise.delay(TTL.divide(2));
1711
1861
  const newTTL = TTL.multiply(2);
1712
1862
  await lock.refresh(newTTL);
1713
- await delay(TTL);
1863
+ await LazyPromise.delay(DELAY_TIME);
1714
1864
  expect(event_?.fields.key).toBe(key);
1715
1865
  expect(event_?.fields.owner).toBe(owner);
1716
1866
  expect(event_?.fields.ttl.toMilliseconds()).toBe(newTTL.toMilliseconds());
@@ -1732,10 +1882,10 @@ export function lockProviderTestSuite(settings) {
1732
1882
  const unsubscribe = await lock1.subscribe(UnownedRefreshLockEvent, (event) => {
1733
1883
  event_ = event;
1734
1884
  });
1735
- await delay(TTL.divide(2));
1885
+ await LazyPromise.delay(TTL.divide(2));
1736
1886
  const newTTL = TTL.multiply(2);
1737
1887
  await lock2.refresh(newTTL);
1738
- await delay(TTL);
1888
+ await LazyPromise.delay(DELAY_TIME);
1739
1889
  expect(event_?.fields.key).toBe(key);
1740
1890
  expect(event_?.fields.owner).toBe(owner2);
1741
1891
  await unsubscribe();
@@ -1754,10 +1904,10 @@ export function lockProviderTestSuite(settings) {
1754
1904
  const unsubscribe = await lockProviderA.subscribe(KeyRefreshedLockEvent, (event) => {
1755
1905
  event_ = event;
1756
1906
  });
1757
- await delay(TTL.divide(2));
1907
+ await LazyPromise.delay(TTL.divide(2));
1758
1908
  const newTTL = TTL.multiply(2);
1759
1909
  await lock.refreshOrFail(newTTL);
1760
- await delay(TTL);
1910
+ await LazyPromise.delay(DELAY_TIME);
1761
1911
  expect(event_?.fields.key).toBe(key);
1762
1912
  expect(event_?.fields.owner).toBe(owner);
1763
1913
  expect(event_?.fields.ttl.toMilliseconds()).toBe(newTTL.toMilliseconds());
@@ -1779,11 +1929,11 @@ export function lockProviderTestSuite(settings) {
1779
1929
  const unsubscribe = await lock1.subscribe(UnownedRefreshLockEvent, (event) => {
1780
1930
  event_ = event;
1781
1931
  });
1782
- await delay(TTL.divide(2));
1932
+ await LazyPromise.delay(TTL.divide(2));
1783
1933
  const newTTL = TTL.multiply(2);
1784
1934
  try {
1785
1935
  await lock2.refreshOrFail(newTTL);
1786
- await delay(TTL);
1936
+ await LazyPromise.delay(DELAY_TIME);
1787
1937
  }
1788
1938
  catch {
1789
1939
  /* Empty */
@@ -1803,7 +1953,7 @@ export function lockProviderTestSuite(settings) {
1803
1953
  owner: ownerA,
1804
1954
  });
1805
1955
  const promiseA = lockA.run(async () => {
1806
- await delay(TTL);
1956
+ await LazyPromise.delay(DELAY_TIME);
1807
1957
  return "a";
1808
1958
  });
1809
1959
  const ownerB = "c";
@@ -1811,7 +1961,7 @@ export function lockProviderTestSuite(settings) {
1811
1961
  owner: ownerB,
1812
1962
  });
1813
1963
  const promiseB = lockB.run(async () => {
1814
- await delay(TTL);
1964
+ await LazyPromise.delay(DELAY_TIME);
1815
1965
  return "a";
1816
1966
  });
1817
1967
  const [[resultA, errorA], [resultB, errorB]] = await Promise.all([
@@ -1830,7 +1980,7 @@ export function lockProviderTestSuite(settings) {
1830
1980
  owner: ownerA,
1831
1981
  });
1832
1982
  const promiseA = lockA.run(async () => {
1833
- await delay(TTL);
1983
+ await LazyPromise.delay(DELAY_TIME);
1834
1984
  return "a";
1835
1985
  });
1836
1986
  const ownerB = "c";
@@ -1838,7 +1988,7 @@ export function lockProviderTestSuite(settings) {
1838
1988
  owner: ownerB,
1839
1989
  });
1840
1990
  const promiseB = lockB.runBlocking(async () => {
1841
- await delay(TTL);
1991
+ await LazyPromise.delay(DELAY_TIME);
1842
1992
  return "a";
1843
1993
  }, {
1844
1994
  time: TimeSpan.fromMilliseconds(5),
@@ -1860,7 +2010,7 @@ export function lockProviderTestSuite(settings) {
1860
2010
  owner: ownerA,
1861
2011
  });
1862
2012
  const promiseA = lockA.runOrFail(async () => {
1863
- await delay(TTL);
2013
+ await LazyPromise.delay(DELAY_TIME);
1864
2014
  return "a";
1865
2015
  });
1866
2016
  const ownerB = "c";
@@ -1868,7 +2018,7 @@ export function lockProviderTestSuite(settings) {
1868
2018
  owner: ownerB,
1869
2019
  });
1870
2020
  const promiseB = lockB.runOrFail(async () => {
1871
- await delay(TTL);
2021
+ await LazyPromise.delay(DELAY_TIME);
1872
2022
  return "a";
1873
2023
  });
1874
2024
  const [resultA, resultB] = await Promise.all([promiseA, promiseB]);
@@ -2013,9 +2163,9 @@ export function lockProviderTestSuite(settings) {
2013
2163
  ttl,
2014
2164
  });
2015
2165
  await Promise.all([lockA.acquire(), lockB.acquire()]);
2016
- await delay(ttl.divide(2));
2166
+ await LazyPromise.delay(ttl.divide(2));
2017
2167
  await lockA.refresh();
2018
- await delay(ttl.divide(2));
2168
+ await LazyPromise.delay(ttl.divide(2));
2019
2169
  const resultA = await lockA.isExpired();
2020
2170
  const resultB = await lockB.isExpired();
2021
2171
  expect(resultA).toBe(false);
@@ -2034,9 +2184,9 @@ export function lockProviderTestSuite(settings) {
2034
2184
  ttl,
2035
2185
  });
2036
2186
  await Promise.all([lockA.acquire(), lockB.acquire()]);
2037
- await delay(ttl.divide(2));
2187
+ await LazyPromise.delay(ttl.divide(2));
2038
2188
  await lockA.refreshOrFail();
2039
- await delay(ttl.divide(2));
2189
+ await LazyPromise.delay(ttl.divide(2));
2040
2190
  const resultA = await lockA.isExpired();
2041
2191
  const resultB = await lockB.isExpired();
2042
2192
  expect(resultA).toBe(false);
@@ -2056,7 +2206,7 @@ export function lockProviderTestSuite(settings) {
2056
2206
  result_b = event;
2057
2207
  });
2058
2208
  await lockA.acquire();
2059
- await delay(TTL);
2209
+ await LazyPromise.delay(DELAY_TIME);
2060
2210
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2061
2211
  expect(result_b).toBeNull();
2062
2212
  });
@@ -2073,7 +2223,7 @@ export function lockProviderTestSuite(settings) {
2073
2223
  result_b = event;
2074
2224
  });
2075
2225
  await lockA.acquire();
2076
- await delay(TTL);
2226
+ await LazyPromise.delay(DELAY_TIME);
2077
2227
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2078
2228
  expect(result_b).toBeNull();
2079
2229
  });
@@ -2093,7 +2243,7 @@ export function lockProviderTestSuite(settings) {
2093
2243
  await lockB.removeListener(KeyAcquiredLockEvent, listenerB);
2094
2244
  await lockA.acquire();
2095
2245
  await lockB.acquire();
2096
- await delay(TTL);
2246
+ await LazyPromise.delay(DELAY_TIME);
2097
2247
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2098
2248
  expect(result_b).toBeNull();
2099
2249
  });
@@ -2113,7 +2263,7 @@ export function lockProviderTestSuite(settings) {
2113
2263
  await lockB.removeListenerMany([KeyAcquiredLockEvent], listenerB);
2114
2264
  await lockA.acquire();
2115
2265
  await lockB.acquire();
2116
- await delay(TTL);
2266
+ await LazyPromise.delay(DELAY_TIME);
2117
2267
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2118
2268
  expect(result_b).toBeNull();
2119
2269
  });
@@ -2133,7 +2283,7 @@ export function lockProviderTestSuite(settings) {
2133
2283
  await unsubscribe();
2134
2284
  await lockA.acquire();
2135
2285
  await lockB.acquire();
2136
- await delay(TTL);
2286
+ await LazyPromise.delay(DELAY_TIME);
2137
2287
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2138
2288
  expect(result_b).toBeNull();
2139
2289
  });
@@ -2153,7 +2303,7 @@ export function lockProviderTestSuite(settings) {
2153
2303
  await unsubscribe();
2154
2304
  await lockA.acquire();
2155
2305
  await lockB.acquire();
2156
- await delay(TTL);
2306
+ await LazyPromise.delay(DELAY_TIME);
2157
2307
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2158
2308
  expect(result_b).toBeNull();
2159
2309
  });
@@ -2171,7 +2321,7 @@ export function lockProviderTestSuite(settings) {
2171
2321
  result_b = event;
2172
2322
  });
2173
2323
  await lockA.acquire();
2174
- await delay(TTL);
2324
+ await LazyPromise.delay(DELAY_TIME);
2175
2325
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2176
2326
  expect(result_b).toBeNull();
2177
2327
  });
@@ -2187,7 +2337,7 @@ export function lockProviderTestSuite(settings) {
2187
2337
  result_b = event;
2188
2338
  });
2189
2339
  await lockA.acquire();
2190
- await delay(TTL);
2340
+ await LazyPromise.delay(DELAY_TIME);
2191
2341
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2192
2342
  expect(result_b).toBeNull();
2193
2343
  });
@@ -2207,7 +2357,7 @@ export function lockProviderTestSuite(settings) {
2207
2357
  await lockProviderB.removeListener(KeyAcquiredLockEvent, listenerB);
2208
2358
  await lockA.acquire();
2209
2359
  await lockB.acquire();
2210
- await delay(TTL);
2360
+ await LazyPromise.delay(DELAY_TIME);
2211
2361
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2212
2362
  expect(result_b).toBeNull();
2213
2363
  });
@@ -2227,7 +2377,7 @@ export function lockProviderTestSuite(settings) {
2227
2377
  await lockProviderB.removeListenerMany([KeyAcquiredLockEvent], listenerB);
2228
2378
  await lockA.acquire();
2229
2379
  await lockB.acquire();
2230
- await delay(TTL);
2380
+ await LazyPromise.delay(DELAY_TIME);
2231
2381
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2232
2382
  expect(result_b).toBeNull();
2233
2383
  });
@@ -2247,7 +2397,7 @@ export function lockProviderTestSuite(settings) {
2247
2397
  await unsubscribe();
2248
2398
  await lockA.acquire();
2249
2399
  await lockB.acquire();
2250
- await delay(TTL);
2400
+ await LazyPromise.delay(DELAY_TIME);
2251
2401
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2252
2402
  expect(result_b).toBeNull();
2253
2403
  });
@@ -2267,7 +2417,7 @@ export function lockProviderTestSuite(settings) {
2267
2417
  await unsubscribe();
2268
2418
  await lockA.acquire();
2269
2419
  await lockB.acquire();
2270
- await delay(TTL);
2420
+ await LazyPromise.delay(DELAY_TIME);
2271
2421
  expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
2272
2422
  expect(result_b).toBeNull();
2273
2423
  });
@@ -2277,7 +2427,7 @@ export function lockProviderTestSuite(settings) {
2277
2427
  test("Should preserve state", async () => {
2278
2428
  const key = "a";
2279
2429
  const owner = "b";
2280
- const lock = lockProviderB.create(key, {
2430
+ const lock = lockProviderA.create(key, {
2281
2431
  owner,
2282
2432
  });
2283
2433
  await lock.acquire();
@@ -2288,7 +2438,7 @@ export function lockProviderTestSuite(settings) {
2288
2438
  test("Should preserve owner", async () => {
2289
2439
  const key = "a";
2290
2440
  const owner = "b";
2291
- const lock = lockProviderB.create(key, {
2441
+ const lock = lockProviderA.create(key, {
2292
2442
  owner,
2293
2443
  });
2294
2444
  const deserializedLock = serde.deserialize(serde.serialize(lock));
@@ -2298,16 +2448,16 @@ export function lockProviderTestSuite(settings) {
2298
2448
  const key = "a";
2299
2449
  const owner = "b";
2300
2450
  const ttl = TTL.multiply(2);
2301
- const lock = lockProviderB.create(key, {
2451
+ const lock = lockProviderA.create(key, {
2302
2452
  owner,
2303
2453
  ttl,
2304
2454
  });
2305
2455
  await lock.acquire();
2306
2456
  const deserializedLock = serde.deserialize(serde.serialize(lock));
2307
2457
  const delayTime = TTL;
2308
- await delay(delayTime);
2458
+ await LazyPromise.delay(delayTime);
2309
2459
  expect(await deserializedLock.isLocked()).toBe(true);
2310
- await delay(delayTime);
2460
+ await LazyPromise.delay(delayTime);
2311
2461
  expect(await deserializedLock.isLocked()).toBe(false);
2312
2462
  });
2313
2463
  });