@daiso-tech/core 0.40.0 → 0.41.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/README.md +8 -1
  2. package/dist/backoff-policies/_module-exports.d.ts +5 -0
  3. package/dist/backoff-policies/_module-exports.js +6 -0
  4. package/dist/backoff-policies/_module-exports.js.map +1 -0
  5. package/dist/{async/backof-policies → backoff-policies}/_shared.d.ts +6 -7
  6. package/dist/{async/backof-policies → backoff-policies}/_shared.js +1 -1
  7. package/dist/backoff-policies/_shared.js.map +1 -0
  8. package/dist/backoff-policies/constant-backoff-policy/_module.d.ts +1 -0
  9. package/dist/backoff-policies/constant-backoff-policy/_module.js +2 -0
  10. package/dist/backoff-policies/constant-backoff-policy/_module.js.map +1 -0
  11. package/dist/{async/backof-policies → backoff-policies}/constant-backoff-policy/constant-backoff-policy.d.ts +6 -8
  12. package/dist/{async/backof-policies → backoff-policies}/constant-backoff-policy/constant-backoff-policy.js +8 -10
  13. package/dist/backoff-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
  14. package/dist/backoff-policies/exponential-backoff-policy/_module.d.ts +1 -0
  15. package/dist/backoff-policies/exponential-backoff-policy/_module.js +2 -0
  16. package/dist/backoff-policies/exponential-backoff-policy/_module.js.map +1 -0
  17. package/dist/{async/backof-policies → backoff-policies}/exponential-backoff-policy/exponential-backoff-policy.d.ts +7 -9
  18. package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.js +30 -0
  19. package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
  20. package/dist/backoff-policies/linear-backoff-policy/_module.d.ts +1 -0
  21. package/dist/backoff-policies/linear-backoff-policy/_module.js +2 -0
  22. package/dist/backoff-policies/linear-backoff-policy/_module.js.map +1 -0
  23. package/dist/{async/backof-policies → backoff-policies}/linear-backoff-policy/linear-backoff-policy.d.ts +7 -9
  24. package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.js +30 -0
  25. package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
  26. package/dist/backoff-policies/polynomial-backoff-policy/_module.d.ts +1 -0
  27. package/dist/backoff-policies/polynomial-backoff-policy/_module.js +2 -0
  28. package/dist/backoff-policies/polynomial-backoff-policy/_module.js.map +1 -0
  29. package/dist/{async/backof-policies → backoff-policies}/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +7 -9
  30. package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +30 -0
  31. package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
  32. package/dist/cache/contracts/cache-adapter.contract.d.ts +3 -3
  33. package/dist/cache/contracts/cache.contract.d.ts +22 -22
  34. package/dist/cache/contracts/cache.errors.d.ts +7 -14
  35. package/dist/cache/contracts/cache.errors.js +12 -24
  36. package/dist/cache/contracts/cache.errors.js.map +1 -1
  37. package/dist/cache/contracts/cache.events.d.ts +1 -1
  38. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +1 -1
  39. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +4 -4
  40. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
  41. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +1 -1
  42. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +2 -2
  43. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  44. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +3 -2
  45. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +3 -3
  46. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  47. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
  48. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +1 -1
  49. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
  50. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  51. package/dist/cache/implementations/derivables/cache/cache.d.ts +38 -43
  52. package/dist/cache/implementations/derivables/cache/cache.js +106 -101
  53. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  54. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +1 -1
  55. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +3 -3
  56. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -1
  57. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +6 -8
  58. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +5 -15
  59. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  60. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +1 -1
  61. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +48 -48
  62. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  63. package/dist/cache/implementations/test-utilities/cache.test-suite.js +107 -107
  64. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  65. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +2 -1
  66. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -1
  67. package/dist/collection/contracts/async-collection.contract.d.ts +43 -43
  68. package/dist/collection/contracts/collection.contract.d.ts +15 -1
  69. package/dist/collection/contracts/collection.contract.js +1 -3
  70. package/dist/collection/contracts/collection.contract.js.map +1 -1
  71. package/dist/collection/contracts/collection.errors.d.ts +4 -13
  72. package/dist/collection/contracts/collection.errors.js +4 -16
  73. package/dist/collection/contracts/collection.errors.js.map +1 -1
  74. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.d.ts +6 -0
  75. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js +3 -0
  76. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js.map +1 -1
  77. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +40 -51
  78. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +31 -37
  79. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  80. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.d.ts +3 -0
  81. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js +6 -0
  82. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js.map +1 -1
  83. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +3 -3
  84. package/dist/collection/implementations/iterable-collection/iterable-collection.js +5 -2
  85. package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  86. package/dist/collection/implementations/list-collection/list-collection.d.ts +3 -3
  87. package/dist/collection/implementations/list-collection/list-collection.js +5 -2
  88. package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
  89. package/dist/event-bus/contracts/event-bus.contract.d.ts +10 -10
  90. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -6
  91. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +7 -9
  92. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  93. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +17 -24
  94. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +32 -32
  95. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  96. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +1 -3
  97. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +4 -8
  98. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  99. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +34 -32
  100. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  101. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +195 -190
  102. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  103. package/dist/hooks/_module-exports.d.ts +3 -0
  104. package/dist/hooks/_module-exports.js +4 -0
  105. package/dist/hooks/_module-exports.js.map +1 -0
  106. package/dist/{utilities/classes/hooks → hooks}/async-hooks.d.ts +15 -26
  107. package/dist/{utilities/classes/hooks → hooks}/async-hooks.js +4 -6
  108. package/dist/hooks/async-hooks.js.map +1 -0
  109. package/dist/{utilities/classes/hooks → hooks}/hooks.d.ts +11 -18
  110. package/dist/{utilities/classes/hooks → hooks}/hooks.js +4 -5
  111. package/dist/hooks/hooks.js.map +1 -0
  112. package/dist/{utilities/classes/hooks → hooks}/types.d.ts +2 -3
  113. package/dist/hooks/types.js +5 -0
  114. package/dist/hooks/types.js.map +1 -0
  115. package/dist/lock/contracts/_module-exports.d.ts +4 -2
  116. package/dist/lock/contracts/_module-exports.js +4 -2
  117. package/dist/lock/contracts/_module-exports.js.map +1 -1
  118. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +24 -17
  119. package/dist/lock/contracts/lock-adapter.contract.d.ts +15 -24
  120. package/dist/lock/contracts/lock-adapter.contract.js +1 -10
  121. package/dist/lock/contracts/lock-adapter.contract.js.map +1 -1
  122. package/dist/lock/contracts/lock-provider.contract.d.ts +5 -5
  123. package/dist/lock/contracts/lock-state.contract.d.ts +52 -0
  124. package/dist/lock/contracts/lock-state.contract.js +14 -0
  125. package/dist/lock/contracts/lock-state.contract.js.map +1 -0
  126. package/dist/lock/contracts/lock.contract.d.ts +64 -55
  127. package/dist/lock/contracts/lock.errors.d.ts +13 -20
  128. package/dist/lock/contracts/lock.errors.js +19 -26
  129. package/dist/lock/contracts/lock.errors.js.map +1 -1
  130. package/dist/lock/contracts/lock.events.d.ts +21 -49
  131. package/dist/lock/contracts/lock.events.js +2 -3
  132. package/dist/lock/contracts/lock.events.js.map +1 -1
  133. package/dist/lock/contracts/types.d.ts +11 -0
  134. package/dist/lock/contracts/types.js +5 -0
  135. package/dist/lock/contracts/types.js.map +1 -0
  136. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +21 -19
  137. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +92 -61
  138. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  139. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +8 -5
  140. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +33 -13
  141. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
  142. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +7 -8
  143. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +33 -20
  144. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  145. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +6 -5
  146. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +7 -5
  147. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -1
  148. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +26 -8
  149. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +61 -28
  150. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
  151. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +6 -5
  152. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +33 -33
  153. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
  154. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.d.ts +2 -2
  155. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +4 -6
  156. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
  157. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +29 -39
  158. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +31 -35
  159. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  160. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +5 -8
  161. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +27 -23
  162. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  163. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +38 -34
  164. package/dist/lock/implementations/derivables/lock-provider/lock.js +182 -257
  165. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  166. package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.d.ts +9 -0
  167. package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.js +12 -0
  168. package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.js.map +1 -0
  169. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +12 -13
  170. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +7 -16
  171. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  172. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +310 -207
  173. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
  174. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +1 -1
  175. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +376 -292
  176. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
  177. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +15 -5
  178. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +3285 -2976
  179. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  180. package/dist/namespace/_module-exports.d.ts +1 -0
  181. package/dist/namespace/_module-exports.js +2 -0
  182. package/dist/namespace/_module-exports.js.map +1 -0
  183. package/dist/namespace/namespace.d.ts +87 -0
  184. package/dist/namespace/namespace.js +117 -0
  185. package/dist/namespace/namespace.js.map +1 -0
  186. package/dist/resilience/_module-exports.d.ts +2 -0
  187. package/dist/resilience/_module-exports.js +3 -0
  188. package/dist/resilience/_module-exports.js.map +1 -0
  189. package/dist/resilience/middlewares/_module.d.ts +5 -0
  190. package/dist/resilience/middlewares/_module.js +6 -0
  191. package/dist/resilience/middlewares/_module.js.map +1 -0
  192. package/dist/resilience/middlewares/dynamic/_module.d.ts +1 -0
  193. package/dist/resilience/middlewares/dynamic/_module.js +2 -0
  194. package/dist/resilience/middlewares/dynamic/_module.js.map +1 -0
  195. package/dist/{async → resilience}/middlewares/dynamic/dynamic.middleware.d.ts +6 -6
  196. package/dist/{async → resilience}/middlewares/dynamic/dynamic.middleware.js +5 -5
  197. package/dist/resilience/middlewares/dynamic/dynamic.middleware.js.map +1 -0
  198. package/dist/resilience/middlewares/fallback/_module.d.ts +2 -0
  199. package/dist/resilience/middlewares/fallback/_module.js +3 -0
  200. package/dist/resilience/middlewares/fallback/_module.js.map +1 -0
  201. package/dist/{async → resilience}/middlewares/fallback/fallback.middleware.d.ts +9 -9
  202. package/dist/{async → resilience}/middlewares/fallback/fallback.middleware.js +7 -6
  203. package/dist/resilience/middlewares/fallback/fallback.middleware.js.map +1 -0
  204. package/dist/{async → resilience}/middlewares/fallback/fallback.types.d.ts +7 -6
  205. package/dist/{async → resilience}/middlewares/fallback/fallback.types.js +1 -1
  206. package/dist/resilience/middlewares/fallback/fallback.types.js.map +1 -0
  207. package/dist/resilience/middlewares/observe/_module.d.ts +2 -0
  208. package/dist/resilience/middlewares/observe/_module.js +3 -0
  209. package/dist/resilience/middlewares/observe/_module.js.map +1 -0
  210. package/dist/{async → resilience}/middlewares/observe/observe.middleware.d.ts +13 -11
  211. package/dist/{async → resilience}/middlewares/observe/observe.middleware.js +14 -10
  212. package/dist/resilience/middlewares/observe/observe.middleware.js.map +1 -0
  213. package/dist/{async → resilience}/middlewares/observe/observe.types.d.ts +13 -12
  214. package/dist/resilience/middlewares/observe/observe.types.js +5 -0
  215. package/dist/resilience/middlewares/observe/observe.types.js.map +1 -0
  216. package/dist/resilience/middlewares/retry/_module.d.ts +2 -0
  217. package/dist/resilience/middlewares/retry/_module.js +3 -0
  218. package/dist/resilience/middlewares/retry/_module.js.map +1 -0
  219. package/dist/{async → resilience}/middlewares/retry/retry.middleware.d.ts +12 -9
  220. package/dist/{async → resilience}/middlewares/retry/retry.middleware.js +19 -15
  221. package/dist/resilience/middlewares/retry/retry.middleware.js.map +1 -0
  222. package/dist/{async → resilience}/middlewares/retry/retry.types.d.ts +14 -12
  223. package/dist/resilience/middlewares/retry/retry.types.js +7 -0
  224. package/dist/resilience/middlewares/retry/retry.types.js.map +1 -0
  225. package/dist/resilience/middlewares/timeout/_module.d.ts +2 -0
  226. package/dist/resilience/middlewares/timeout/_module.js +3 -0
  227. package/dist/resilience/middlewares/timeout/_module.js.map +1 -0
  228. package/dist/{async → resilience}/middlewares/timeout/timeout.middleware.d.ts +9 -7
  229. package/dist/{async → resilience}/middlewares/timeout/timeout.middleware.js +12 -11
  230. package/dist/resilience/middlewares/timeout/timeout.middleware.js.map +1 -0
  231. package/dist/{async → resilience}/middlewares/timeout/timeout.type.d.ts +10 -9
  232. package/dist/resilience/middlewares/timeout/timeout.type.js +5 -0
  233. package/dist/resilience/middlewares/timeout/timeout.type.js.map +1 -0
  234. package/dist/resilience/resilience.errors.d.ts +40 -0
  235. package/dist/resilience/resilience.errors.js +48 -0
  236. package/dist/resilience/resilience.errors.js.map +1 -0
  237. package/dist/resilience/utilities/_module.d.ts +2 -0
  238. package/dist/resilience/utilities/_module.js +3 -0
  239. package/dist/resilience/utilities/_module.js.map +1 -0
  240. package/dist/resilience/utilities/abort-and-fail/_module.d.ts +1 -0
  241. package/dist/resilience/utilities/abort-and-fail/_module.js +2 -0
  242. package/dist/resilience/utilities/abort-and-fail/_module.js.map +1 -0
  243. package/dist/resilience/utilities/abort-and-fail/abort-and-fail.d.ts +7 -0
  244. package/dist/resilience/utilities/abort-and-fail/abort-and-fail.js +51 -0
  245. package/dist/resilience/utilities/abort-and-fail/abort-and-fail.js.map +1 -0
  246. package/dist/resilience/utilities/timeout-and-fail/_module.d.ts +1 -0
  247. package/dist/resilience/utilities/timeout-and-fail/_module.js +2 -0
  248. package/dist/resilience/utilities/timeout-and-fail/_module.js.map +1 -0
  249. package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.d.ts +7 -0
  250. package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.js +23 -0
  251. package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.js.map +1 -0
  252. package/dist/semaphore/contracts/_module-exports.d.ts +9 -0
  253. package/dist/semaphore/contracts/_module-exports.js +10 -0
  254. package/dist/semaphore/contracts/_module-exports.js.map +1 -0
  255. package/dist/semaphore/contracts/database-semaphore-adapter.contract.d.ts +90 -0
  256. package/dist/semaphore/contracts/database-semaphore-adapter.contract.js +5 -0
  257. package/dist/semaphore/contracts/database-semaphore-adapter.contract.js.map +1 -0
  258. package/dist/semaphore/contracts/semaphore-adapter.contract.d.ts +61 -0
  259. package/dist/semaphore/contracts/semaphore-adapter.contract.js +5 -0
  260. package/dist/semaphore/contracts/semaphore-adapter.contract.js.map +1 -0
  261. package/dist/semaphore/contracts/semaphore-provider-factory.contract.d.ts +19 -0
  262. package/dist/semaphore/contracts/semaphore-provider-factory.contract.js +9 -0
  263. package/dist/semaphore/contracts/semaphore-provider-factory.contract.js.map +1 -0
  264. package/dist/semaphore/contracts/semaphore-provider.contract.d.ts +50 -0
  265. package/dist/semaphore/contracts/semaphore-provider.contract.js +5 -0
  266. package/dist/semaphore/contracts/semaphore-provider.contract.js.map +1 -0
  267. package/dist/semaphore/contracts/semaphore-state.contract.d.ts +70 -0
  268. package/dist/semaphore/contracts/semaphore-state.contract.js +15 -0
  269. package/dist/semaphore/contracts/semaphore-state.contract.js.map +1 -0
  270. package/dist/semaphore/contracts/semaphore.contract.d.ts +127 -0
  271. package/dist/semaphore/contracts/semaphore.contract.js +5 -0
  272. package/dist/semaphore/contracts/semaphore.contract.js.map +1 -0
  273. package/dist/semaphore/contracts/semaphore.errors.d.ts +52 -0
  274. package/dist/semaphore/contracts/semaphore.errors.js +63 -0
  275. package/dist/semaphore/contracts/semaphore.errors.js.map +1 -0
  276. package/dist/semaphore/contracts/semaphore.events.d.ts +101 -0
  277. package/dist/semaphore/contracts/semaphore.events.js +19 -0
  278. package/dist/semaphore/contracts/semaphore.events.js.map +1 -0
  279. package/dist/semaphore/contracts/types.d.ts +11 -0
  280. package/dist/semaphore/contracts/types.js +5 -0
  281. package/dist/semaphore/contracts/types.js.map +1 -0
  282. package/dist/semaphore/implementations/adapters/_module-exports.d.ts +5 -0
  283. package/dist/semaphore/implementations/adapters/_module-exports.js +6 -0
  284. package/dist/semaphore/implementations/adapters/_module-exports.js.map +1 -0
  285. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.d.ts +1 -0
  286. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.js +2 -0
  287. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.js.map +1 -0
  288. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.d.ts +97 -0
  289. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js +313 -0
  290. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js.map +1 -0
  291. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.d.ts +1 -0
  292. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.js +2 -0
  293. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.js.map +1 -0
  294. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.d.ts +49 -0
  295. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js +141 -0
  296. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js.map +1 -0
  297. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.d.ts +1 -0
  298. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.js +2 -0
  299. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.js.map +1 -0
  300. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.d.ts +80 -0
  301. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js +390 -0
  302. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js.map +1 -0
  303. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.d.ts +1 -0
  304. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.js +2 -0
  305. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.js.map +1 -0
  306. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.d.ts +18 -0
  307. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js +30 -0
  308. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js.map +1 -0
  309. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.d.ts +1 -0
  310. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.js +2 -0
  311. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.js.map +1 -0
  312. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.d.ts +48 -0
  313. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.js +338 -0
  314. package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.js.map +1 -0
  315. package/dist/semaphore/implementations/derivables/_module-exports.d.ts +2 -0
  316. package/dist/semaphore/implementations/derivables/_module-exports.js +3 -0
  317. package/dist/semaphore/implementations/derivables/_module-exports.js.map +1 -0
  318. package/dist/semaphore/implementations/derivables/semaphore-provider/_module.d.ts +1 -0
  319. package/dist/semaphore/implementations/derivables/semaphore-provider/_module.js +2 -0
  320. package/dist/semaphore/implementations/derivables/semaphore-provider/_module.js.map +1 -0
  321. package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.d.ts +17 -0
  322. package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js +74 -0
  323. package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js.map +1 -0
  324. package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.d.ts +8 -0
  325. package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js +15 -0
  326. package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js.map +1 -0
  327. package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.d.ts +8 -0
  328. package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.js +15 -0
  329. package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.js.map +1 -0
  330. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +149 -0
  331. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js +135 -0
  332. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -0
  333. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.d.ts +41 -0
  334. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js +77 -0
  335. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +1 -0
  336. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.d.ts +83 -0
  337. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js +336 -0
  338. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +1 -0
  339. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.d.ts +1 -0
  340. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js +2 -0
  341. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js.map +1 -0
  342. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.d.ts +40 -0
  343. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js +67 -0
  344. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +1 -0
  345. package/dist/semaphore/implementations/test-utilities/_module-exports.d.ts +3 -0
  346. package/dist/semaphore/implementations/test-utilities/_module-exports.js +4 -0
  347. package/dist/semaphore/implementations/test-utilities/_module-exports.js.map +1 -0
  348. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.d.ts +59 -0
  349. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js +536 -0
  350. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js.map +1 -0
  351. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.d.ts +59 -0
  352. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js +961 -0
  353. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js.map +1 -0
  354. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.d.ts +67 -0
  355. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js +4981 -0
  356. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js.map +1 -0
  357. package/dist/serde/contracts/_module-exports.d.ts +0 -1
  358. package/dist/serde/contracts/_module-exports.js +0 -1
  359. package/dist/serde/contracts/_module-exports.js.map +1 -1
  360. package/dist/serde/contracts/flexible-serde.contract.d.ts +21 -5
  361. package/dist/serde/contracts/serde.errors.d.ts +14 -11
  362. package/dist/serde/contracts/serde.errors.js +15 -14
  363. package/dist/serde/contracts/serde.errors.js.map +1 -1
  364. package/dist/serde/implementations/adapters/_module-exports.d.ts +0 -3
  365. package/dist/serde/implementations/adapters/_module-exports.js +0 -3
  366. package/dist/serde/implementations/adapters/_module-exports.js.map +1 -1
  367. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +6 -0
  368. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  369. package/dist/serde/implementations/derivables/serde-transformers.d.ts +38 -30
  370. package/dist/serde/implementations/derivables/serde-transformers.js +62 -20
  371. package/dist/serde/implementations/derivables/serde-transformers.js.map +1 -1
  372. package/dist/serde/implementations/derivables/serde.d.ts +12 -3
  373. package/dist/serde/implementations/derivables/serde.js +5 -2
  374. package/dist/serde/implementations/derivables/serde.js.map +1 -1
  375. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +85 -1
  376. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js.map +1 -1
  377. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +85 -1
  378. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js.map +1 -1
  379. package/dist/shared-lock/contracts/_module-exports.d.ts +10 -0
  380. package/dist/shared-lock/contracts/_module-exports.js +11 -0
  381. package/dist/shared-lock/contracts/_module-exports.js.map +1 -0
  382. package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.d.ts +145 -0
  383. package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.js +5 -0
  384. package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.js.map +1 -0
  385. package/dist/shared-lock/contracts/shared-lock-adapter.contract.d.ts +96 -0
  386. package/dist/shared-lock/contracts/shared-lock-adapter.contract.js +5 -0
  387. package/dist/shared-lock/contracts/shared-lock-adapter.contract.js.map +1 -0
  388. package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.d.ts +19 -0
  389. package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js +9 -0
  390. package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js.map +1 -0
  391. package/dist/shared-lock/contracts/shared-lock-provider.contract.d.ts +53 -0
  392. package/dist/shared-lock/contracts/shared-lock-provider.contract.js +5 -0
  393. package/dist/shared-lock/contracts/shared-lock-provider.contract.js.map +1 -0
  394. package/dist/shared-lock/contracts/shared-lock-state.contract.d.ts +133 -0
  395. package/dist/shared-lock/contracts/shared-lock-state.contract.js +33 -0
  396. package/dist/shared-lock/contracts/shared-lock-state.contract.js.map +1 -0
  397. package/dist/shared-lock/contracts/shared-lock.contract.d.ts +222 -0
  398. package/dist/shared-lock/contracts/shared-lock.contract.js +13 -0
  399. package/dist/shared-lock/contracts/shared-lock.contract.js.map +1 -0
  400. package/dist/shared-lock/contracts/shared-lock.errors.d.ts +124 -0
  401. package/dist/shared-lock/contracts/shared-lock.errors.js +136 -0
  402. package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -0
  403. package/dist/shared-lock/contracts/shared-lock.events.d.ts +205 -0
  404. package/dist/shared-lock/contracts/shared-lock.events.js +43 -0
  405. package/dist/shared-lock/contracts/shared-lock.events.js.map +1 -0
  406. package/dist/shared-lock/contracts/types.d.ts +10 -0
  407. package/dist/shared-lock/contracts/types.js +5 -0
  408. package/dist/shared-lock/contracts/types.js.map +1 -0
  409. package/dist/shared-lock/implementations/adapters/_module-exports.d.ts +5 -0
  410. package/dist/shared-lock/implementations/adapters/_module-exports.js +6 -0
  411. package/dist/shared-lock/implementations/adapters/_module-exports.js.map +1 -0
  412. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.d.ts +1 -0
  413. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.js +2 -0
  414. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.js.map +1 -0
  415. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.d.ts +114 -0
  416. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js +496 -0
  417. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js.map +1 -0
  418. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.d.ts +1 -0
  419. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.js +2 -0
  420. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.js.map +1 -0
  421. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.d.ts +79 -0
  422. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js +347 -0
  423. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js.map +1 -0
  424. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.d.ts +1 -0
  425. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.js +2 -0
  426. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.js.map +1 -0
  427. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.d.ts +112 -0
  428. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js +805 -0
  429. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js.map +1 -0
  430. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.d.ts +1 -0
  431. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.js +2 -0
  432. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.js.map +1 -0
  433. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.d.ts +23 -0
  434. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js +42 -0
  435. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js.map +1 -0
  436. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.d.ts +1 -0
  437. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.js +2 -0
  438. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.js.map +1 -0
  439. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.d.ts +79 -0
  440. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.js +630 -0
  441. package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.js.map +1 -0
  442. package/dist/shared-lock/implementations/derivables/_module-exports.d.ts +2 -0
  443. package/dist/shared-lock/implementations/derivables/_module-exports.js +3 -0
  444. package/dist/shared-lock/implementations/derivables/_module-exports.js.map +1 -0
  445. package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.d.ts +1 -0
  446. package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.js +2 -0
  447. package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.js.map +1 -0
  448. package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.d.ts +27 -0
  449. package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js +208 -0
  450. package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js.map +1 -0
  451. package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.d.ts +8 -0
  452. package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js +12 -0
  453. package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js.map +1 -0
  454. package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.d.ts +8 -0
  455. package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.js +15 -0
  456. package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.js.map +1 -0
  457. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +190 -0
  458. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js +177 -0
  459. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -0
  460. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.d.ts +41 -0
  461. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js +77 -0
  462. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +1 -0
  463. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.d.ts +95 -0
  464. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js +542 -0
  465. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +1 -0
  466. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.d.ts +1 -0
  467. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.js +2 -0
  468. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.js.map +1 -0
  469. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.d.ts +97 -0
  470. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js +128 -0
  471. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +1 -0
  472. package/dist/shared-lock/implementations/test-utilities/_module-exports.d.ts +3 -0
  473. package/dist/shared-lock/implementations/test-utilities/_module-exports.js +4 -0
  474. package/dist/shared-lock/implementations/test-utilities/_module-exports.js.map +1 -0
  475. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.d.ts +59 -0
  476. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js +944 -0
  477. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js.map +1 -0
  478. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.d.ts +59 -0
  479. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js +1921 -0
  480. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js.map +1 -0
  481. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.d.ts +67 -0
  482. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js +9833 -0
  483. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js.map +1 -0
  484. package/dist/task/_module-exports.d.ts +1 -0
  485. package/dist/task/_module-exports.js +2 -0
  486. package/dist/task/_module-exports.js.map +1 -0
  487. package/dist/{async/utilities/abort-and-fail → task}/abort-and-fail.d.ts +1 -1
  488. package/dist/{async/utilities/abort-and-fail → task}/abort-and-fail.js +1 -1
  489. package/dist/task/abort-and-fail.js.map +1 -0
  490. package/dist/task/task.d.ts +194 -0
  491. package/dist/task/task.js +212 -0
  492. package/dist/task/task.js.map +1 -0
  493. package/dist/time-span/contracts/_module-exports.d.ts +1 -0
  494. package/dist/time-span/contracts/_module-exports.js +2 -0
  495. package/dist/time-span/contracts/_module-exports.js.map +1 -0
  496. package/dist/time-span/contracts/time-span.contract.d.ts +19 -0
  497. package/dist/time-span/contracts/time-span.contract.js +10 -0
  498. package/dist/time-span/contracts/time-span.contract.js.map +1 -0
  499. package/dist/time-span/implementations/_module-exports.d.ts +1 -0
  500. package/dist/time-span/implementations/_module-exports.js +2 -0
  501. package/dist/time-span/implementations/_module-exports.js.map +1 -0
  502. package/dist/{utilities/classes/time-span → time-span/implementations}/time-span.d.ts +49 -11
  503. package/dist/{utilities/classes/time-span → time-span/implementations}/time-span.js +33 -11
  504. package/dist/time-span/implementations/time-span.js.map +1 -0
  505. package/dist/utilities/classes/_module.d.ts +0 -3
  506. package/dist/utilities/classes/_module.js +0 -3
  507. package/dist/utilities/classes/_module.js.map +1 -1
  508. package/dist/utilities/contracts/_module.d.ts +1 -1
  509. package/dist/utilities/contracts/_module.js +1 -1
  510. package/dist/utilities/contracts/_module.js.map +1 -1
  511. package/dist/utilities/contracts/comparable.contract.d.ts +49 -0
  512. package/dist/utilities/contracts/comparable.contract.js +5 -0
  513. package/dist/utilities/contracts/comparable.contract.js.map +1 -0
  514. package/dist/utilities/functions/is-standard-schema.d.ts +6 -0
  515. package/dist/utilities/functions/is-standard-schema.js +6 -0
  516. package/dist/utilities/functions/is-standard-schema.js.map +1 -1
  517. package/dist/utilities/functions/lazy.d.ts +3 -3
  518. package/dist/utilities/functions/lazy.js +3 -3
  519. package/dist/utilities/functions/lazy.js.map +1 -1
  520. package/dist/utilities/functions/option.d.ts +3 -0
  521. package/dist/utilities/functions/option.js +3 -0
  522. package/dist/utilities/functions/option.js.map +1 -1
  523. package/dist/utilities/functions/validate.d.ts +5 -0
  524. package/dist/utilities/functions/validate.js +5 -0
  525. package/dist/utilities/functions/validate.js.map +1 -1
  526. package/dist/utilities/types/any-class.type.d.ts +6 -0
  527. package/dist/utilities/types/any-class.type.js +3 -0
  528. package/dist/utilities/types/any-class.type.js.map +1 -1
  529. package/package.json +67 -5
  530. package/dist/async/_module-exports.d.ts +0 -4
  531. package/dist/async/_module-exports.js +0 -5
  532. package/dist/async/_module-exports.js.map +0 -1
  533. package/dist/async/async.errors.d.ts +0 -47
  534. package/dist/async/async.errors.js +0 -61
  535. package/dist/async/async.errors.js.map +0 -1
  536. package/dist/async/backof-policies/_module.d.ts +0 -5
  537. package/dist/async/backof-policies/_module.js +0 -6
  538. package/dist/async/backof-policies/_module.js.map +0 -1
  539. package/dist/async/backof-policies/_shared.js.map +0 -1
  540. package/dist/async/backof-policies/constant-backoff-policy/_module.d.ts +0 -1
  541. package/dist/async/backof-policies/constant-backoff-policy/_module.js +0 -2
  542. package/dist/async/backof-policies/constant-backoff-policy/_module.js.map +0 -1
  543. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
  544. package/dist/async/backof-policies/exponential-backoff-policy/_module.d.ts +0 -1
  545. package/dist/async/backof-policies/exponential-backoff-policy/_module.js +0 -2
  546. package/dist/async/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
  547. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +0 -35
  548. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
  549. package/dist/async/backof-policies/linear-backoff-policy/_module.d.ts +0 -1
  550. package/dist/async/backof-policies/linear-backoff-policy/_module.js +0 -2
  551. package/dist/async/backof-policies/linear-backoff-policy/_module.js.map +0 -1
  552. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +0 -35
  553. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
  554. package/dist/async/backof-policies/polynomial-backoff-policy/_module.d.ts +0 -1
  555. package/dist/async/backof-policies/polynomial-backoff-policy/_module.js +0 -2
  556. package/dist/async/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
  557. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +0 -35
  558. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
  559. package/dist/async/middlewares/_module.d.ts +0 -7
  560. package/dist/async/middlewares/_module.js +0 -8
  561. package/dist/async/middlewares/_module.js.map +0 -1
  562. package/dist/async/middlewares/bulkhead/_module.d.ts +0 -1
  563. package/dist/async/middlewares/bulkhead/_module.js +0 -2
  564. package/dist/async/middlewares/bulkhead/_module.js.map +0 -1
  565. package/dist/async/middlewares/bulkhead/bulkhead.middleware.d.ts +0 -80
  566. package/dist/async/middlewares/bulkhead/bulkhead.middleware.js +0 -46
  567. package/dist/async/middlewares/bulkhead/bulkhead.middleware.js.map +0 -1
  568. package/dist/async/middlewares/dynamic/_module.d.ts +0 -1
  569. package/dist/async/middlewares/dynamic/_module.js +0 -2
  570. package/dist/async/middlewares/dynamic/_module.js.map +0 -1
  571. package/dist/async/middlewares/dynamic/dynamic.middleware.js.map +0 -1
  572. package/dist/async/middlewares/fallback/_module.d.ts +0 -2
  573. package/dist/async/middlewares/fallback/_module.js +0 -3
  574. package/dist/async/middlewares/fallback/_module.js.map +0 -1
  575. package/dist/async/middlewares/fallback/fallback.middleware.js.map +0 -1
  576. package/dist/async/middlewares/fallback/fallback.types.js.map +0 -1
  577. package/dist/async/middlewares/hedging/_module.d.ts +0 -2
  578. package/dist/async/middlewares/hedging/_module.js +0 -3
  579. package/dist/async/middlewares/hedging/_module.js.map +0 -1
  580. package/dist/async/middlewares/hedging/hedging.types.d.ts +0 -121
  581. package/dist/async/middlewares/hedging/hedging.types.js +0 -6
  582. package/dist/async/middlewares/hedging/hedging.types.js.map +0 -1
  583. package/dist/async/middlewares/hedging/sequential-hedging.middleware.d.ts +0 -51
  584. package/dist/async/middlewares/hedging/sequential-hedging.middleware.js +0 -133
  585. package/dist/async/middlewares/hedging/sequential-hedging.middleware.js.map +0 -1
  586. package/dist/async/middlewares/observe/_module.d.ts +0 -2
  587. package/dist/async/middlewares/observe/_module.js +0 -3
  588. package/dist/async/middlewares/observe/_module.js.map +0 -1
  589. package/dist/async/middlewares/observe/observe.middleware.js.map +0 -1
  590. package/dist/async/middlewares/observe/observe.types.js +0 -6
  591. package/dist/async/middlewares/observe/observe.types.js.map +0 -1
  592. package/dist/async/middlewares/retry/_module.d.ts +0 -2
  593. package/dist/async/middlewares/retry/_module.js +0 -3
  594. package/dist/async/middlewares/retry/_module.js.map +0 -1
  595. package/dist/async/middlewares/retry/retry.middleware.js.map +0 -1
  596. package/dist/async/middlewares/retry/retry.types.js +0 -7
  597. package/dist/async/middlewares/retry/retry.types.js.map +0 -1
  598. package/dist/async/middlewares/timeout/_module.d.ts +0 -2
  599. package/dist/async/middlewares/timeout/_module.js +0 -3
  600. package/dist/async/middlewares/timeout/_module.js.map +0 -1
  601. package/dist/async/middlewares/timeout/timeout.middleware.js.map +0 -1
  602. package/dist/async/middlewares/timeout/timeout.type.js +0 -6
  603. package/dist/async/middlewares/timeout/timeout.type.js.map +0 -1
  604. package/dist/async/utilities/_module.d.ts +0 -4
  605. package/dist/async/utilities/_module.js +0 -5
  606. package/dist/async/utilities/_module.js.map +0 -1
  607. package/dist/async/utilities/abort-and-fail/_module.d.ts +0 -1
  608. package/dist/async/utilities/abort-and-fail/_module.js +0 -2
  609. package/dist/async/utilities/abort-and-fail/_module.js.map +0 -1
  610. package/dist/async/utilities/abort-and-fail/abort-and-fail.js.map +0 -1
  611. package/dist/async/utilities/lazy-promise/_module.d.ts +0 -1
  612. package/dist/async/utilities/lazy-promise/_module.js +0 -2
  613. package/dist/async/utilities/lazy-promise/_module.js.map +0 -1
  614. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +0 -153
  615. package/dist/async/utilities/lazy-promise/lazy-promise.js +0 -176
  616. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +0 -1
  617. package/dist/async/utilities/promise-queue/_module.d.ts +0 -1
  618. package/dist/async/utilities/promise-queue/_module.js +0 -2
  619. package/dist/async/utilities/promise-queue/_module.js.map +0 -1
  620. package/dist/async/utilities/promise-queue/promise-queue.d.ts +0 -32
  621. package/dist/async/utilities/promise-queue/promise-queue.js +0 -118
  622. package/dist/async/utilities/promise-queue/promise-queue.js.map +0 -1
  623. package/dist/async/utilities/timeout-and-fail/_module.d.ts +0 -1
  624. package/dist/async/utilities/timeout-and-fail/_module.js +0 -2
  625. package/dist/async/utilities/timeout-and-fail/_module.js.map +0 -1
  626. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.d.ts +0 -7
  627. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js +0 -22
  628. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js.map +0 -1
  629. package/dist/lock/implementations/derivables/lock-provider/lock-state.d.ts +0 -40
  630. package/dist/lock/implementations/derivables/lock-provider/lock-state.js +0 -60
  631. package/dist/lock/implementations/derivables/lock-provider/lock-state.js.map +0 -1
  632. package/dist/serde/contracts/serializable.contract.d.ts +0 -12
  633. package/dist/serde/contracts/serializable.contract.js +0 -5
  634. package/dist/serde/contracts/serializable.contract.js.map +0 -1
  635. package/dist/serde/implementations/adapters/mongodb-serde/_module.d.ts +0 -1
  636. package/dist/serde/implementations/adapters/mongodb-serde/_module.js +0 -2
  637. package/dist/serde/implementations/adapters/mongodb-serde/_module.js.map +0 -1
  638. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.d.ts +0 -13
  639. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +0 -38
  640. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +0 -1
  641. package/dist/serde/implementations/adapters/redis-serde/_module.d.ts +0 -1
  642. package/dist/serde/implementations/adapters/redis-serde/_module.js +0 -2
  643. package/dist/serde/implementations/adapters/redis-serde/_module.js.map +0 -1
  644. package/dist/serde/implementations/adapters/redis-serde/redis-serde.d.ts +0 -13
  645. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +0 -39
  646. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +0 -1
  647. package/dist/serde/implementations/adapters/sql-serde/_module.d.ts +0 -1
  648. package/dist/serde/implementations/adapters/sql-serde/_module.js +0 -2
  649. package/dist/serde/implementations/adapters/sql-serde/_module.js.map +0 -1
  650. package/dist/serde/implementations/adapters/sql-serde/sql-serde.d.ts +0 -13
  651. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +0 -39
  652. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +0 -1
  653. package/dist/utilities/classes/hooks/_module.d.ts +0 -3
  654. package/dist/utilities/classes/hooks/_module.js +0 -4
  655. package/dist/utilities/classes/hooks/_module.js.map +0 -1
  656. package/dist/utilities/classes/hooks/async-hooks.js.map +0 -1
  657. package/dist/utilities/classes/hooks/hooks.js.map +0 -1
  658. package/dist/utilities/classes/hooks/types.js +0 -5
  659. package/dist/utilities/classes/hooks/types.js.map +0 -1
  660. package/dist/utilities/classes/namespace/_module.d.ts +0 -1
  661. package/dist/utilities/classes/namespace/_module.js +0 -2
  662. package/dist/utilities/classes/namespace/_module.js.map +0 -1
  663. package/dist/utilities/classes/namespace/namespace.d.ts +0 -85
  664. package/dist/utilities/classes/namespace/namespace.js +0 -125
  665. package/dist/utilities/classes/namespace/namespace.js.map +0 -1
  666. package/dist/utilities/classes/time-span/_module.d.ts +0 -1
  667. package/dist/utilities/classes/time-span/_module.js +0 -2
  668. package/dist/utilities/classes/time-span/_module.js.map +0 -1
  669. package/dist/utilities/classes/time-span/time-span.js.map +0 -1
  670. package/dist/utilities/contracts/serialized-error.contract.d.ts +0 -13
  671. package/dist/utilities/contracts/serialized-error.contract.js +0 -5
  672. package/dist/utilities/contracts/serialized-error.contract.js.map +0 -1
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @module SharedLock
3
+ */
4
+ import type { TimeSpan } from "../../time-span/implementations/_module-exports.js";
5
+ /**
6
+ *
7
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
8
+ * @group Contracts
9
+ */
10
+ export declare const SHARED_LOCK_WRITER_STATE: {
11
+ readonly WRITER_UNAVAILABLE: "WRITER_UNAVAILABLE";
12
+ readonly WRITER_ACQUIRED: "WRITER_ACQUIRED";
13
+ };
14
+ /**
15
+ *
16
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
17
+ * @group Contracts
18
+ */
19
+ export type SharedLockWriterState = (typeof SHARED_LOCK_WRITER_STATE)[keyof typeof SHARED_LOCK_WRITER_STATE];
20
+ /**
21
+ *
22
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
23
+ * @group Contracts
24
+ */
25
+ export declare const SHARED_LOCK_READER_STATE: {
26
+ readonly READER_LIMIT_REACHED: "READER_LIMIT_REACHED";
27
+ readonly READER_ACQUIRED: "READER_ACQUIRED";
28
+ readonly READER_UNACQUIRED: "READER_UNACQUIRED";
29
+ };
30
+ /**
31
+ *
32
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
33
+ * @group Contracts
34
+ */
35
+ export type SharedLockReaderState = (typeof SHARED_LOCK_READER_STATE)[keyof typeof SHARED_LOCK_READER_STATE];
36
+ /**
37
+ *
38
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
39
+ * @group Contracts
40
+ */
41
+ export declare const SHARED_LOCK_STATE: {
42
+ readonly READER_LIMIT_REACHED: "READER_LIMIT_REACHED";
43
+ readonly READER_ACQUIRED: "READER_ACQUIRED";
44
+ readonly READER_UNACQUIRED: "READER_UNACQUIRED";
45
+ readonly WRITER_UNAVAILABLE: "WRITER_UNAVAILABLE";
46
+ readonly WRITER_ACQUIRED: "WRITER_ACQUIRED";
47
+ readonly EXPIRED: "EXPIRED";
48
+ };
49
+ /**
50
+ *
51
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
52
+ * @group Contracts
53
+ */
54
+ export type SharedLockState = (typeof SHARED_LOCK_STATE)[keyof typeof SHARED_LOCK_STATE];
55
+ /**
56
+ *
57
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
58
+ * @group Contracts
59
+ */
60
+ export type ISharedLockExpiredState = {
61
+ type: (typeof SHARED_LOCK_STATE)["EXPIRED"];
62
+ };
63
+ /**
64
+ *
65
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
66
+ * @group Contracts
67
+ */
68
+ export type ISharedLockWriterUnavailableState = {
69
+ type: (typeof SHARED_LOCK_WRITER_STATE)["WRITER_UNAVAILABLE"];
70
+ owner: string;
71
+ };
72
+ /**
73
+ *
74
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
75
+ * @group Contracts
76
+ */
77
+ export type ISharedLockWriterAcquiredState = {
78
+ type: (typeof SHARED_LOCK_WRITER_STATE)["WRITER_ACQUIRED"];
79
+ remainingTime: TimeSpan | null;
80
+ };
81
+ /**
82
+ *
83
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
84
+ * @group Contracts
85
+ */
86
+ export type ISharedLockWriterState = ISharedLockWriterUnavailableState | ISharedLockWriterAcquiredState;
87
+ /**
88
+ *
89
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
90
+ * @group Contracts
91
+ */
92
+ export type ISharedLockReaderUnacquiredState = {
93
+ type: (typeof SHARED_LOCK_READER_STATE)["READER_UNACQUIRED"];
94
+ limit: number;
95
+ freeSlotsCount: number;
96
+ acquiredSlotsCount: number;
97
+ acquiredSlots: string[];
98
+ };
99
+ /**
100
+ *
101
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
102
+ * @group Contracts
103
+ */
104
+ export type ISharedLockReaderAcquiredState = {
105
+ type: (typeof SHARED_LOCK_READER_STATE)["READER_ACQUIRED"];
106
+ limit: number;
107
+ remainingTime: TimeSpan | null;
108
+ freeSlotsCount: number;
109
+ acquiredSlotsCount: number;
110
+ acquiredSlots: string[];
111
+ };
112
+ /**
113
+ *
114
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
115
+ * @group Contracts
116
+ */
117
+ export type ISharedLockReaderLimitReachedState = {
118
+ type: (typeof SHARED_LOCK_READER_STATE)["READER_LIMIT_REACHED"];
119
+ limit: number;
120
+ acquiredSlots: string[];
121
+ };
122
+ /**
123
+ *
124
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
125
+ * @group Contracts
126
+ */
127
+ export type ISharedLockReaderState = ISharedLockReaderUnacquiredState | ISharedLockReaderAcquiredState | ISharedLockReaderLimitReachedState;
128
+ /**
129
+ *
130
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
131
+ * @group Contracts
132
+ */
133
+ export type ISharedLockState = ISharedLockExpiredState | ISharedLockWriterState | ISharedLockReaderState;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @module SharedLock
3
+ */
4
+ /**
5
+ *
6
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
7
+ * @group Contracts
8
+ */
9
+ export const SHARED_LOCK_WRITER_STATE = {
10
+ WRITER_UNAVAILABLE: "WRITER_UNAVAILABLE",
11
+ WRITER_ACQUIRED: "WRITER_ACQUIRED",
12
+ };
13
+ /**
14
+ *
15
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
16
+ * @group Contracts
17
+ */
18
+ export const SHARED_LOCK_READER_STATE = {
19
+ READER_LIMIT_REACHED: "READER_LIMIT_REACHED",
20
+ READER_ACQUIRED: "READER_ACQUIRED",
21
+ READER_UNACQUIRED: "READER_UNACQUIRED",
22
+ };
23
+ /**
24
+ *
25
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
26
+ * @group Contracts
27
+ */
28
+ export const SHARED_LOCK_STATE = {
29
+ EXPIRED: "EXPIRED",
30
+ ...SHARED_LOCK_WRITER_STATE,
31
+ ...SHARED_LOCK_READER_STATE,
32
+ };
33
+ //# sourceMappingURL=shared-lock-state.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-lock-state.contract.js","sourceRoot":"","sources":["../../../src/shared-lock/contracts/shared-lock-state.contract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,iBAAiB;CAC5B,CAAC;AAUX;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;CAChC,CAAC;AAUX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,GAAG,wBAAwB;IAC3B,GAAG,wBAAwB;CACrB,CAAC"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * @module SharedLock
3
+ */
4
+ import type { Task } from "../../task/_module-exports.js";
5
+ import type { AsyncLazy, Result } from "../../utilities/_module-exports.js";
6
+ import type { LimitReachedReaderSemaphoreError, FailedAcquireWriterLockError } from "../../shared-lock/contracts/shared-lock.errors.js";
7
+ import type { ISharedLockState } from "../../shared-lock/contracts/shared-lock-state.contract.js";
8
+ import type { TimeSpan } from "../../time-span/implementations/_module-exports.js";
9
+ import type { ITimeSpan } from "../../time-span/contracts/_module-exports.js";
10
+ /**
11
+ *
12
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
13
+ * @group Contracts
14
+ */
15
+ export type SharedLockAquireBlockingSettings = {
16
+ time?: ITimeSpan;
17
+ interval?: ITimeSpan;
18
+ };
19
+ /**
20
+ *
21
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
22
+ * @group Contracts
23
+ */
24
+ export type IReaderSemaphore = {
25
+ /**
26
+ * The `runReader` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquire` and `release` method.
27
+ *
28
+ */
29
+ runReader<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<Result<TValue, LimitReachedReaderSemaphoreError>>;
30
+ /**
31
+ * The `runReaderOrFail` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireOrFail` and `release` method.
32
+ * @throws {LimitReachedReaderSemaphoreError} {@link LimitReachedReaderSemaphoreError}
33
+ */
34
+ runReaderOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<TValue>;
35
+ /**
36
+ * The `runReaderBlocking` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireBlocking` and `release` method.
37
+ */
38
+ runReaderBlocking<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: SharedLockAquireBlockingSettings): Task<Result<TValue, LimitReachedReaderSemaphoreError>>;
39
+ /**
40
+ * The `runReaderBlockingOrFail` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireBlockingOrFail` and `release` method.
41
+ * @throws {LimitReachedReaderSemaphoreError} {@link LimitReachedReaderSemaphoreError}
42
+ */
43
+ runReaderBlockingOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: SharedLockAquireBlockingSettings): Task<TValue>;
44
+ /**
45
+ * The `acquireReader` method acquires an slots only if the slot limit is not reached.
46
+ *
47
+ * @returns Returns true if the slot limit is not reached otherwise false is returned.
48
+ */
49
+ acquireReader(): Task<boolean>;
50
+ /**
51
+ * The `acquireReaderOrFail` method acquires an slots only if the slot limit is not reached.
52
+ * Throws an error if the slot limit is reached.
53
+ *
54
+ * @throws {LimitReachedReaderSemaphoreError} {@link LimitReachedReaderSemaphoreError}
55
+ */
56
+ acquireReaderOrFail(): Task<void>;
57
+ /**
58
+ * The `acquireReaderBlocking` method acquires an slots only if the slot limit is not reached.
59
+ * If the slot limit is reached, it retries every `settings.interval` until `settings.time` is reached.
60
+ *
61
+ * @returns Returns true if the slot limit is not reached otherwise false is returned.
62
+ */
63
+ acquireReaderBlocking(settings?: SharedLockAquireBlockingSettings): Task<boolean>;
64
+ /**
65
+ * The `acquireReaderBlockingOrFail` method acquires an slots only if the slot limit is not reached.
66
+ * If the slot limit is reached, it retries every `settings.interval` until `settings.time` is reached.
67
+ * Throws an error if the slot limit is reached after the given `settings.time`.
68
+ *
69
+ * @throws {LimitReachedReaderSemaphoreError} {@link LimitReachedReaderSemaphoreError}
70
+ */
71
+ acquireReaderBlockingOrFail(settings?: SharedLockAquireBlockingSettings): Task<void>;
72
+ /**
73
+ * The `releaseReader` method releases the current slot.
74
+ *
75
+ * @returns Returns true if the semaphore exists and has at least one busy slot or false.
76
+ */
77
+ releaseReader(): Task<boolean>;
78
+ /**
79
+ * The `releaseReaderOrFail` method releases the current slot.
80
+ * Throws an error if the slot is not acquired.
81
+ * @throws {FailedReleaseReaderSemaphoreError} {@link FailedReleaseReaderSemaphoreError}
82
+ */
83
+ releaseReaderOrFail(): Task<void>;
84
+ /**
85
+ * The `forceReleaseAllReaders` method releases the all slots.
86
+ *
87
+ * @returns Returns true if the semaphore exists and has at least one unavailable slot or false if all slots are available.
88
+ */
89
+ forceReleaseAllReaders(): Task<boolean>;
90
+ /**
91
+ * The `refreshReader` method updates the `ttl` of the slot when acquired.
92
+ *
93
+ * @returns Returns true if the slot is refreshed otherwise false is returned.
94
+ */
95
+ refreshReader(ttl?: ITimeSpan): Task<boolean>;
96
+ /**
97
+ * The `refreshReaderOrFail` method updates the `ttl` of the slot when acquired.
98
+ * Throws an error if the slot is not acquired.
99
+ * @throws {FailedRefreshReaderSemaphoreError} {@link FailedRefreshReaderSemaphoreError}
100
+ */
101
+ refreshReaderOrFail(ttl?: ITimeSpan): Task<void>;
102
+ };
103
+ /**
104
+ *
105
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
106
+ * @group Contracts
107
+ */
108
+ export type IWriterLock = {
109
+ /**
110
+ * The `runWriter` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquire` and `release` method.
111
+ */
112
+ runWriter<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<Result<TValue, FailedAcquireWriterLockError>>;
113
+ /**
114
+ * The `runWriterOrFail` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireOrFail` and `release` method.
115
+ * @throws {FailedAcquireWriterLockError} {@link FailedAcquireWriterLockError}
116
+ */
117
+ runWriterOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<TValue>;
118
+ /**
119
+ * The `runWriterBlocking` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireBlocking` and `release` method.
120
+ */
121
+ runWriterBlocking<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: SharedLockAquireBlockingSettings): Task<Result<TValue, FailedAcquireWriterLockError>>;
122
+ /**
123
+ * The `runWriterBlockingOrFail` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireBlockingOrFail` and `release` method.
124
+ * @throws {FailedAcquireWriterLockError} {@link FailedAcquireWriterLockError}
125
+ */
126
+ runWriterBlockingOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: SharedLockAquireBlockingSettings): Task<TValue>;
127
+ /**
128
+ * The `acquireWriter` method acquires a lock only if the key is not already acquired by different owner.
129
+ *
130
+ * @returns Returns true if the lock is not already acquired otherwise false is returned.
131
+ */
132
+ acquireWriter(): Task<boolean>;
133
+ /**
134
+ * The `acquireWriterOrFail` method acquires a lock only if the key is not already acquired by different owner.
135
+ * Throws an error if the lock is already acquired by different owner.
136
+ *
137
+ * @throws {FailedAcquireWriterLockError} {@link FailedAcquireWriterLockError}
138
+ */
139
+ acquireWriterOrFail(): Task<void>;
140
+ /**
141
+ * The `acquireWriterBlocking` method acquires a lock only if the key is not already acquired by different owner.
142
+ * If the lock is not acquired, it retries every `settings.interval` until `settings.time` is reached.
143
+ *
144
+ * @returns Returns true if the lock is not already acquired otherwise false is returned.
145
+ */
146
+ acquireWriterBlocking(settings?: SharedLockAquireBlockingSettings): Task<boolean>;
147
+ /**
148
+ * The `acquireWriterBlockingOrFail` method acquires a lock only if the key is not already acquired by different owner.
149
+ * If the lock is not acquired, it retries every `settings.interval` until `settings.time` is reached.
150
+ * Throws an error if the lock is already acquired by different owner.
151
+ *
152
+ * @throws {FailedAcquireWriterLockError} {@link FailedAcquireWriterLockError}
153
+ */
154
+ acquireWriterBlockingOrFail(settings?: SharedLockAquireBlockingSettings): Task<void>;
155
+ /**
156
+ * The `releaseWriter` method releases a lock if owned by the same owner.
157
+ *
158
+ * @returns Returns true if the lock is released otherwise false is returned.
159
+ */
160
+ releaseWriter(): Task<boolean>;
161
+ /**
162
+ * The `releaseWriterOrFail` method releases a lock if owned by the same owner.
163
+ * Throws an error if the lock is not owned by same owner.
164
+ *
165
+ * @throws {FailedReleaseWriterLockError} {@link FailedReleaseWriterLockError}
166
+ */
167
+ releaseWriterOrFail(): Task<void>;
168
+ /**
169
+ * The `forceReleaseWriter` method releases a lock regardless of the owner.
170
+ *
171
+ * @returns Returns true if the lock exists or false if the lock doesnt exists.
172
+ */
173
+ forceReleaseWriter(): Task<boolean>;
174
+ /**
175
+ * The `refreshWriter` method updates the `ttl` of the lock if expireable and owned by the same owner.
176
+ *
177
+ * @returns Returns true if the lock is refreshed otherwise false is returned.
178
+ */
179
+ refreshWriter(ttl?: ITimeSpan): Task<boolean>;
180
+ /**
181
+ * The `refreshWriterOrFail` method updates the `ttl` of the lock if expireable and owned by the same owner.
182
+ * Throws an error if the lock is not owned by same owner.
183
+ * Throws an error if the key is unexpirable.
184
+ *
185
+ * @throws {FailedRefreshWriterLockError} {@link FailedRefreshWriterLockError}
186
+ */
187
+ refreshWriterOrFail(ttl?: ITimeSpan): Task<void>;
188
+ };
189
+ /**
190
+ *
191
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
192
+ * @group Contracts
193
+ */
194
+ export type ISharedLockStateMethods = {
195
+ getState(): Task<ISharedLockState>;
196
+ /**
197
+ * The `key` of the `ISharedLock` instance.
198
+ */
199
+ readonly key: string;
200
+ /**
201
+ * The `id` of the `ISharedLock` instance.
202
+ */
203
+ readonly id: string;
204
+ /**
205
+ * The `ttl` of `ISharedLock` instance.
206
+ */
207
+ readonly ttl: TimeSpan | null;
208
+ };
209
+ /**
210
+ *
211
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
212
+ * @group Contracts
213
+ */
214
+ export type ISharedLockBase = IReaderSemaphore & IWriterLock & {
215
+ forceRelease(): Task<boolean>;
216
+ };
217
+ /**
218
+ *
219
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
220
+ * @group Contracts
221
+ */
222
+ export type ISharedLock = ISharedLockBase & ISharedLockStateMethods;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module SharedLock
3
+ */
4
+ import {
5
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
+ FailedRefreshReaderSemaphoreError,
7
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
+ FailedReleaseReaderSemaphoreError,
9
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
+ FailedReleaseWriterLockError,
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+ FailedRefreshWriterLockError, } from "../../shared-lock/contracts/shared-lock.errors.js";
13
+ //# sourceMappingURL=shared-lock.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-lock.contract.js","sourceRoot":"","sources":["../../../src/shared-lock/contracts/shared-lock.contract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO;AACH,6DAA6D;AAC7D,iCAAiC;AACjC,6DAA6D;AAC7D,iCAAiC;AACjC,6DAA6D;AAC7D,4BAA4B;AAC5B,6DAA6D;AAC7D,4BAA4B,GAC/B,MAAM,+CAA+C,CAAC"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @module SharedLock
3
+ */
4
+ /**
5
+ * The error is thrown when trying to acquire a semaphore slot, but all slots are already taken.
6
+ *
7
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
8
+ * @group Errors
9
+ */
10
+ export declare class LimitReachedReaderSemaphoreError extends Error {
11
+ constructor(message: string, cause?: unknown);
12
+ }
13
+ /**
14
+ * The error is thrown when trying to referesh a semaphore slot that is already expired.
15
+ *
16
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
17
+ * @group Errors
18
+ */
19
+ export declare class FailedRefreshReaderSemaphoreError extends Error {
20
+ constructor(message: string, cause?: unknown);
21
+ }
22
+ /**
23
+ * The error is thrown when trying to release a semaphore slot that is already expired.
24
+ *
25
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
26
+ * @group Errors
27
+ */
28
+ export declare class FailedReleaseReaderSemaphoreError extends Error {
29
+ constructor(message: string, cause?: unknown);
30
+ }
31
+ /**
32
+ *
33
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
34
+ * @group Errors
35
+ */
36
+ export declare const READER_SEMAPHORE_ERRORS: {
37
+ readonly ReachedLimit: typeof LimitReachedReaderSemaphoreError;
38
+ readonly FailedRefresh: typeof FailedRefreshReaderSemaphoreError;
39
+ readonly FailedRelease: typeof FailedReleaseReaderSemaphoreError;
40
+ };
41
+ /**
42
+ *
43
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
44
+ * @group Errors
45
+ */
46
+ export type AllReaderSemaphoreErrors = LimitReachedReaderSemaphoreError | FailedRefreshReaderSemaphoreError | FailedReleaseReaderSemaphoreError;
47
+ /**
48
+ *
49
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
50
+ * @group Errors
51
+ */
52
+ export declare function isReaderSemaphoreError(value: unknown): value is AllReaderSemaphoreErrors;
53
+ /**
54
+ * The error is thrown when trying to acquire a lock that is owned by a different owner.
55
+ *
56
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
57
+ * @group Errors
58
+ */
59
+ export declare class FailedAcquireWriterLockError extends Error {
60
+ constructor(message: string, cause?: unknown);
61
+ }
62
+ /**
63
+ * The error is thrown when trying to release a lock that is owned by a different owner.
64
+ *
65
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
66
+ * @group Errors
67
+ */
68
+ export declare class FailedReleaseWriterLockError extends Error {
69
+ constructor(message: string, cause?: unknown);
70
+ }
71
+ /**
72
+ * The error is thrown when trying to referesh a lock that is owned by a different owner.
73
+ *
74
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
75
+ * @group Errors
76
+ */
77
+ export declare class FailedRefreshWriterLockError extends Error {
78
+ constructor(message: string, cause?: unknown);
79
+ }
80
+ /**
81
+ *
82
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
83
+ * @group Errors
84
+ */
85
+ export declare const WRITER_LOCK_ERRORS: {
86
+ readonly FailedAcquire: typeof FailedAcquireWriterLockError;
87
+ readonly FailedRelease: typeof FailedReleaseWriterLockError;
88
+ readonly FailedRefresh: typeof FailedRefreshWriterLockError;
89
+ };
90
+ /**
91
+ *
92
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
93
+ * @group Errors
94
+ */
95
+ export type AllWriterLockErrors = FailedAcquireWriterLockError | FailedReleaseWriterLockError | FailedRefreshWriterLockError;
96
+ /**
97
+ *
98
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
99
+ * @group Errors
100
+ */
101
+ export declare function isWriterLockError(value: unknown): value is AllWriterLockErrors;
102
+ /**
103
+ *
104
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
105
+ * @group Errors
106
+ */
107
+ export declare const SHARED_LOCK_ERRORS: {
108
+ readonly FailedAcquire: typeof FailedAcquireWriterLockError;
109
+ readonly FailedRelease: typeof FailedReleaseWriterLockError;
110
+ readonly FailedRefresh: typeof FailedRefreshWriterLockError;
111
+ readonly ReachedLimit: typeof LimitReachedReaderSemaphoreError;
112
+ };
113
+ /**
114
+ *
115
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
116
+ * @group Errors
117
+ */
118
+ export type AllSharedLockErrors = AllWriterLockErrors | AllReaderSemaphoreErrors;
119
+ /**
120
+ *
121
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
122
+ * @group Errors
123
+ */
124
+ export declare function isSharedLockError(value: unknown): value is AllSharedLockErrors;
@@ -0,0 +1,136 @@
1
+ /**
2
+ * @module SharedLock
3
+ */
4
+ /**
5
+ * The error is thrown when trying to acquire a semaphore slot, but all slots are already taken.
6
+ *
7
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
8
+ * @group Errors
9
+ */
10
+ export class LimitReachedReaderSemaphoreError extends Error {
11
+ constructor(message, cause) {
12
+ super(message, { cause });
13
+ this.name = LimitReachedReaderSemaphoreError.name;
14
+ }
15
+ }
16
+ /**
17
+ * The error is thrown when trying to referesh a semaphore slot that is already expired.
18
+ *
19
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
20
+ * @group Errors
21
+ */
22
+ export class FailedRefreshReaderSemaphoreError extends Error {
23
+ constructor(message, cause) {
24
+ super(message, { cause });
25
+ this.name = FailedRefreshReaderSemaphoreError.name;
26
+ }
27
+ }
28
+ /**
29
+ * The error is thrown when trying to release a semaphore slot that is already expired.
30
+ *
31
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
32
+ * @group Errors
33
+ */
34
+ export class FailedReleaseReaderSemaphoreError extends Error {
35
+ constructor(message, cause) {
36
+ super(message, { cause });
37
+ this.name = FailedReleaseReaderSemaphoreError.name;
38
+ }
39
+ }
40
+ /**
41
+ *
42
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
43
+ * @group Errors
44
+ */
45
+ export const READER_SEMAPHORE_ERRORS = {
46
+ ReachedLimit: LimitReachedReaderSemaphoreError,
47
+ FailedRefresh: FailedRefreshReaderSemaphoreError,
48
+ FailedRelease: FailedReleaseReaderSemaphoreError,
49
+ };
50
+ /**
51
+ *
52
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
53
+ * @group Errors
54
+ */
55
+ export function isReaderSemaphoreError(value) {
56
+ for (const ErrorClass of Object.values(READER_SEMAPHORE_ERRORS)) {
57
+ if (!(value instanceof ErrorClass)) {
58
+ return false;
59
+ }
60
+ }
61
+ return true;
62
+ }
63
+ /**
64
+ * The error is thrown when trying to acquire a lock that is owned by a different owner.
65
+ *
66
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
67
+ * @group Errors
68
+ */
69
+ export class FailedAcquireWriterLockError extends Error {
70
+ constructor(message, cause) {
71
+ super(message, { cause });
72
+ }
73
+ }
74
+ /**
75
+ * The error is thrown when trying to release a lock that is owned by a different owner.
76
+ *
77
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
78
+ * @group Errors
79
+ */
80
+ export class FailedReleaseWriterLockError extends Error {
81
+ constructor(message, cause) {
82
+ super(message, { cause });
83
+ }
84
+ }
85
+ /**
86
+ * The error is thrown when trying to referesh a lock that is owned by a different owner.
87
+ *
88
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
89
+ * @group Errors
90
+ */
91
+ export class FailedRefreshWriterLockError extends Error {
92
+ constructor(message, cause) {
93
+ super(message, { cause });
94
+ }
95
+ }
96
+ /**
97
+ *
98
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
99
+ * @group Errors
100
+ */
101
+ export const WRITER_LOCK_ERRORS = {
102
+ FailedAcquire: FailedAcquireWriterLockError,
103
+ FailedRelease: FailedReleaseWriterLockError,
104
+ FailedRefresh: FailedRefreshWriterLockError,
105
+ };
106
+ /**
107
+ *
108
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
109
+ * @group Errors
110
+ */
111
+ export function isWriterLockError(value) {
112
+ for (const ErrorClass of Object.values(WRITER_LOCK_ERRORS)) {
113
+ if (!(value instanceof ErrorClass)) {
114
+ return false;
115
+ }
116
+ }
117
+ return true;
118
+ }
119
+ /**
120
+ *
121
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
122
+ * @group Errors
123
+ */
124
+ export const SHARED_LOCK_ERRORS = {
125
+ ...READER_SEMAPHORE_ERRORS,
126
+ ...WRITER_LOCK_ERRORS,
127
+ };
128
+ /**
129
+ *
130
+ * IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
131
+ * @group Errors
132
+ */
133
+ export function isSharedLockError(value) {
134
+ return isReaderSemaphoreError(value) || isWriterLockError(value);
135
+ }
136
+ //# sourceMappingURL=shared-lock.errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-lock.errors.js","sourceRoot":"","sources":["../../../src/shared-lock/contracts/shared-lock.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACvD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC,IAAI,CAAC;IACtD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IACxD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC,IAAI,CAAC;IACvD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IACxD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC,IAAI,CAAC;IACvD,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,YAAY,EAAE,gCAAgC;IAC9C,aAAa,EAAE,iCAAiC;IAChD,aAAa,EAAE,iCAAiC;CAC1C,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAClC,KAAc;IAEd,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,aAAa,EAAE,4BAA4B;IAC3C,aAAa,EAAE,4BAA4B;IAC3C,aAAa,EAAE,4BAA4B;CACrC,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC7B,KAAc;IAEd,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,GAAG,uBAAuB;IAC1B,GAAG,kBAAkB;CACf,CAAC;AAWX;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC7B,KAAc;IAEd,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC"}