@daiso-tech/core 0.40.0 → 0.41.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 (671) hide show
  1. package/dist/backoff-policies/_module-exports.d.ts +5 -0
  2. package/dist/backoff-policies/_module-exports.js +6 -0
  3. package/dist/backoff-policies/_module-exports.js.map +1 -0
  4. package/dist/{async/backof-policies → backoff-policies}/_shared.d.ts +6 -7
  5. package/dist/{async/backof-policies → backoff-policies}/_shared.js +1 -1
  6. package/dist/backoff-policies/_shared.js.map +1 -0
  7. package/dist/backoff-policies/constant-backoff-policy/_module.d.ts +1 -0
  8. package/dist/backoff-policies/constant-backoff-policy/_module.js +2 -0
  9. package/dist/backoff-policies/constant-backoff-policy/_module.js.map +1 -0
  10. package/dist/{async/backof-policies → backoff-policies}/constant-backoff-policy/constant-backoff-policy.d.ts +6 -8
  11. package/dist/{async/backof-policies → backoff-policies}/constant-backoff-policy/constant-backoff-policy.js +8 -10
  12. package/dist/backoff-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
  13. package/dist/backoff-policies/exponential-backoff-policy/_module.d.ts +1 -0
  14. package/dist/backoff-policies/exponential-backoff-policy/_module.js +2 -0
  15. package/dist/backoff-policies/exponential-backoff-policy/_module.js.map +1 -0
  16. package/dist/{async/backof-policies → backoff-policies}/exponential-backoff-policy/exponential-backoff-policy.d.ts +7 -9
  17. package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.js +30 -0
  18. package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
  19. package/dist/backoff-policies/linear-backoff-policy/_module.d.ts +1 -0
  20. package/dist/backoff-policies/linear-backoff-policy/_module.js +2 -0
  21. package/dist/backoff-policies/linear-backoff-policy/_module.js.map +1 -0
  22. package/dist/{async/backof-policies → backoff-policies}/linear-backoff-policy/linear-backoff-policy.d.ts +7 -9
  23. package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.js +30 -0
  24. package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
  25. package/dist/backoff-policies/polynomial-backoff-policy/_module.d.ts +1 -0
  26. package/dist/backoff-policies/polynomial-backoff-policy/_module.js +2 -0
  27. package/dist/backoff-policies/polynomial-backoff-policy/_module.js.map +1 -0
  28. package/dist/{async/backof-policies → backoff-policies}/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +7 -9
  29. package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +30 -0
  30. package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
  31. package/dist/cache/contracts/cache-adapter.contract.d.ts +3 -3
  32. package/dist/cache/contracts/cache.contract.d.ts +22 -22
  33. package/dist/cache/contracts/cache.errors.d.ts +7 -14
  34. package/dist/cache/contracts/cache.errors.js +12 -24
  35. package/dist/cache/contracts/cache.errors.js.map +1 -1
  36. package/dist/cache/contracts/cache.events.d.ts +1 -1
  37. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +1 -1
  38. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +4 -4
  39. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
  40. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +1 -1
  41. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +2 -2
  42. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  43. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +3 -2
  44. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +3 -3
  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 +1 -1
  47. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +1 -1
  48. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
  49. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  50. package/dist/cache/implementations/derivables/cache/cache.d.ts +38 -43
  51. package/dist/cache/implementations/derivables/cache/cache.js +106 -101
  52. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  53. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +1 -1
  54. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +3 -3
  55. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -1
  56. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +6 -8
  57. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +5 -15
  58. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  59. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +1 -1
  60. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +48 -48
  61. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  62. package/dist/cache/implementations/test-utilities/cache.test-suite.js +107 -107
  63. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  64. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +2 -1
  65. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -1
  66. package/dist/collection/contracts/async-collection.contract.d.ts +43 -43
  67. package/dist/collection/contracts/collection.contract.d.ts +15 -1
  68. package/dist/collection/contracts/collection.contract.js +1 -3
  69. package/dist/collection/contracts/collection.contract.js.map +1 -1
  70. package/dist/collection/contracts/collection.errors.d.ts +4 -13
  71. package/dist/collection/contracts/collection.errors.js +4 -16
  72. package/dist/collection/contracts/collection.errors.js.map +1 -1
  73. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.d.ts +6 -0
  74. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js +3 -0
  75. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js.map +1 -1
  76. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +40 -51
  77. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +31 -37
  78. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  79. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.d.ts +3 -0
  80. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js +6 -0
  81. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js.map +1 -1
  82. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +3 -3
  83. package/dist/collection/implementations/iterable-collection/iterable-collection.js +5 -2
  84. package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  85. package/dist/collection/implementations/list-collection/list-collection.d.ts +3 -3
  86. package/dist/collection/implementations/list-collection/list-collection.js +5 -2
  87. package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
  88. package/dist/event-bus/contracts/event-bus.contract.d.ts +10 -10
  89. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -6
  90. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +7 -9
  91. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  92. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +17 -24
  93. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +32 -32
  94. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  95. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +1 -3
  96. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +4 -8
  97. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  98. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +34 -32
  99. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  100. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +195 -190
  101. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  102. package/dist/hooks/_module-exports.d.ts +3 -0
  103. package/dist/hooks/_module-exports.js +4 -0
  104. package/dist/hooks/_module-exports.js.map +1 -0
  105. package/dist/{utilities/classes/hooks → hooks}/async-hooks.d.ts +15 -26
  106. package/dist/{utilities/classes/hooks → hooks}/async-hooks.js +4 -6
  107. package/dist/hooks/async-hooks.js.map +1 -0
  108. package/dist/{utilities/classes/hooks → hooks}/hooks.d.ts +11 -18
  109. package/dist/{utilities/classes/hooks → hooks}/hooks.js +4 -5
  110. package/dist/hooks/hooks.js.map +1 -0
  111. package/dist/{utilities/classes/hooks → hooks}/types.d.ts +2 -3
  112. package/dist/hooks/types.js +5 -0
  113. package/dist/hooks/types.js.map +1 -0
  114. package/dist/lock/contracts/_module-exports.d.ts +4 -2
  115. package/dist/lock/contracts/_module-exports.js +4 -2
  116. package/dist/lock/contracts/_module-exports.js.map +1 -1
  117. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +24 -17
  118. package/dist/lock/contracts/lock-adapter.contract.d.ts +15 -24
  119. package/dist/lock/contracts/lock-adapter.contract.js +1 -10
  120. package/dist/lock/contracts/lock-adapter.contract.js.map +1 -1
  121. package/dist/lock/contracts/lock-provider.contract.d.ts +5 -5
  122. package/dist/lock/contracts/lock-state.contract.d.ts +52 -0
  123. package/dist/lock/contracts/lock-state.contract.js +14 -0
  124. package/dist/lock/contracts/lock-state.contract.js.map +1 -0
  125. package/dist/lock/contracts/lock.contract.d.ts +64 -55
  126. package/dist/lock/contracts/lock.errors.d.ts +13 -20
  127. package/dist/lock/contracts/lock.errors.js +19 -26
  128. package/dist/lock/contracts/lock.errors.js.map +1 -1
  129. package/dist/lock/contracts/lock.events.d.ts +21 -49
  130. package/dist/lock/contracts/lock.events.js +2 -3
  131. package/dist/lock/contracts/lock.events.js.map +1 -1
  132. package/dist/lock/contracts/types.d.ts +11 -0
  133. package/dist/lock/contracts/types.js +5 -0
  134. package/dist/lock/contracts/types.js.map +1 -0
  135. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +21 -19
  136. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +92 -61
  137. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  138. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +8 -5
  139. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +33 -13
  140. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
  141. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +7 -8
  142. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +33 -20
  143. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  144. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +6 -5
  145. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +7 -5
  146. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -1
  147. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +26 -8
  148. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +61 -28
  149. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
  150. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +6 -5
  151. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +33 -33
  152. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
  153. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.d.ts +2 -2
  154. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +4 -6
  155. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
  156. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +29 -39
  157. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +31 -35
  158. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  159. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +5 -8
  160. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +27 -23
  161. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  162. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +38 -34
  163. package/dist/lock/implementations/derivables/lock-provider/lock.js +182 -257
  164. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  165. package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.d.ts +9 -0
  166. package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.js +12 -0
  167. package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.js.map +1 -0
  168. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +12 -13
  169. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +7 -16
  170. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  171. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +310 -207
  172. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
  173. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +1 -1
  174. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +376 -292
  175. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
  176. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +15 -5
  177. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +3285 -2976
  178. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  179. package/dist/namespace/_module-exports.d.ts +1 -0
  180. package/dist/namespace/_module-exports.js +2 -0
  181. package/dist/namespace/_module-exports.js.map +1 -0
  182. package/dist/namespace/namespace.d.ts +87 -0
  183. package/dist/namespace/namespace.js +117 -0
  184. package/dist/namespace/namespace.js.map +1 -0
  185. package/dist/resilience/_module-exports.d.ts +2 -0
  186. package/dist/resilience/_module-exports.js +3 -0
  187. package/dist/resilience/_module-exports.js.map +1 -0
  188. package/dist/resilience/middlewares/_module.d.ts +5 -0
  189. package/dist/resilience/middlewares/_module.js +6 -0
  190. package/dist/resilience/middlewares/_module.js.map +1 -0
  191. package/dist/resilience/middlewares/dynamic/_module.d.ts +1 -0
  192. package/dist/resilience/middlewares/dynamic/_module.js +2 -0
  193. package/dist/resilience/middlewares/dynamic/_module.js.map +1 -0
  194. package/dist/{async → resilience}/middlewares/dynamic/dynamic.middleware.d.ts +6 -6
  195. package/dist/{async → resilience}/middlewares/dynamic/dynamic.middleware.js +5 -5
  196. package/dist/resilience/middlewares/dynamic/dynamic.middleware.js.map +1 -0
  197. package/dist/resilience/middlewares/fallback/_module.d.ts +2 -0
  198. package/dist/resilience/middlewares/fallback/_module.js +3 -0
  199. package/dist/resilience/middlewares/fallback/_module.js.map +1 -0
  200. package/dist/{async → resilience}/middlewares/fallback/fallback.middleware.d.ts +9 -9
  201. package/dist/{async → resilience}/middlewares/fallback/fallback.middleware.js +7 -6
  202. package/dist/resilience/middlewares/fallback/fallback.middleware.js.map +1 -0
  203. package/dist/{async → resilience}/middlewares/fallback/fallback.types.d.ts +7 -6
  204. package/dist/{async → resilience}/middlewares/fallback/fallback.types.js +1 -1
  205. package/dist/resilience/middlewares/fallback/fallback.types.js.map +1 -0
  206. package/dist/resilience/middlewares/observe/_module.d.ts +2 -0
  207. package/dist/resilience/middlewares/observe/_module.js +3 -0
  208. package/dist/resilience/middlewares/observe/_module.js.map +1 -0
  209. package/dist/{async → resilience}/middlewares/observe/observe.middleware.d.ts +13 -11
  210. package/dist/{async → resilience}/middlewares/observe/observe.middleware.js +14 -10
  211. package/dist/resilience/middlewares/observe/observe.middleware.js.map +1 -0
  212. package/dist/{async → resilience}/middlewares/observe/observe.types.d.ts +13 -12
  213. package/dist/resilience/middlewares/observe/observe.types.js +5 -0
  214. package/dist/resilience/middlewares/observe/observe.types.js.map +1 -0
  215. package/dist/resilience/middlewares/retry/_module.d.ts +2 -0
  216. package/dist/resilience/middlewares/retry/_module.js +3 -0
  217. package/dist/resilience/middlewares/retry/_module.js.map +1 -0
  218. package/dist/{async → resilience}/middlewares/retry/retry.middleware.d.ts +12 -9
  219. package/dist/{async → resilience}/middlewares/retry/retry.middleware.js +19 -15
  220. package/dist/resilience/middlewares/retry/retry.middleware.js.map +1 -0
  221. package/dist/{async → resilience}/middlewares/retry/retry.types.d.ts +14 -12
  222. package/dist/resilience/middlewares/retry/retry.types.js +7 -0
  223. package/dist/resilience/middlewares/retry/retry.types.js.map +1 -0
  224. package/dist/resilience/middlewares/timeout/_module.d.ts +2 -0
  225. package/dist/resilience/middlewares/timeout/_module.js +3 -0
  226. package/dist/resilience/middlewares/timeout/_module.js.map +1 -0
  227. package/dist/{async → resilience}/middlewares/timeout/timeout.middleware.d.ts +9 -7
  228. package/dist/{async → resilience}/middlewares/timeout/timeout.middleware.js +12 -11
  229. package/dist/resilience/middlewares/timeout/timeout.middleware.js.map +1 -0
  230. package/dist/{async → resilience}/middlewares/timeout/timeout.type.d.ts +10 -9
  231. package/dist/resilience/middlewares/timeout/timeout.type.js +5 -0
  232. package/dist/resilience/middlewares/timeout/timeout.type.js.map +1 -0
  233. package/dist/resilience/resilience.errors.d.ts +40 -0
  234. package/dist/resilience/resilience.errors.js +48 -0
  235. package/dist/resilience/resilience.errors.js.map +1 -0
  236. package/dist/resilience/utilities/_module.d.ts +2 -0
  237. package/dist/resilience/utilities/_module.js +3 -0
  238. package/dist/resilience/utilities/_module.js.map +1 -0
  239. package/dist/resilience/utilities/abort-and-fail/_module.d.ts +1 -0
  240. package/dist/resilience/utilities/abort-and-fail/_module.js +2 -0
  241. package/dist/resilience/utilities/abort-and-fail/_module.js.map +1 -0
  242. package/dist/resilience/utilities/abort-and-fail/abort-and-fail.d.ts +7 -0
  243. package/dist/resilience/utilities/abort-and-fail/abort-and-fail.js +51 -0
  244. package/dist/resilience/utilities/abort-and-fail/abort-and-fail.js.map +1 -0
  245. package/dist/resilience/utilities/timeout-and-fail/_module.d.ts +1 -0
  246. package/dist/resilience/utilities/timeout-and-fail/_module.js +2 -0
  247. package/dist/resilience/utilities/timeout-and-fail/_module.js.map +1 -0
  248. package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.d.ts +7 -0
  249. package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.js +23 -0
  250. package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.js.map +1 -0
  251. package/dist/semaphore/contracts/_module-exports.d.ts +9 -0
  252. package/dist/semaphore/contracts/_module-exports.js +10 -0
  253. package/dist/semaphore/contracts/_module-exports.js.map +1 -0
  254. package/dist/semaphore/contracts/database-semaphore-adapter.contract.d.ts +90 -0
  255. package/dist/semaphore/contracts/database-semaphore-adapter.contract.js +5 -0
  256. package/dist/semaphore/contracts/database-semaphore-adapter.contract.js.map +1 -0
  257. package/dist/semaphore/contracts/semaphore-adapter.contract.d.ts +61 -0
  258. package/dist/semaphore/contracts/semaphore-adapter.contract.js +5 -0
  259. package/dist/semaphore/contracts/semaphore-adapter.contract.js.map +1 -0
  260. package/dist/semaphore/contracts/semaphore-provider-factory.contract.d.ts +19 -0
  261. package/dist/semaphore/contracts/semaphore-provider-factory.contract.js +9 -0
  262. package/dist/semaphore/contracts/semaphore-provider-factory.contract.js.map +1 -0
  263. package/dist/semaphore/contracts/semaphore-provider.contract.d.ts +50 -0
  264. package/dist/semaphore/contracts/semaphore-provider.contract.js +5 -0
  265. package/dist/semaphore/contracts/semaphore-provider.contract.js.map +1 -0
  266. package/dist/semaphore/contracts/semaphore-state.contract.d.ts +70 -0
  267. package/dist/semaphore/contracts/semaphore-state.contract.js +15 -0
  268. package/dist/semaphore/contracts/semaphore-state.contract.js.map +1 -0
  269. package/dist/semaphore/contracts/semaphore.contract.d.ts +127 -0
  270. package/dist/semaphore/contracts/semaphore.contract.js +5 -0
  271. package/dist/semaphore/contracts/semaphore.contract.js.map +1 -0
  272. package/dist/semaphore/contracts/semaphore.errors.d.ts +52 -0
  273. package/dist/semaphore/contracts/semaphore.errors.js +63 -0
  274. package/dist/semaphore/contracts/semaphore.errors.js.map +1 -0
  275. package/dist/semaphore/contracts/semaphore.events.d.ts +101 -0
  276. package/dist/semaphore/contracts/semaphore.events.js +19 -0
  277. package/dist/semaphore/contracts/semaphore.events.js.map +1 -0
  278. package/dist/semaphore/contracts/types.d.ts +11 -0
  279. package/dist/semaphore/contracts/types.js +5 -0
  280. package/dist/semaphore/contracts/types.js.map +1 -0
  281. package/dist/semaphore/implementations/adapters/_module-exports.d.ts +5 -0
  282. package/dist/semaphore/implementations/adapters/_module-exports.js +6 -0
  283. package/dist/semaphore/implementations/adapters/_module-exports.js.map +1 -0
  284. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.d.ts +1 -0
  285. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.js +2 -0
  286. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.js.map +1 -0
  287. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.d.ts +97 -0
  288. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js +313 -0
  289. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js.map +1 -0
  290. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.d.ts +1 -0
  291. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.js +2 -0
  292. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.js.map +1 -0
  293. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.d.ts +49 -0
  294. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js +141 -0
  295. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js.map +1 -0
  296. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.d.ts +1 -0
  297. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.js +2 -0
  298. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.js.map +1 -0
  299. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.d.ts +80 -0
  300. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js +390 -0
  301. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js.map +1 -0
  302. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.d.ts +1 -0
  303. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.js +2 -0
  304. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.js.map +1 -0
  305. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.d.ts +18 -0
  306. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js +30 -0
  307. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js.map +1 -0
  308. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.d.ts +1 -0
  309. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.js +2 -0
  310. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.js.map +1 -0
  311. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.d.ts +48 -0
  312. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.js +338 -0
  313. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.js.map +1 -0
  314. package/dist/semaphore/implementations/derivables/_module-exports.d.ts +2 -0
  315. package/dist/semaphore/implementations/derivables/_module-exports.js +3 -0
  316. package/dist/semaphore/implementations/derivables/_module-exports.js.map +1 -0
  317. package/dist/semaphore/implementations/derivables/semaphore-provider/_module.d.ts +1 -0
  318. package/dist/semaphore/implementations/derivables/semaphore-provider/_module.js +2 -0
  319. package/dist/semaphore/implementations/derivables/semaphore-provider/_module.js.map +1 -0
  320. package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.d.ts +17 -0
  321. package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js +74 -0
  322. package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js.map +1 -0
  323. package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.d.ts +8 -0
  324. package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js +15 -0
  325. package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js.map +1 -0
  326. package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.d.ts +8 -0
  327. package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.js +15 -0
  328. package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.js.map +1 -0
  329. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +149 -0
  330. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js +135 -0
  331. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -0
  332. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.d.ts +41 -0
  333. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js +77 -0
  334. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +1 -0
  335. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.d.ts +83 -0
  336. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js +336 -0
  337. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +1 -0
  338. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.d.ts +1 -0
  339. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js +2 -0
  340. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js.map +1 -0
  341. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.d.ts +40 -0
  342. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js +67 -0
  343. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +1 -0
  344. package/dist/semaphore/implementations/test-utilities/_module-exports.d.ts +3 -0
  345. package/dist/semaphore/implementations/test-utilities/_module-exports.js +4 -0
  346. package/dist/semaphore/implementations/test-utilities/_module-exports.js.map +1 -0
  347. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.d.ts +59 -0
  348. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js +536 -0
  349. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js.map +1 -0
  350. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.d.ts +59 -0
  351. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js +961 -0
  352. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js.map +1 -0
  353. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.d.ts +67 -0
  354. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js +4981 -0
  355. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js.map +1 -0
  356. package/dist/serde/contracts/_module-exports.d.ts +0 -1
  357. package/dist/serde/contracts/_module-exports.js +0 -1
  358. package/dist/serde/contracts/_module-exports.js.map +1 -1
  359. package/dist/serde/contracts/flexible-serde.contract.d.ts +21 -5
  360. package/dist/serde/contracts/serde.errors.d.ts +14 -11
  361. package/dist/serde/contracts/serde.errors.js +15 -14
  362. package/dist/serde/contracts/serde.errors.js.map +1 -1
  363. package/dist/serde/implementations/adapters/_module-exports.d.ts +0 -3
  364. package/dist/serde/implementations/adapters/_module-exports.js +0 -3
  365. package/dist/serde/implementations/adapters/_module-exports.js.map +1 -1
  366. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +6 -0
  367. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  368. package/dist/serde/implementations/derivables/serde-transformers.d.ts +38 -30
  369. package/dist/serde/implementations/derivables/serde-transformers.js +62 -20
  370. package/dist/serde/implementations/derivables/serde-transformers.js.map +1 -1
  371. package/dist/serde/implementations/derivables/serde.d.ts +12 -3
  372. package/dist/serde/implementations/derivables/serde.js +5 -2
  373. package/dist/serde/implementations/derivables/serde.js.map +1 -1
  374. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +85 -1
  375. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js.map +1 -1
  376. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +85 -1
  377. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js.map +1 -1
  378. package/dist/shared-lock/contracts/_module-exports.d.ts +10 -0
  379. package/dist/shared-lock/contracts/_module-exports.js +11 -0
  380. package/dist/shared-lock/contracts/_module-exports.js.map +1 -0
  381. package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.d.ts +145 -0
  382. package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.js +5 -0
  383. package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.js.map +1 -0
  384. package/dist/shared-lock/contracts/shared-lock-adapter.contract.d.ts +96 -0
  385. package/dist/shared-lock/contracts/shared-lock-adapter.contract.js +5 -0
  386. package/dist/shared-lock/contracts/shared-lock-adapter.contract.js.map +1 -0
  387. package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.d.ts +19 -0
  388. package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js +9 -0
  389. package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js.map +1 -0
  390. package/dist/shared-lock/contracts/shared-lock-provider.contract.d.ts +53 -0
  391. package/dist/shared-lock/contracts/shared-lock-provider.contract.js +5 -0
  392. package/dist/shared-lock/contracts/shared-lock-provider.contract.js.map +1 -0
  393. package/dist/shared-lock/contracts/shared-lock-state.contract.d.ts +133 -0
  394. package/dist/shared-lock/contracts/shared-lock-state.contract.js +33 -0
  395. package/dist/shared-lock/contracts/shared-lock-state.contract.js.map +1 -0
  396. package/dist/shared-lock/contracts/shared-lock.contract.d.ts +222 -0
  397. package/dist/shared-lock/contracts/shared-lock.contract.js +13 -0
  398. package/dist/shared-lock/contracts/shared-lock.contract.js.map +1 -0
  399. package/dist/shared-lock/contracts/shared-lock.errors.d.ts +124 -0
  400. package/dist/shared-lock/contracts/shared-lock.errors.js +136 -0
  401. package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -0
  402. package/dist/shared-lock/contracts/shared-lock.events.d.ts +205 -0
  403. package/dist/shared-lock/contracts/shared-lock.events.js +43 -0
  404. package/dist/shared-lock/contracts/shared-lock.events.js.map +1 -0
  405. package/dist/shared-lock/contracts/types.d.ts +10 -0
  406. package/dist/shared-lock/contracts/types.js +5 -0
  407. package/dist/shared-lock/contracts/types.js.map +1 -0
  408. package/dist/shared-lock/implementations/adapters/_module-exports.d.ts +5 -0
  409. package/dist/shared-lock/implementations/adapters/_module-exports.js +6 -0
  410. package/dist/shared-lock/implementations/adapters/_module-exports.js.map +1 -0
  411. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.d.ts +1 -0
  412. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.js +2 -0
  413. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.js.map +1 -0
  414. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.d.ts +114 -0
  415. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js +496 -0
  416. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js.map +1 -0
  417. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.d.ts +1 -0
  418. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.js +2 -0
  419. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.js.map +1 -0
  420. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.d.ts +79 -0
  421. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js +347 -0
  422. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js.map +1 -0
  423. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.d.ts +1 -0
  424. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.js +2 -0
  425. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.js.map +1 -0
  426. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.d.ts +112 -0
  427. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js +805 -0
  428. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js.map +1 -0
  429. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.d.ts +1 -0
  430. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.js +2 -0
  431. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.js.map +1 -0
  432. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.d.ts +23 -0
  433. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js +42 -0
  434. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js.map +1 -0
  435. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.d.ts +1 -0
  436. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.js +2 -0
  437. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.js.map +1 -0
  438. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.d.ts +79 -0
  439. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.js +630 -0
  440. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.js.map +1 -0
  441. package/dist/shared-lock/implementations/derivables/_module-exports.d.ts +2 -0
  442. package/dist/shared-lock/implementations/derivables/_module-exports.js +3 -0
  443. package/dist/shared-lock/implementations/derivables/_module-exports.js.map +1 -0
  444. package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.d.ts +1 -0
  445. package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.js +2 -0
  446. package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.js.map +1 -0
  447. package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.d.ts +27 -0
  448. package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js +208 -0
  449. package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js.map +1 -0
  450. package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.d.ts +8 -0
  451. package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js +12 -0
  452. package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js.map +1 -0
  453. package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.d.ts +8 -0
  454. package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.js +15 -0
  455. package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.js.map +1 -0
  456. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +190 -0
  457. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js +177 -0
  458. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -0
  459. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.d.ts +41 -0
  460. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js +77 -0
  461. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +1 -0
  462. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.d.ts +95 -0
  463. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js +542 -0
  464. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +1 -0
  465. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.d.ts +1 -0
  466. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.js +2 -0
  467. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.js.map +1 -0
  468. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.d.ts +97 -0
  469. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js +128 -0
  470. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +1 -0
  471. package/dist/shared-lock/implementations/test-utilities/_module-exports.d.ts +3 -0
  472. package/dist/shared-lock/implementations/test-utilities/_module-exports.js +4 -0
  473. package/dist/shared-lock/implementations/test-utilities/_module-exports.js.map +1 -0
  474. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.d.ts +59 -0
  475. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js +944 -0
  476. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js.map +1 -0
  477. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.d.ts +59 -0
  478. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js +1921 -0
  479. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js.map +1 -0
  480. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.d.ts +67 -0
  481. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js +9833 -0
  482. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js.map +1 -0
  483. package/dist/task/_module-exports.d.ts +1 -0
  484. package/dist/task/_module-exports.js +2 -0
  485. package/dist/task/_module-exports.js.map +1 -0
  486. package/dist/{async/utilities/abort-and-fail → task}/abort-and-fail.d.ts +1 -1
  487. package/dist/{async/utilities/abort-and-fail → task}/abort-and-fail.js +1 -1
  488. package/dist/task/abort-and-fail.js.map +1 -0
  489. package/dist/task/task.d.ts +194 -0
  490. package/dist/task/task.js +212 -0
  491. package/dist/task/task.js.map +1 -0
  492. package/dist/time-span/contracts/_module-exports.d.ts +1 -0
  493. package/dist/time-span/contracts/_module-exports.js +2 -0
  494. package/dist/time-span/contracts/_module-exports.js.map +1 -0
  495. package/dist/time-span/contracts/time-span.contract.d.ts +19 -0
  496. package/dist/time-span/contracts/time-span.contract.js +10 -0
  497. package/dist/time-span/contracts/time-span.contract.js.map +1 -0
  498. package/dist/time-span/implementations/_module-exports.d.ts +1 -0
  499. package/dist/time-span/implementations/_module-exports.js +2 -0
  500. package/dist/time-span/implementations/_module-exports.js.map +1 -0
  501. package/dist/{utilities/classes/time-span → time-span/implementations}/time-span.d.ts +49 -11
  502. package/dist/{utilities/classes/time-span → time-span/implementations}/time-span.js +33 -11
  503. package/dist/time-span/implementations/time-span.js.map +1 -0
  504. package/dist/utilities/classes/_module.d.ts +0 -3
  505. package/dist/utilities/classes/_module.js +0 -3
  506. package/dist/utilities/classes/_module.js.map +1 -1
  507. package/dist/utilities/contracts/_module.d.ts +1 -1
  508. package/dist/utilities/contracts/_module.js +1 -1
  509. package/dist/utilities/contracts/_module.js.map +1 -1
  510. package/dist/utilities/contracts/comparable.contract.d.ts +49 -0
  511. package/dist/utilities/contracts/comparable.contract.js +5 -0
  512. package/dist/utilities/contracts/comparable.contract.js.map +1 -0
  513. package/dist/utilities/functions/is-standard-schema.d.ts +6 -0
  514. package/dist/utilities/functions/is-standard-schema.js +6 -0
  515. package/dist/utilities/functions/is-standard-schema.js.map +1 -1
  516. package/dist/utilities/functions/lazy.d.ts +3 -3
  517. package/dist/utilities/functions/lazy.js +3 -3
  518. package/dist/utilities/functions/lazy.js.map +1 -1
  519. package/dist/utilities/functions/option.d.ts +3 -0
  520. package/dist/utilities/functions/option.js +3 -0
  521. package/dist/utilities/functions/option.js.map +1 -1
  522. package/dist/utilities/functions/validate.d.ts +5 -0
  523. package/dist/utilities/functions/validate.js +5 -0
  524. package/dist/utilities/functions/validate.js.map +1 -1
  525. package/dist/utilities/types/any-class.type.d.ts +6 -0
  526. package/dist/utilities/types/any-class.type.js +3 -0
  527. package/dist/utilities/types/any-class.type.js.map +1 -1
  528. package/package.json +67 -5
  529. package/dist/async/_module-exports.d.ts +0 -4
  530. package/dist/async/_module-exports.js +0 -5
  531. package/dist/async/_module-exports.js.map +0 -1
  532. package/dist/async/async.errors.d.ts +0 -47
  533. package/dist/async/async.errors.js +0 -61
  534. package/dist/async/async.errors.js.map +0 -1
  535. package/dist/async/backof-policies/_module.d.ts +0 -5
  536. package/dist/async/backof-policies/_module.js +0 -6
  537. package/dist/async/backof-policies/_module.js.map +0 -1
  538. package/dist/async/backof-policies/_shared.js.map +0 -1
  539. package/dist/async/backof-policies/constant-backoff-policy/_module.d.ts +0 -1
  540. package/dist/async/backof-policies/constant-backoff-policy/_module.js +0 -2
  541. package/dist/async/backof-policies/constant-backoff-policy/_module.js.map +0 -1
  542. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
  543. package/dist/async/backof-policies/exponential-backoff-policy/_module.d.ts +0 -1
  544. package/dist/async/backof-policies/exponential-backoff-policy/_module.js +0 -2
  545. package/dist/async/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
  546. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +0 -35
  547. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
  548. package/dist/async/backof-policies/linear-backoff-policy/_module.d.ts +0 -1
  549. package/dist/async/backof-policies/linear-backoff-policy/_module.js +0 -2
  550. package/dist/async/backof-policies/linear-backoff-policy/_module.js.map +0 -1
  551. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +0 -35
  552. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
  553. package/dist/async/backof-policies/polynomial-backoff-policy/_module.d.ts +0 -1
  554. package/dist/async/backof-policies/polynomial-backoff-policy/_module.js +0 -2
  555. package/dist/async/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
  556. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +0 -35
  557. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
  558. package/dist/async/middlewares/_module.d.ts +0 -7
  559. package/dist/async/middlewares/_module.js +0 -8
  560. package/dist/async/middlewares/_module.js.map +0 -1
  561. package/dist/async/middlewares/bulkhead/_module.d.ts +0 -1
  562. package/dist/async/middlewares/bulkhead/_module.js +0 -2
  563. package/dist/async/middlewares/bulkhead/_module.js.map +0 -1
  564. package/dist/async/middlewares/bulkhead/bulkhead.middleware.d.ts +0 -80
  565. package/dist/async/middlewares/bulkhead/bulkhead.middleware.js +0 -46
  566. package/dist/async/middlewares/bulkhead/bulkhead.middleware.js.map +0 -1
  567. package/dist/async/middlewares/dynamic/_module.d.ts +0 -1
  568. package/dist/async/middlewares/dynamic/_module.js +0 -2
  569. package/dist/async/middlewares/dynamic/_module.js.map +0 -1
  570. package/dist/async/middlewares/dynamic/dynamic.middleware.js.map +0 -1
  571. package/dist/async/middlewares/fallback/_module.d.ts +0 -2
  572. package/dist/async/middlewares/fallback/_module.js +0 -3
  573. package/dist/async/middlewares/fallback/_module.js.map +0 -1
  574. package/dist/async/middlewares/fallback/fallback.middleware.js.map +0 -1
  575. package/dist/async/middlewares/fallback/fallback.types.js.map +0 -1
  576. package/dist/async/middlewares/hedging/_module.d.ts +0 -2
  577. package/dist/async/middlewares/hedging/_module.js +0 -3
  578. package/dist/async/middlewares/hedging/_module.js.map +0 -1
  579. package/dist/async/middlewares/hedging/hedging.types.d.ts +0 -121
  580. package/dist/async/middlewares/hedging/hedging.types.js +0 -6
  581. package/dist/async/middlewares/hedging/hedging.types.js.map +0 -1
  582. package/dist/async/middlewares/hedging/sequential-hedging.middleware.d.ts +0 -51
  583. package/dist/async/middlewares/hedging/sequential-hedging.middleware.js +0 -133
  584. package/dist/async/middlewares/hedging/sequential-hedging.middleware.js.map +0 -1
  585. package/dist/async/middlewares/observe/_module.d.ts +0 -2
  586. package/dist/async/middlewares/observe/_module.js +0 -3
  587. package/dist/async/middlewares/observe/_module.js.map +0 -1
  588. package/dist/async/middlewares/observe/observe.middleware.js.map +0 -1
  589. package/dist/async/middlewares/observe/observe.types.js +0 -6
  590. package/dist/async/middlewares/observe/observe.types.js.map +0 -1
  591. package/dist/async/middlewares/retry/_module.d.ts +0 -2
  592. package/dist/async/middlewares/retry/_module.js +0 -3
  593. package/dist/async/middlewares/retry/_module.js.map +0 -1
  594. package/dist/async/middlewares/retry/retry.middleware.js.map +0 -1
  595. package/dist/async/middlewares/retry/retry.types.js +0 -7
  596. package/dist/async/middlewares/retry/retry.types.js.map +0 -1
  597. package/dist/async/middlewares/timeout/_module.d.ts +0 -2
  598. package/dist/async/middlewares/timeout/_module.js +0 -3
  599. package/dist/async/middlewares/timeout/_module.js.map +0 -1
  600. package/dist/async/middlewares/timeout/timeout.middleware.js.map +0 -1
  601. package/dist/async/middlewares/timeout/timeout.type.js +0 -6
  602. package/dist/async/middlewares/timeout/timeout.type.js.map +0 -1
  603. package/dist/async/utilities/_module.d.ts +0 -4
  604. package/dist/async/utilities/_module.js +0 -5
  605. package/dist/async/utilities/_module.js.map +0 -1
  606. package/dist/async/utilities/abort-and-fail/_module.d.ts +0 -1
  607. package/dist/async/utilities/abort-and-fail/_module.js +0 -2
  608. package/dist/async/utilities/abort-and-fail/_module.js.map +0 -1
  609. package/dist/async/utilities/abort-and-fail/abort-and-fail.js.map +0 -1
  610. package/dist/async/utilities/lazy-promise/_module.d.ts +0 -1
  611. package/dist/async/utilities/lazy-promise/_module.js +0 -2
  612. package/dist/async/utilities/lazy-promise/_module.js.map +0 -1
  613. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +0 -153
  614. package/dist/async/utilities/lazy-promise/lazy-promise.js +0 -176
  615. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +0 -1
  616. package/dist/async/utilities/promise-queue/_module.d.ts +0 -1
  617. package/dist/async/utilities/promise-queue/_module.js +0 -2
  618. package/dist/async/utilities/promise-queue/_module.js.map +0 -1
  619. package/dist/async/utilities/promise-queue/promise-queue.d.ts +0 -32
  620. package/dist/async/utilities/promise-queue/promise-queue.js +0 -118
  621. package/dist/async/utilities/promise-queue/promise-queue.js.map +0 -1
  622. package/dist/async/utilities/timeout-and-fail/_module.d.ts +0 -1
  623. package/dist/async/utilities/timeout-and-fail/_module.js +0 -2
  624. package/dist/async/utilities/timeout-and-fail/_module.js.map +0 -1
  625. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.d.ts +0 -7
  626. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js +0 -22
  627. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js.map +0 -1
  628. package/dist/lock/implementations/derivables/lock-provider/lock-state.d.ts +0 -40
  629. package/dist/lock/implementations/derivables/lock-provider/lock-state.js +0 -60
  630. package/dist/lock/implementations/derivables/lock-provider/lock-state.js.map +0 -1
  631. package/dist/serde/contracts/serializable.contract.d.ts +0 -12
  632. package/dist/serde/contracts/serializable.contract.js +0 -5
  633. package/dist/serde/contracts/serializable.contract.js.map +0 -1
  634. package/dist/serde/implementations/adapters/mongodb-serde/_module.d.ts +0 -1
  635. package/dist/serde/implementations/adapters/mongodb-serde/_module.js +0 -2
  636. package/dist/serde/implementations/adapters/mongodb-serde/_module.js.map +0 -1
  637. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.d.ts +0 -13
  638. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +0 -38
  639. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +0 -1
  640. package/dist/serde/implementations/adapters/redis-serde/_module.d.ts +0 -1
  641. package/dist/serde/implementations/adapters/redis-serde/_module.js +0 -2
  642. package/dist/serde/implementations/adapters/redis-serde/_module.js.map +0 -1
  643. package/dist/serde/implementations/adapters/redis-serde/redis-serde.d.ts +0 -13
  644. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +0 -39
  645. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +0 -1
  646. package/dist/serde/implementations/adapters/sql-serde/_module.d.ts +0 -1
  647. package/dist/serde/implementations/adapters/sql-serde/_module.js +0 -2
  648. package/dist/serde/implementations/adapters/sql-serde/_module.js.map +0 -1
  649. package/dist/serde/implementations/adapters/sql-serde/sql-serde.d.ts +0 -13
  650. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +0 -39
  651. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +0 -1
  652. package/dist/utilities/classes/hooks/_module.d.ts +0 -3
  653. package/dist/utilities/classes/hooks/_module.js +0 -4
  654. package/dist/utilities/classes/hooks/_module.js.map +0 -1
  655. package/dist/utilities/classes/hooks/async-hooks.js.map +0 -1
  656. package/dist/utilities/classes/hooks/hooks.js.map +0 -1
  657. package/dist/utilities/classes/hooks/types.js +0 -5
  658. package/dist/utilities/classes/hooks/types.js.map +0 -1
  659. package/dist/utilities/classes/namespace/_module.d.ts +0 -1
  660. package/dist/utilities/classes/namespace/_module.js +0 -2
  661. package/dist/utilities/classes/namespace/_module.js.map +0 -1
  662. package/dist/utilities/classes/namespace/namespace.d.ts +0 -85
  663. package/dist/utilities/classes/namespace/namespace.js +0 -125
  664. package/dist/utilities/classes/namespace/namespace.js.map +0 -1
  665. package/dist/utilities/classes/time-span/_module.d.ts +0 -1
  666. package/dist/utilities/classes/time-span/_module.js +0 -2
  667. package/dist/utilities/classes/time-span/_module.js.map +0 -1
  668. package/dist/utilities/classes/time-span/time-span.js.map +0 -1
  669. package/dist/utilities/contracts/serialized-error.contract.d.ts +0 -13
  670. package/dist/utilities/contracts/serialized-error.contract.js +0 -5
  671. package/dist/utilities/contracts/serialized-error.contract.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * @module Lock
3
3
  */
4
- import {} from "vitest";
5
- import { LOCK_REFRESH_RESULT, } from "../../../lock/contracts/_module-exports.js";
4
+ import { vi, } from "vitest";
5
+ import {} from "../../../lock/contracts/_module-exports.js";
6
6
  import {} from "../../../utilities/_module-exports.js";
7
- import { TimeSpan } from "../../../utilities/_module-exports.js";
8
- import { LazyPromise } from "../../../async/_module-exports.js";
7
+ import { Task } from "../../../task/_module-exports.js";
8
+ import { TimeSpan } from "../../../time-span/implementations/_module-exports.js";
9
9
  /**
10
10
  * The `lockAdapterTestSuite` function simplifies the process of testing your custom implementation of {@link ILockAdapter | `ILockAdapter`} with `vitest`.
11
11
  *
@@ -21,7 +21,7 @@ import { LazyPromise } from "../../../async/_module-exports.js";
21
21
  * RedisContainer,
22
22
  * type StartedRedisContainer,
23
23
  * } from "@testcontainers/redis";
24
- * import { TimeSpan } from "@daiso-tech/core/utilities";
24
+ * import { TimeSpan } from "@daiso-tech/core/time-span" from "@daiso-tech/core/time-span";
25
25
  *
26
26
  * const timeout = TimeSpan.fromMinutes(2);
27
27
  * describe("class: RedisLockAdapter", () => {
@@ -49,300 +49,384 @@ import { LazyPromise } from "../../../async/_module-exports.js";
49
49
  export function lockAdapterTestSuite(settings) {
50
50
  const { expect, test, createAdapter, describe, beforeEach } = settings;
51
51
  let adapter;
52
- beforeEach(async () => {
53
- adapter = await createAdapter();
54
- });
55
52
  async function delay(time) {
56
- await LazyPromise.delay(time.addMilliseconds(10));
53
+ await Task.delay(time.addMilliseconds(10));
57
54
  }
58
- describe("method: acquire", () => {
59
- test("Should return true when key doesnt exists", async () => {
60
- const key = "a";
61
- const owner = "b";
62
- const ttl = null;
63
- const result = await adapter.acquire(key, owner, ttl);
64
- expect(result).toBe(true);
65
- });
66
- test("Should return true when key is expired", async () => {
67
- const key = "a";
68
- const owner = "b";
69
- const ttl = TimeSpan.fromMilliseconds(50);
70
- await adapter.acquire(key, owner, ttl);
71
- await delay(ttl);
72
- const result = await adapter.acquire(key, owner, null);
73
- expect(result).toBe(true);
74
- });
75
- test("Should return false when key is unexpireable and acquired by same owner", async () => {
76
- const key = "a";
77
- const owner = "b";
78
- const ttl = null;
79
- await adapter.acquire(key, owner, ttl);
80
- const result = await adapter.acquire(key, owner, ttl);
81
- expect(result).toBe(false);
82
- });
83
- test("Should return false when key is unexpired and acquired by same owner", async () => {
84
- const key = "a";
85
- const owner = "b";
86
- const ttl = TimeSpan.fromMilliseconds(50);
87
- await adapter.acquire(key, owner, ttl);
88
- const result = await adapter.acquire(key, owner, ttl);
89
- expect(result).toBe(false);
90
- });
91
- test("Should return false when key is unexpireable and acquired by different owner", async () => {
92
- const key = "a";
93
- const owner1 = "b";
94
- const ttl = null;
95
- await adapter.acquire(key, owner1, ttl);
96
- const owner2 = "c";
97
- const result = await adapter.acquire(key, owner2, ttl);
98
- expect(result).toBe(false);
99
- });
100
- test("Should return false when key is unexpired and acquired by different owner", async () => {
101
- const key = "a";
102
- const owner1 = "b";
103
- const ttl = TimeSpan.fromMilliseconds(50);
104
- await adapter.acquire(key, owner1, ttl);
105
- const owner2 = "c";
106
- const result = await adapter.acquire(key, owner2, ttl);
107
- expect(result).toBe(false);
108
- });
109
- });
110
- describe("method: release", () => {
111
- test("Should return false when key doesnt exists", async () => {
112
- const key = "a";
113
- const owner = "b";
114
- const result = await adapter.release(key, owner);
115
- expect(result).toBe(false);
116
- });
117
- test("Should return false when key is unexpireable and released by different owner", async () => {
118
- const key = "a";
119
- const owner1 = "b";
120
- const ttl = null;
121
- await adapter.acquire(key, owner1, ttl);
122
- const owner2 = "c";
123
- const result = await adapter.release(key, owner2);
124
- expect(result).toBe(false);
125
- });
126
- test("Should return false when key is unexpired and released by different owner", async () => {
127
- const key = "a";
128
- const owner1 = "b";
129
- const ttl = TimeSpan.fromMilliseconds(50);
130
- await adapter.acquire(key, owner1, ttl);
131
- const owner2 = "c";
132
- const result = await adapter.release(key, owner2);
133
- expect(result).toBe(false);
134
- });
135
- test("Should return false when key is expired and released by different owner", async () => {
136
- const key = "a";
137
- const owner1 = "b";
138
- const ttl = TimeSpan.fromMilliseconds(50);
139
- await adapter.acquire(key, owner1, ttl);
140
- const owner2 = "c";
141
- const result = await adapter.release(key, owner2);
142
- await delay(ttl);
143
- expect(result).toBe(false);
144
- });
145
- test("Should return false when key is expired and released by same owner", async () => {
146
- const key = "a";
147
- const owner = "b";
148
- const ttl = TimeSpan.fromMilliseconds(50);
149
- await adapter.acquire(key, owner, ttl);
150
- await delay(ttl);
151
- const result = await adapter.release(key, owner);
152
- expect(result).toBe(false);
153
- });
154
- test("Should return true when key is unexpireable and released by same owner", async () => {
155
- const key = "a";
156
- const owner = "b";
157
- const ttl = null;
158
- await adapter.acquire(key, owner, ttl);
159
- const result = await adapter.release(key, owner);
160
- expect(result).toBe(true);
161
- });
162
- test("Should return true when key is unexpired and released by same owner", async () => {
163
- const key = "a";
164
- const owner = "b";
165
- const ttl = TimeSpan.fromMilliseconds(50);
166
- await adapter.acquire(key, owner, ttl);
167
- const result = await adapter.release(key, owner);
168
- expect(result).toBe(true);
169
- });
170
- test("Should not be reacquirable when key is unexpireable and released by different owner", async () => {
171
- const key = "a";
172
- const owner1 = "b";
173
- const ttl = null;
174
- await adapter.acquire(key, owner1, ttl);
175
- const owner2 = "c";
176
- await adapter.release(key, owner2);
177
- const result = await adapter.acquire(key, owner2, ttl);
178
- expect(result).toBe(false);
179
- });
180
- test("Should not be reacquirable when key is unexpired and released by different owner", async () => {
181
- const key = "a";
182
- const owner1 = "b";
183
- const ttl = TimeSpan.fromMilliseconds(50);
184
- await adapter.acquire(key, owner1, ttl);
185
- const owner2 = "c";
186
- await adapter.release(key, owner2);
187
- const result = await adapter.acquire(key, owner2, ttl);
188
- expect(result).toBe(false);
189
- });
190
- test("Should be reacquirable when key is unexpireable and released by same owner", async () => {
191
- const key = "a";
192
- const owner1 = "b";
193
- const ttl = null;
194
- await adapter.acquire(key, owner1, ttl);
195
- await adapter.release(key, owner1);
196
- const owner2 = "c";
197
- const result = await adapter.acquire(key, owner2, ttl);
198
- expect(result).toBe(true);
199
- });
200
- test("Should be reacquirable when key is unexpired and released by same owner", async () => {
201
- const key = "a";
202
- const owner1 = "b";
203
- const ttl = TimeSpan.fromMilliseconds(50);
204
- await adapter.acquire(key, owner1, ttl);
205
- await adapter.release(key, owner1);
206
- const owner2 = "c";
207
- const result = await adapter.acquire(key, owner2, ttl);
208
- expect(result).toBe(true);
209
- });
210
- });
211
- describe("method: forceRelease", () => {
212
- test("Should return false when key doesnt exists", async () => {
213
- const key = "a";
214
- const result = await adapter.forceRelease(key);
215
- expect(result).toBe(false);
216
- });
217
- test("Should return false when key is expired", async () => {
218
- const key = "a";
219
- const owner = "b";
220
- const ttl = TimeSpan.fromMilliseconds(50);
221
- await adapter.acquire(key, owner, ttl);
222
- await delay(ttl);
223
- const result = await adapter.forceRelease(key);
224
- expect(result).toBe(false);
225
- });
226
- test("Should return true when key is uenxpired", async () => {
227
- const key = "a";
228
- const owner = "b";
229
- const ttl = TimeSpan.fromMilliseconds(50);
230
- await adapter.acquire(key, owner, ttl);
231
- const result = await adapter.forceRelease(key);
232
- expect(result).toBe(true);
233
- });
234
- test("Should return true when key is unexpireable", async () => {
235
- const key = "a";
236
- const owner = "b";
237
- const ttl = null;
238
- await adapter.acquire(key, owner, ttl);
239
- const result = await adapter.forceRelease(key);
240
- expect(result).toBe(true);
241
- });
242
- test("Should be reacquirable when force released", async () => {
243
- const key = "a";
244
- const owner1 = "b";
245
- const ttl = null;
246
- await adapter.acquire(key, owner1, ttl);
247
- await adapter.forceRelease(key);
248
- const owner2 = "c";
249
- const result = await adapter.acquire(key, owner2, ttl);
250
- expect(result).toBe(true);
251
- });
252
- });
253
- describe("method: refresh", () => {
254
- test("Should return LOCK_REFRESH.UNOWNED_REFRESH when key doesnt exists", async () => {
255
- const key = "a";
256
- const owner = "b";
257
- const newTtl = TimeSpan.fromMinutes(1);
258
- const result = await adapter.refresh(key, owner, newTtl);
259
- expect(result).toBe(LOCK_REFRESH_RESULT.UNOWNED_REFRESH);
260
- });
261
- test("Should return LOCK_REFRESH.UNOWNED_REFRESH when key is unexpireable and refreshed by different owner", async () => {
262
- const key = "a";
263
- const owner1 = "b";
264
- const ttl = null;
265
- await adapter.acquire(key, owner1, ttl);
266
- const newTtl = TimeSpan.fromMinutes(1);
267
- const owner2 = "c";
268
- const result = await adapter.refresh(key, owner2, newTtl);
269
- expect(result).toBe(LOCK_REFRESH_RESULT.UNOWNED_REFRESH);
270
- });
271
- test("Should return LOCK_REFRESH.UNOWNED_REFRESH when key is unexpired and refreshed by different owner", async () => {
272
- const key = "a";
273
- const owner1 = "b";
274
- const ttl = TimeSpan.fromMilliseconds(50);
275
- await adapter.acquire(key, owner1, ttl);
276
- const newTtl = TimeSpan.fromMinutes(1);
277
- const owner2 = "c";
278
- const result = await adapter.refresh(key, owner2, newTtl);
279
- expect(result).toBe(LOCK_REFRESH_RESULT.UNOWNED_REFRESH);
280
- });
281
- test("Should return LOCK_REFRESH.UNOWNED_REFRESH when key is expired and refreshed by different owner", async () => {
282
- const key = "a";
283
- const owner1 = "b";
284
- const ttl = TimeSpan.fromMilliseconds(50);
285
- await adapter.acquire(key, owner1, ttl);
286
- await delay(ttl);
287
- const newTtl = TimeSpan.fromMinutes(1);
288
- const owner2 = "c";
289
- const result = await adapter.refresh(key, owner2, newTtl);
290
- expect(result).toBe(LOCK_REFRESH_RESULT.UNOWNED_REFRESH);
55
+ describe("Reusable tests:", () => {
56
+ beforeEach(async () => {
57
+ adapter = await createAdapter();
291
58
  });
292
- test("Should return LOCK_REFRESH.UNOWNED_REFRESH when key is expired and refreshed by same owner", async () => {
293
- const key = "a";
294
- const owner = "b";
295
- const ttl = TimeSpan.fromMilliseconds(50);
296
- await adapter.acquire(key, owner, ttl);
297
- await delay(ttl);
298
- const newTtl = TimeSpan.fromMinutes(1);
299
- const result = await adapter.refresh(key, owner, newTtl);
300
- expect(result).toBe(LOCK_REFRESH_RESULT.UNOWNED_REFRESH);
59
+ describe("method: acquire", () => {
60
+ test("Should return true when key doesnt exists", async () => {
61
+ const key = "a";
62
+ const owner = "b";
63
+ const ttl = null;
64
+ const result = await adapter.acquire(key, owner, ttl);
65
+ expect(result).toBe(true);
66
+ });
67
+ test("Should return true when key is expired", {
68
+ retry: 10,
69
+ }, async () => {
70
+ const key = "a";
71
+ const owner = "b";
72
+ const ttl = TimeSpan.fromMilliseconds(50);
73
+ await adapter.acquire(key, owner, ttl);
74
+ await delay(ttl);
75
+ const result = await adapter.acquire(key, owner, null);
76
+ expect(result).toBe(true);
77
+ });
78
+ test("Should return true when key is unexpireable and acquired by same owner", async () => {
79
+ const key = "a";
80
+ const owner = "b";
81
+ const ttl = null;
82
+ await adapter.acquire(key, owner, ttl);
83
+ const result = await adapter.acquire(key, owner, ttl);
84
+ expect(result).toBe(true);
85
+ });
86
+ test("Should return true when key is unexpired and acquired by same owner", async () => {
87
+ const key = "a";
88
+ const owner = "b";
89
+ const ttl = TimeSpan.fromMilliseconds(50);
90
+ await adapter.acquire(key, owner, ttl);
91
+ const result = await adapter.acquire(key, owner, ttl);
92
+ expect(result).toBe(true);
93
+ });
94
+ test("Should return false when key is unexpireable and acquired by different owner", async () => {
95
+ const key = "a";
96
+ const owner1 = "b";
97
+ const ttl = null;
98
+ await adapter.acquire(key, owner1, ttl);
99
+ const owner2 = "c";
100
+ const result = await adapter.acquire(key, owner2, ttl);
101
+ expect(result).toBe(false);
102
+ });
103
+ test("Should return false when key is unexpired and acquired by different owner", async () => {
104
+ const key = "a";
105
+ const owner1 = "b";
106
+ const ttl = TimeSpan.fromMilliseconds(50);
107
+ await adapter.acquire(key, owner1, ttl);
108
+ const owner2 = "c";
109
+ const result = await adapter.acquire(key, owner2, ttl);
110
+ expect(result).toBe(false);
111
+ });
301
112
  });
302
- test("Should return LOCK_REFRESH.UNEXPIRABLE_KEY when key is unexpireable and refreshed by same owner", async () => {
303
- const key = "a";
304
- const owner = "b";
305
- const ttl = null;
306
- await adapter.acquire(key, owner, ttl);
307
- const newTtl = TimeSpan.fromMinutes(1);
308
- const result = await adapter.refresh(key, owner, newTtl);
309
- expect(result).toBe(LOCK_REFRESH_RESULT.UNEXPIRABLE_KEY);
113
+ describe("method: release", () => {
114
+ test("Should return false when key doesnt exists", async () => {
115
+ const key = "a";
116
+ const owner = "b";
117
+ const result = await adapter.release(key, owner);
118
+ expect(result).toBe(false);
119
+ });
120
+ test("Should return false when key is unexpireable and released by different owner", async () => {
121
+ const key = "a";
122
+ const owner1 = "b";
123
+ const ttl = null;
124
+ await adapter.acquire(key, owner1, ttl);
125
+ const owner2 = "c";
126
+ const result = await adapter.release(key, owner2);
127
+ expect(result).toBe(false);
128
+ });
129
+ test("Should return false when key is unexpired and released by different owner", async () => {
130
+ const key = "a";
131
+ const owner1 = "b";
132
+ const ttl = TimeSpan.fromMilliseconds(50);
133
+ await adapter.acquire(key, owner1, ttl);
134
+ const owner2 = "c";
135
+ const result = await adapter.release(key, owner2);
136
+ expect(result).toBe(false);
137
+ });
138
+ test("Should return false when key is expired and released by different owner", {
139
+ retry: 10,
140
+ }, async () => {
141
+ const key = "a";
142
+ const owner1 = "b";
143
+ const ttl = TimeSpan.fromMilliseconds(50);
144
+ await adapter.acquire(key, owner1, ttl);
145
+ const owner2 = "c";
146
+ const result = await adapter.release(key, owner2);
147
+ await delay(ttl);
148
+ expect(result).toBe(false);
149
+ });
150
+ test("Should return false when key is expired and released by same owner", {
151
+ retry: 10,
152
+ }, async () => {
153
+ const key = "a";
154
+ const owner = "b";
155
+ const ttl = TimeSpan.fromMilliseconds(50);
156
+ await adapter.acquire(key, owner, ttl);
157
+ await delay(ttl);
158
+ const result = await adapter.release(key, owner);
159
+ expect(result).toBe(false);
160
+ });
161
+ test("Should return true when key is unexpireable and released by same owner", async () => {
162
+ const key = "a";
163
+ const owner = "b";
164
+ const ttl = null;
165
+ await adapter.acquire(key, owner, ttl);
166
+ const result = await adapter.release(key, owner);
167
+ expect(result).toBe(true);
168
+ });
169
+ test("Should return true when key is unexpired and released by same owner", async () => {
170
+ const key = "a";
171
+ const owner = "b";
172
+ const ttl = TimeSpan.fromMilliseconds(50);
173
+ await adapter.acquire(key, owner, ttl);
174
+ const result = await adapter.release(key, owner);
175
+ expect(result).toBe(true);
176
+ });
177
+ test("Should not be reacquirable when key is unexpireable and released by different owner", async () => {
178
+ const key = "a";
179
+ const owner1 = "b";
180
+ const ttl = null;
181
+ await adapter.acquire(key, owner1, ttl);
182
+ const owner2 = "c";
183
+ await adapter.release(key, owner2);
184
+ const result = await adapter.acquire(key, owner2, ttl);
185
+ expect(result).toBe(false);
186
+ });
187
+ test("Should not be reacquirable when key is unexpired and released by different owner", async () => {
188
+ const key = "a";
189
+ const owner1 = "b";
190
+ const ttl = TimeSpan.fromMilliseconds(50);
191
+ await adapter.acquire(key, owner1, ttl);
192
+ const owner2 = "c";
193
+ await adapter.release(key, owner2);
194
+ const result = await adapter.acquire(key, owner2, ttl);
195
+ expect(result).toBe(false);
196
+ });
197
+ test("Should be reacquirable when key is unexpireable and released by same owner", async () => {
198
+ const key = "a";
199
+ const owner1 = "b";
200
+ const ttl = null;
201
+ await adapter.acquire(key, owner1, ttl);
202
+ await adapter.release(key, owner1);
203
+ const owner2 = "c";
204
+ const result = await adapter.acquire(key, owner2, ttl);
205
+ expect(result).toBe(true);
206
+ });
207
+ test("Should be reacquirable when key is unexpired and released by same owner", async () => {
208
+ const key = "a";
209
+ const owner1 = "b";
210
+ const ttl = TimeSpan.fromMilliseconds(50);
211
+ await adapter.acquire(key, owner1, ttl);
212
+ await adapter.release(key, owner1);
213
+ const owner2 = "c";
214
+ const result = await adapter.acquire(key, owner2, ttl);
215
+ expect(result).toBe(true);
216
+ });
310
217
  });
311
- test("Should return LOCK_REFRESH.REFRESHED when key is unexpired and refreshed by same owner", async () => {
312
- const key = "a";
313
- const owner = "b";
314
- const ttl = TimeSpan.fromMilliseconds(50);
315
- await adapter.acquire(key, owner, ttl);
316
- const newTtl = TimeSpan.fromMinutes(1);
317
- const result = await adapter.refresh(key, owner, newTtl);
318
- expect(result).toBe(LOCK_REFRESH_RESULT.REFRESHED);
218
+ describe("method: forceRelease", () => {
219
+ test("Should return false when key doesnt exists", async () => {
220
+ const key = "a";
221
+ const result = await adapter.forceRelease(key);
222
+ expect(result).toBe(false);
223
+ });
224
+ test("Should return false when key is expired", {
225
+ retry: 10,
226
+ }, async () => {
227
+ const key = "a";
228
+ const owner = "b";
229
+ const ttl = TimeSpan.fromMilliseconds(50);
230
+ await adapter.acquire(key, owner, ttl);
231
+ await delay(ttl);
232
+ const result = await adapter.forceRelease(key);
233
+ expect(result).toBe(false);
234
+ });
235
+ test("Should return true when key is uenxpired", async () => {
236
+ const key = "a";
237
+ const owner = "b";
238
+ const ttl = TimeSpan.fromMilliseconds(50);
239
+ await adapter.acquire(key, owner, ttl);
240
+ const result = await adapter.forceRelease(key);
241
+ expect(result).toBe(true);
242
+ });
243
+ test("Should return true when key is unexpireable", async () => {
244
+ const key = "a";
245
+ const owner = "b";
246
+ const ttl = null;
247
+ await adapter.acquire(key, owner, ttl);
248
+ const result = await adapter.forceRelease(key);
249
+ expect(result).toBe(true);
250
+ });
251
+ test("Should be reacquirable when force released", async () => {
252
+ const key = "a";
253
+ const owner1 = "b";
254
+ const ttl = null;
255
+ await adapter.acquire(key, owner1, ttl);
256
+ await adapter.forceRelease(key);
257
+ const owner2 = "c";
258
+ const result = await adapter.acquire(key, owner2, ttl);
259
+ expect(result).toBe(true);
260
+ });
319
261
  });
320
- test("Should not update expiration when key is unexpireable and refreshed by same owner", async () => {
321
- const key = "a";
322
- const owner1 = "b";
323
- const ttl = null;
324
- await adapter.acquire(key, owner1, ttl);
325
- const newTtl = TimeSpan.fromMilliseconds(50);
326
- await adapter.refresh(key, owner1, newTtl);
327
- await delay(newTtl);
328
- const owner2 = "b";
329
- const result = await adapter.acquire(key, owner2, ttl);
330
- expect(result).toBe(false);
262
+ describe("method: refresh", () => {
263
+ test("Should return false when key doesnt exists", async () => {
264
+ const key = "a";
265
+ const owner = "b";
266
+ const newTtl = TimeSpan.fromMinutes(1);
267
+ const result = await adapter.refresh(key, owner, newTtl);
268
+ expect(result).toBe(false);
269
+ });
270
+ test("Should return false when key is unexpireable and refreshed by different owner", async () => {
271
+ const key = "a";
272
+ const owner1 = "b";
273
+ const ttl = null;
274
+ await adapter.acquire(key, owner1, ttl);
275
+ const newTtl = TimeSpan.fromMinutes(1);
276
+ const owner2 = "c";
277
+ const result = await adapter.refresh(key, owner2, newTtl);
278
+ expect(result).toBe(false);
279
+ });
280
+ test("Should return false when key is unexpired and refreshed by different owner", async () => {
281
+ const key = "a";
282
+ const owner1 = "b";
283
+ const ttl = TimeSpan.fromMilliseconds(50);
284
+ await adapter.acquire(key, owner1, ttl);
285
+ const newTtl = TimeSpan.fromMinutes(1);
286
+ const owner2 = "c";
287
+ const result = await adapter.refresh(key, owner2, newTtl);
288
+ expect(result).toBe(false);
289
+ });
290
+ test("Should return false when key is expired and refreshed by different owner", {
291
+ retry: 10,
292
+ }, async () => {
293
+ const key = "a";
294
+ const owner1 = "b";
295
+ const ttl = TimeSpan.fromMilliseconds(50);
296
+ await adapter.acquire(key, owner1, ttl);
297
+ await delay(ttl);
298
+ const newTtl = TimeSpan.fromMinutes(1);
299
+ const owner2 = "c";
300
+ const result = await adapter.refresh(key, owner2, newTtl);
301
+ expect(result).toBe(false);
302
+ });
303
+ test("Should return false when key is expired and refreshed by same owner", {
304
+ retry: 10,
305
+ }, async () => {
306
+ const key = "a";
307
+ const owner = "b";
308
+ const ttl = TimeSpan.fromMilliseconds(50);
309
+ await adapter.acquire(key, owner, ttl);
310
+ await delay(ttl);
311
+ const newTtl = TimeSpan.fromMinutes(1);
312
+ const result = await adapter.refresh(key, owner, newTtl);
313
+ expect(result).toBe(false);
314
+ });
315
+ test("Should return false when key is unexpireable and refreshed by same owner", async () => {
316
+ const key = "a";
317
+ const owner = "b";
318
+ const ttl = null;
319
+ await adapter.acquire(key, owner, ttl);
320
+ const newTtl = TimeSpan.fromMinutes(1);
321
+ const result = await adapter.refresh(key, owner, newTtl);
322
+ expect(result).toBe(false);
323
+ });
324
+ test("Should return true when key is unexpired and refreshed by same owner", async () => {
325
+ const key = "a";
326
+ const owner = "b";
327
+ const ttl = TimeSpan.fromMilliseconds(50);
328
+ await adapter.acquire(key, owner, ttl);
329
+ const newTtl = TimeSpan.fromMinutes(1);
330
+ const result = await adapter.refresh(key, owner, newTtl);
331
+ expect(result).toBe(true);
332
+ });
333
+ test("Should not update expiration when key is unexpireable and refreshed by same owner", {
334
+ retry: 10,
335
+ }, async () => {
336
+ const key = "a";
337
+ const owner1 = "b";
338
+ const ttl = null;
339
+ await adapter.acquire(key, owner1, ttl);
340
+ const newTtl = TimeSpan.fromMilliseconds(50);
341
+ await adapter.refresh(key, owner1, newTtl);
342
+ await delay(newTtl);
343
+ const owner2 = "a";
344
+ const result = await adapter.acquire(key, owner2, ttl);
345
+ expect(result).toBe(false);
346
+ });
347
+ test("Should update expiration when key is unexpired and refreshed by same owner", {
348
+ retry: 10,
349
+ }, async () => {
350
+ const key = "a";
351
+ const owner1 = "b";
352
+ const ttl = TimeSpan.fromMilliseconds(50);
353
+ await adapter.acquire(key, owner1, ttl);
354
+ const newTtl = TimeSpan.fromMilliseconds(100);
355
+ await adapter.refresh(key, owner1, newTtl);
356
+ await delay(newTtl.divide(2));
357
+ const owner2 = "c";
358
+ const result1 = await adapter.acquire(key, owner2, ttl);
359
+ expect(result1).toBe(false);
360
+ await delay(newTtl.divide(2));
361
+ const result2 = await adapter.acquire(key, owner2, ttl);
362
+ expect(result2).toBe(true);
363
+ });
331
364
  });
332
- test("Should update expiration when key is unexpired and refreshed by same owner", async () => {
333
- const key = "a";
334
- const owner1 = "b";
335
- const ttl = TimeSpan.fromMilliseconds(50);
336
- await adapter.acquire(key, owner1, ttl);
337
- const newTtl = TimeSpan.fromMilliseconds(100);
338
- await adapter.refresh(key, owner1, newTtl);
339
- await delay(newTtl.divide(2));
340
- const owner2 = "c";
341
- const result1 = await adapter.acquire(key, owner2, ttl);
342
- expect(result1).toBe(false);
343
- await delay(newTtl.divide(2));
344
- const result2 = await adapter.acquire(key, owner2, ttl);
345
- expect(result2).toBe(true);
365
+ describe("method: getState", () => {
366
+ test("Should return null when key doesnt exists", async () => {
367
+ const key = "a";
368
+ const lockData = await adapter.getState(key);
369
+ expect(lockData).toBeNull();
370
+ });
371
+ test("Should return null when lock is expired", {
372
+ retry: 10,
373
+ }, async () => {
374
+ const key = "a";
375
+ const owner = "b";
376
+ const ttl = TimeSpan.fromMilliseconds(50);
377
+ await adapter.acquire(key, owner, ttl);
378
+ await delay(ttl);
379
+ const lockData = await adapter.getState(key);
380
+ expect(lockData).toBeNull();
381
+ });
382
+ test("Should return null when lock is released with forceRelease method", async () => {
383
+ const key = "a";
384
+ const ttl = null;
385
+ const owner = "1";
386
+ await adapter.acquire(key, owner, ttl);
387
+ await adapter.forceRelease(key);
388
+ const lockData = await adapter.getState(key);
389
+ expect(lockData).toBeNull();
390
+ });
391
+ test("Should return null when lock is released with release method", async () => {
392
+ const key = "a";
393
+ const ttl = null;
394
+ const owner = "1";
395
+ await adapter.acquire(key, owner, ttl);
396
+ await adapter.release(key, owner);
397
+ const lockData = await adapter.getState(key);
398
+ expect(lockData).toBeNull();
399
+ });
400
+ test("Should return ILockAdapterState when lock exists and is uenxpireable", async () => {
401
+ const key = "a";
402
+ const ttl = null;
403
+ const owner = "1";
404
+ await adapter.acquire(key, owner, ttl);
405
+ const state = await adapter.getState(key);
406
+ expect(state).toEqual({
407
+ owner,
408
+ expiration: ttl,
409
+ });
410
+ });
411
+ test("Should return ILockAdapterState when lock exists and is unexpired", async () => {
412
+ const key = "a";
413
+ const owner = "1";
414
+ const ttl = TimeSpan.fromMinutes(5);
415
+ let expiration;
416
+ try {
417
+ vi.useFakeTimers();
418
+ expiration = ttl.toEndDate();
419
+ await adapter.acquire(key, owner, ttl);
420
+ }
421
+ finally {
422
+ vi.useRealTimers();
423
+ }
424
+ const state = await adapter.getState(key);
425
+ expect(state).toEqual({
426
+ owner,
427
+ expiration,
428
+ });
429
+ });
346
430
  });
347
431
  });
348
432
  }