@daiso-tech/core 0.43.2 → 0.45.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 (214) hide show
  1. package/README.md +5 -2
  2. package/dist/cache/contracts/cache.errors.d.ts +3 -3
  3. package/dist/cache/contracts/cache.errors.js +1 -1
  4. package/dist/cache/contracts/cache.errors.js.map +1 -1
  5. package/dist/cache/contracts/cache.events.d.ts +8 -8
  6. package/dist/cache/contracts/cache.events.js +1 -1
  7. package/dist/cache/contracts/cache.events.js.map +1 -1
  8. package/dist/cache/implementations/derivables/cache/cache.d.ts +2 -8
  9. package/dist/cache/implementations/derivables/cache/cache.js +3 -8
  10. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  11. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +2 -2
  12. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -4
  13. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  14. package/dist/cache/implementations/test-utilities/cache.test-suite.js +141 -36
  15. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  16. package/dist/circuit-breaker/contracts/circuit-breaker.errors.d.ts +3 -3
  17. package/dist/circuit-breaker/contracts/circuit-breaker.errors.js +1 -1
  18. package/dist/circuit-breaker/contracts/circuit-breaker.errors.js.map +1 -1
  19. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.d.ts +2 -2
  20. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.js +1 -1
  21. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.js.map +1 -1
  22. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.d.ts +2 -2
  23. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.js +1 -1
  24. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.js.map +1 -1
  25. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/database-circuit-breaker-adapter.js +2 -2
  26. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/database-circuit-breaker-adapter.js.map +1 -1
  27. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/{circuit-breaker-policy.d.ts → internal-circuit-breaker-policy.d.ts} +1 -1
  28. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/{circuit-breaker-policy.js → internal-circuit-breaker-policy.js} +2 -2
  29. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/internal-circuit-breaker-policy.js.map +1 -0
  30. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.d.ts +1 -1
  31. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.js +1 -1
  32. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.js.map +1 -1
  33. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-factory-lua.js +2 -2
  34. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-factory-lua.js.map +1 -1
  35. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-state-manager-lua.js +1 -1
  36. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-storage-lua.d.ts +1 -1
  37. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-storage-lua.js +1 -1
  38. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/{circuit-breaker-policy-lua.js → internal-circuit-breaker-policy-lua.js} +2 -2
  39. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/internal-circuit-breaker-policy-lua.js.map +1 -0
  40. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.d.ts +2 -2
  41. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.js +5 -5
  42. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.js.map +1 -1
  43. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.d.ts +11 -8
  44. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js +3 -8
  45. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js.map +1 -1
  46. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.d.ts +2 -2
  47. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js +1 -1
  48. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js.map +1 -1
  49. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.d.ts +4 -4
  50. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js +1 -1
  51. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js.map +1 -1
  52. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.d.ts +2 -2
  53. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js +2 -4
  54. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js.map +1 -1
  55. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.d.ts +2 -2
  56. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js +2 -4
  57. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js.map +1 -1
  58. package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.d.ts +2 -2
  59. package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js +2 -1
  60. package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js.map +1 -1
  61. package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.d.ts +2 -2
  62. package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js +2 -1
  63. package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js.map +1 -1
  64. package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.d.ts +2 -2
  65. package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js +2 -1
  66. package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js.map +1 -1
  67. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +2 -8
  68. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +3 -8
  69. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  70. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +2 -4
  71. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +2 -6
  72. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  73. package/dist/lock/contracts/lock.errors.d.ts +4 -4
  74. package/dist/lock/contracts/lock.errors.js +1 -1
  75. package/dist/lock/contracts/lock.errors.js.map +1 -1
  76. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +11 -8
  77. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +3 -8
  78. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  79. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +2 -2
  80. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +1 -1
  81. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  82. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +4 -4
  83. package/dist/lock/implementations/derivables/lock-provider/lock.js +1 -1
  84. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  85. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +2 -2
  86. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -4
  87. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  88. package/dist/namespace/contracts/_module-exports.d.ts +1 -0
  89. package/dist/namespace/contracts/_module-exports.js +2 -0
  90. package/dist/namespace/contracts/_module-exports.js.map +1 -0
  91. package/dist/namespace/contracts/_module.d.ts +1 -0
  92. package/dist/namespace/contracts/_module.js +2 -0
  93. package/dist/namespace/contracts/_module.js.map +1 -0
  94. package/dist/namespace/contracts/namespace.contract.d.ts +17 -0
  95. package/dist/namespace/contracts/namespace.contract.js +5 -0
  96. package/dist/namespace/contracts/namespace.contract.js.map +1 -0
  97. package/dist/namespace/implementations/_module-exports.d.ts +2 -0
  98. package/dist/namespace/implementations/_module-exports.js +3 -0
  99. package/dist/namespace/implementations/_module-exports.js.map +1 -0
  100. package/dist/namespace/implementations/_module.d.ts +2 -0
  101. package/dist/namespace/implementations/_module.js +3 -0
  102. package/dist/namespace/implementations/_module.js.map +1 -0
  103. package/dist/namespace/{namespace.d.ts → implementations/namespace.d.ts} +18 -33
  104. package/dist/namespace/{namespace.js → implementations/namespace.js} +20 -4
  105. package/dist/namespace/implementations/namespace.js.map +1 -0
  106. package/dist/namespace/implementations/no-op-namespace.d.ts +14 -0
  107. package/dist/namespace/implementations/no-op-namespace.js +34 -0
  108. package/dist/namespace/implementations/no-op-namespace.js.map +1 -0
  109. package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.d.ts +2 -2
  110. package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.js +1 -1
  111. package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.js.map +1 -1
  112. package/dist/rate-limiter/contracts/rate-limiter-state.contract.d.ts +13 -3
  113. package/dist/rate-limiter/contracts/rate-limiter-state.contract.js +2 -1
  114. package/dist/rate-limiter/contracts/rate-limiter-state.contract.js.map +1 -1
  115. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/database-rate-limiter-adapter.js +18 -16
  116. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/database-rate-limiter-adapter.js.map +1 -1
  117. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/{rate-limiter-policy.d.ts → internal-rate-limiter-policy.d.ts} +3 -3
  118. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/{rate-limiter-policy.js → internal-rate-limiter-policy.js} +10 -9
  119. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/internal-rate-limiter-policy.js.map +1 -0
  120. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.d.ts +2 -2
  121. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.js +1 -1
  122. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.js.map +1 -1
  123. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.d.ts +5 -4
  124. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.js +27 -18
  125. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.js.map +1 -1
  126. package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js +3 -2
  127. package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js.map +1 -1
  128. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/fixed-window-limiter-lua.d.ts +1 -1
  129. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/fixed-window-limiter-lua.js +2 -2
  130. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/{rate-limiter-policy-lua.js → internal-rate-limiter-policy-lua.js} +38 -20
  131. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/internal-rate-limiter-policy-lua.js.map +1 -0
  132. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-factory-lua.js +3 -3
  133. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-factory-lua.js.map +1 -1
  134. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.d.ts +1 -1
  135. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.js +21 -5
  136. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.js.map +1 -1
  137. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-state-manager-lua.js +1 -1
  138. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-storage-lua.js +41 -24
  139. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-storage-lua.js.map +1 -1
  140. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.d.ts +8 -3
  141. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.js +34 -17
  142. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.js.map +1 -1
  143. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.d.ts +32 -11
  144. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js +33 -13
  145. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js.map +1 -1
  146. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.d.ts +38 -0
  147. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.js +75 -0
  148. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.js.map +1 -0
  149. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.d.ts +21 -2
  150. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js +35 -18
  151. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js.map +1 -1
  152. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.d.ts +3 -3
  153. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js +4 -6
  154. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js.map +1 -1
  155. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.d.ts +3 -3
  156. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js +4 -6
  157. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js.map +1 -1
  158. package/dist/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.js +1 -1
  159. package/dist/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.js.map +1 -1
  160. package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.d.ts +2 -2
  161. package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js +171 -11
  162. package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js.map +1 -1
  163. package/dist/semaphore/contracts/semaphore.errors.d.ts +4 -4
  164. package/dist/semaphore/contracts/semaphore.errors.js +1 -1
  165. package/dist/semaphore/contracts/semaphore.errors.js.map +1 -1
  166. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +11 -8
  167. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js +3 -8
  168. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -1
  169. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.d.ts +2 -2
  170. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js +1 -1
  171. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +1 -1
  172. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.d.ts +4 -4
  173. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js +1 -1
  174. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +1 -1
  175. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.d.ts +2 -2
  176. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js +2 -4
  177. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +1 -1
  178. package/dist/shared-lock/contracts/shared-lock.errors.d.ts +7 -7
  179. package/dist/shared-lock/contracts/shared-lock.errors.js +1 -1
  180. package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -1
  181. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +11 -8
  182. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js +3 -8
  183. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -1
  184. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.d.ts +2 -2
  185. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js +1 -1
  186. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +1 -1
  187. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.d.ts +4 -4
  188. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js +1 -1
  189. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +1 -1
  190. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.d.ts +2 -2
  191. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js +2 -4
  192. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +1 -1
  193. package/dist/task/implementations/task.d.ts +1 -1
  194. package/dist/task/implementations/task.js +1 -1
  195. package/dist/task/implementations/task.js.map +1 -1
  196. package/dist/time-span/implementations/time-span.d.ts +17 -0
  197. package/dist/time-span/implementations/time-span.js +27 -1
  198. package/dist/time-span/implementations/time-span.js.map +1 -1
  199. package/dist/utilities/functions/invokable.d.ts +0 -31
  200. package/dist/utilities/functions/invokable.js.map +1 -1
  201. package/package.json +53 -52
  202. package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-policy.js.map +0 -1
  203. package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-policy-lua.js.map +0 -1
  204. package/dist/namespace/_module-exports.d.ts +0 -1
  205. package/dist/namespace/_module-exports.js +0 -2
  206. package/dist/namespace/_module-exports.js.map +0 -1
  207. package/dist/namespace/_module.d.ts +0 -1
  208. package/dist/namespace/_module.js +0 -2
  209. package/dist/namespace/_module.js.map +0 -1
  210. package/dist/namespace/namespace.js.map +0 -1
  211. package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-policy.js.map +0 -1
  212. package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-policy-lua.js.map +0 -1
  213. /package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/{circuit-breaker-policy-lua.d.ts → internal-circuit-breaker-policy-lua.d.ts} +0 -0
  214. /package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/{rate-limiter-policy-lua.d.ts → internal-rate-limiter-policy-lua.d.ts} +0 -0
@@ -2,16 +2,25 @@
2
2
  * @module RateLimiter
3
3
  */
4
4
  import {} from "../../../../event-bus/contracts/_module.js";
5
- import {} from "../../../../namespace/_module.js";
5
+ import {} from "../../../../namespace/contracts/_module.js";
6
6
  import { BlockedRateLimiterError, RATE_LIMITER_EVENTS, RATE_LIMITER_STATE, } from "../../../../rate-limiter/contracts/_module.js";
7
7
  import {} from "../../../../task/contracts/_module.js";
8
8
  import { Task } from "../../../../task/implementations/_module.js";
9
- import { TimeSpan } from "../../../../time-span/implementations/_module.js";
10
- import { callErrorPolicyOnThrow, resolveAsyncLazyable, UnexpectedError, } from "../../../../utilities/_module.js";
9
+ import { callErrorPolicyOnThrow, resolveAsyncLazyable, } from "../../../../utilities/_module.js";
11
10
  /**
12
11
  * @internal
13
12
  */
14
13
  export class RateLimiter {
14
+ /**
15
+ * @internal
16
+ */
17
+ static _internal_serialize(deserializedValue) {
18
+ return {
19
+ version: "1",
20
+ key: deserializedValue._key.get(),
21
+ limit: deserializedValue._limit,
22
+ };
23
+ }
15
24
  _key;
16
25
  _limit;
17
26
  errorPolicy;
@@ -19,8 +28,12 @@ export class RateLimiter {
19
28
  adapter;
20
29
  eventDispatcher;
21
30
  enableAsyncTracking;
31
+ serdeTransformerName;
32
+ namespace;
22
33
  constructor(settings) {
23
- const { limit, enableAsyncTracking, eventDispatcher, key, errorPolicy, onlyError, adapter, } = settings;
34
+ const { limit, enableAsyncTracking, eventDispatcher, key, errorPolicy, onlyError, adapter, serdeTransformerName, namespace, } = settings;
35
+ this.namespace = namespace;
36
+ this.serdeTransformerName = serdeTransformerName;
24
37
  this._limit = limit;
25
38
  this.enableAsyncTracking = enableAsyncTracking;
26
39
  this.eventDispatcher = eventDispatcher;
@@ -29,13 +42,19 @@ export class RateLimiter {
29
42
  this.onlyError = onlyError;
30
43
  this.adapter = adapter;
31
44
  }
45
+ _internal_getNamespace() {
46
+ return this.namespace;
47
+ }
48
+ _internal_getSerdeTransformerName() {
49
+ return this.serdeTransformerName;
50
+ }
51
+ _internal_getAdapter() {
52
+ return this.adapter;
53
+ }
32
54
  toRateLimiterState(state) {
33
55
  if (state === null) {
34
56
  return {
35
- type: RATE_LIMITER_STATE.ALLOWED,
36
- usedAttempts: 0,
37
- reaminingAttemps: this.limit,
38
- limit: this.limit,
57
+ type: RATE_LIMITER_STATE.EXPIRED,
39
58
  };
40
59
  }
41
60
  if (state.success) {
@@ -44,18 +63,16 @@ export class RateLimiter {
44
63
  usedAttempts: state.attempt,
45
64
  reaminingAttemps: this.limit - state.attempt,
46
65
  limit: this.limit,
66
+ resetAfter: state.resetTime,
47
67
  };
48
68
  }
49
- if (state.resetTime !== null) {
50
- return {
51
- type: RATE_LIMITER_STATE.BLOCKED,
52
- limit: this.limit,
53
- totalAttempts: state.attempt,
54
- exceedAttempts: state.attempt - this.limit,
55
- resetTime: TimeSpan.fromTimeSpan(state.resetTime),
56
- };
57
- }
58
- throw new UnexpectedError("1_!!__MESSAGE__!!");
69
+ return {
70
+ type: RATE_LIMITER_STATE.BLOCKED,
71
+ limit: this.limit,
72
+ totalAttempts: state.attempt,
73
+ exceedAttempts: state.attempt - this.limit,
74
+ retryAfter: state.resetTime,
75
+ };
59
76
  }
60
77
  getState() {
61
78
  return new Task(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { type BackoffPolicy } from "../../../../backoff-policies/_module.js";
5
5
  import { type IEventBus } from "../../../../event-bus/contracts/_module.js";
6
- import { type Namespace } from "../../../../namespace/_module.js";
6
+ import { type INamespace } from "../../../../namespace/contracts/_module.js";
7
7
  import { type IRateLimiterProviderFactory, type IRateLimiterProvider, type IRateLimiterStorageAdapter, type IRateLimiterPolicy } from "../../../../rate-limiter/contracts/_module.js";
8
8
  import { type RateLimiterProviderSettingsBase } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
9
9
  import { type ErrorPolicy } from "../../../../utilities/_module.js";
@@ -79,10 +79,10 @@ export declare class DatabaseRateLimiterProviderFactory<TAdapters extends string
79
79
  * ```
80
80
  */
81
81
  constructor(settings: DatabaseRateLimiterProviderFactorySettings<TAdapters>);
82
- setNamespace(namespace: Namespace): DatabaseRateLimiterProviderFactory<TAdapters>;
82
+ setNamespace(namespace: INamespace): DatabaseRateLimiterProviderFactory<TAdapters>;
83
83
  setEventBus(eventBus: IEventBus): DatabaseRateLimiterProviderFactory<TAdapters>;
84
84
  setOnlyError(onlyError?: boolean): DatabaseRateLimiterProviderFactory<TAdapters>;
85
- setErrorPolicy(errorPolicy: ErrorPolicy): DatabaseRateLimiterProviderFactory<TAdapters>;
85
+ setDefaultErrorPolicy(errorPolicy: ErrorPolicy): DatabaseRateLimiterProviderFactory<TAdapters>;
86
86
  setBackoffPolicy(backoffPolicy?: BackoffPolicy): DatabaseRateLimiterProviderFactory<TAdapters>;
87
87
  setRateLimiterPolicy(rateLimiterPolicy?: IRateLimiterPolicy): DatabaseRateLimiterProviderFactory<TAdapters>;
88
88
  /**
@@ -3,10 +3,10 @@
3
3
  */
4
4
  import {} from "../../../../backoff-policies/_module.js";
5
5
  import {} from "../../../../event-bus/contracts/_module.js";
6
- import {} from "../../../../namespace/_module.js";
6
+ import {} from "../../../../namespace/contracts/_module.js";
7
7
  import {} from "../../../../rate-limiter/contracts/_module.js";
8
8
  import { DatabaseRateLimiterAdapter } from "../../../../rate-limiter/implementations/adapters/database-rate-limiter-adapter/_module.js";
9
- import { RateLimiterProvider, DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
9
+ import { RateLimiterProvider, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
10
10
  import {
11
11
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
12
  UnregisteredAdapterError,
@@ -71,10 +71,10 @@ export class DatabaseRateLimiterProviderFactory {
71
71
  onlyError,
72
72
  });
73
73
  }
74
- setErrorPolicy(errorPolicy) {
74
+ setDefaultErrorPolicy(errorPolicy) {
75
75
  return new DatabaseRateLimiterProviderFactory({
76
76
  ...this.settings,
77
- errorPolicy,
77
+ defaultErrorPolicy: errorPolicy,
78
78
  });
79
79
  }
80
80
  setBackoffPolicy(backoffPolicy) {
@@ -143,13 +143,11 @@ export class DatabaseRateLimiterProviderFactory {
143
143
  if (adapter === undefined) {
144
144
  throw new UnregisteredAdapterError(adapterName);
145
145
  }
146
- const { namespace = DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE } = this.settings;
147
146
  return new RateLimiterProvider({
148
147
  ...this.settings,
149
148
  adapter: new DatabaseRateLimiterAdapter({
150
149
  adapter,
151
150
  }),
152
- namespace: namespace.appendRoot(adapterName),
153
151
  });
154
152
  }
155
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database-rate-limiter-provider-factory.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAsB,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAKN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kFAAkF,CAAC;AAC9H,OAAO,EACH,mBAAmB,EACnB,0CAA0C,GAE7C,MAAM,4EAA4E,CAAC;AACpF,OAAO;AACH,6DAA6D;AAC7D,wBAAwB;AACxB,6DAA6D;AAC7D,6BAA6B,GAEhC,MAAM,wBAAwB,CAAC;AA4ChC;;;;;GAKG;AACH,MAAM,OAAO,kCAAkC;IAkCtB;IA/BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,YACqB,QAA+D;QAA/D,aAAQ,GAAR,QAAQ,CAAuD;IACjF,CAAC;IAEJ,YAAY,CACR,SAAoB;QAEpB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,QAAmB;QAEnB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CACR,SAAmB;QAEnB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CACV,WAAwB;QAExB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CACZ,aAA6B;QAE7B,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,aAAa;SAChB,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAChB,iBAAsC;QAEtC,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,iBAAiB;SACpB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACnC,kCAAkC,CAAC,IAAI,CAC1C,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,SAAS,GAAG,0CAA0C,EAAE,GAC5D,IAAI,CAAC,QAAQ,CAAC;QAClB,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,IAAI,0BAA0B,CAAC;gBACpC,OAAO;aACV,CAAC;YACF,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"database-rate-limiter-provider-factory.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAsB,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAKN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kFAAkF,CAAC;AAC9H,OAAO,EACH,mBAAmB,GAEtB,MAAM,4EAA4E,CAAC;AACpF,OAAO;AACH,6DAA6D;AAC7D,wBAAwB;AACxB,6DAA6D;AAC7D,6BAA6B,GAEhC,MAAM,wBAAwB,CAAC;AA4ChC;;;;;GAKG;AACH,MAAM,OAAO,kCAAkC;IAkCtB;IA/BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,YACqB,QAA+D;QAA/D,aAAQ,GAAR,QAAQ,CAAuD;IACjF,CAAC;IAEJ,YAAY,CACR,SAAqB;QAErB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,QAAmB;QAEnB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CACR,SAAmB;QAEnB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,WAAwB;QAExB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,WAAW;SAClC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CACZ,aAA6B;QAE7B,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,aAAa;SAChB,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAChB,iBAAsC;QAEtC,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,iBAAiB;SACpB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACnC,kCAAkC,CAAC,IAAI,CAC1C,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,IAAI,0BAA0B,CAAC;gBACpC,OAAO;aACV,CAAC;SACL,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -2,7 +2,7 @@
2
2
  * @module RateLimiter
3
3
  */
4
4
  import { type IEventBus } from "../../../../event-bus/contracts/_module.js";
5
- import { type Namespace } from "../../../../namespace/_module.js";
5
+ import { type INamespace } from "../../../../namespace/contracts/_module.js";
6
6
  import { type IRateLimiterProviderFactory, type IRateLimiterProvider, type IRateLimiterAdapter } from "../../../../rate-limiter/contracts/_module.js";
7
7
  import { type RateLimiterProviderSettingsBase } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
8
8
  import { type ErrorPolicy } from "../../../../utilities/_module.js";
@@ -56,10 +56,10 @@ export declare class RateLimiterProviderFactory<TAdapters extends string> implem
56
56
  * ```
57
57
  */
58
58
  constructor(settings: RateLimiterProviderFactorySettings<TAdapters>);
59
- setNamespace(namespace: Namespace): RateLimiterProviderFactory<TAdapters>;
59
+ setNamespace(namespace: INamespace): RateLimiterProviderFactory<TAdapters>;
60
60
  setEventBus(eventBus: IEventBus): RateLimiterProviderFactory<TAdapters>;
61
61
  setOnlyError(onlyError?: boolean): RateLimiterProviderFactory<TAdapters>;
62
- setErrorPolicy(errorPolicy: ErrorPolicy): RateLimiterProviderFactory<TAdapters>;
62
+ setDefaultErrorPolicy(errorPolicy: ErrorPolicy): RateLimiterProviderFactory<TAdapters>;
63
63
  /**
64
64
  * @example
65
65
  * ```ts
@@ -2,9 +2,9 @@
2
2
  * @module RateLimiter
3
3
  */
4
4
  import {} from "../../../../event-bus/contracts/_module.js";
5
- import {} from "../../../../namespace/_module.js";
5
+ import {} from "../../../../namespace/contracts/_module.js";
6
6
  import {} from "../../../../rate-limiter/contracts/_module.js";
7
- import { RateLimiterProvider, DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
7
+ import { RateLimiterProvider, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
8
8
  import {
9
9
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
10
  UnregisteredAdapterError,
@@ -65,10 +65,10 @@ export class RateLimiterProviderFactory {
65
65
  onlyError,
66
66
  });
67
67
  }
68
- setErrorPolicy(errorPolicy) {
68
+ setDefaultErrorPolicy(errorPolicy) {
69
69
  return new RateLimiterProviderFactory({
70
70
  ...this.settings,
71
- errorPolicy,
71
+ defaultErrorPolicy: errorPolicy,
72
72
  });
73
73
  }
74
74
  /**
@@ -121,11 +121,9 @@ export class RateLimiterProviderFactory {
121
121
  if (adapter === undefined) {
122
122
  throw new UnregisteredAdapterError(adapterName);
123
123
  }
124
- const { namespace = DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE } = this.settings;
125
124
  return new RateLimiterProvider({
126
125
  ...this.settings,
127
126
  adapter,
128
- namespace: namespace.appendRoot(adapterName),
129
127
  });
130
128
  }
131
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter-provider-factory.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,mBAAmB,EACnB,0CAA0C,GAE7C,MAAM,4EAA4E,CAAC;AACpF,OAAO;AACH,6DAA6D;AAC7D,wBAAwB;AACxB,6DAA6D;AAC7D,6BAA6B,GAEhC,MAAM,wBAAwB,CAAC;AAuBhC;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IA8Bd;IA3BrB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YACqB,QAAuD;QAAvD,aAAQ,GAAR,QAAQ,CAA+C;IACzE,CAAC;IAEJ,YAAY,CAAC,SAAoB;QAC7B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAmB;QAC3B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,SAAmB;QAC5B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CACV,WAAwB;QAExB,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACnC,0BAA0B,CAAC,IAAI,CAClC,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,SAAS,GAAG,0CAA0C,EAAE,GAC5D,IAAI,CAAC,QAAQ,CAAC;QAClB,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;YACP,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"rate-limiter-provider-factory.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,mBAAmB,GAEtB,MAAM,4EAA4E,CAAC;AACpF,OAAO;AACH,6DAA6D;AAC7D,wBAAwB;AACxB,6DAA6D;AAC7D,6BAA6B,GAEhC,MAAM,wBAAwB,CAAC;AAuBhC;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IA8Bd;IA3BrB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YACqB,QAAuD;QAAvD,aAAQ,GAAR,QAAQ,CAA+C;IACzE,CAAC;IAEJ,YAAY,CAAC,SAAqB;QAC9B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAmB;QAC3B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,SAAmB;QAC5B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,WAAwB;QAExB,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,WAAW;SAClC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACnC,0BAA0B,CAAC,IAAI,CAClC,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -55,7 +55,7 @@ export class FixedWindowLimiter {
55
55
  shouldBlock(currentMetrics, limit, currentDate) {
56
56
  const timeSinceLastAttempt = currentDate.getTime() - currentMetrics.lastAttemptAt;
57
57
  return (timeSinceLastAttempt < this.window.toMilliseconds() &&
58
- currentMetrics.attempt >= limit);
58
+ currentMetrics.attempt > limit);
59
59
  }
60
60
  getExpiration(currentMetrics, _currentDate) {
61
61
  return this.window.toEndDate(new Date(currentMetrics.lastAttemptAt));
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-window-limiter.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAA2B,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACH,eAAe,GAElB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAoBlE;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC7C,QAAoC;IAEpC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;IAEtD,OAAO;QACH,MAAM;KACT,CAAC;AACN,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,mCAAmC,CAC/C,QAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IAC/D,OAAO;QACH,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE;KACpC,CAAC;AACN,CAAC;AAeD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,kBAAkB;IAGV,MAAM,CAAW;IAElC,YAAY,WAAuC,EAAE;QACjD,MAAM,EAAE,MAAM,EAAE,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,WAAiB;QAC5B,OAAO;YACH,OAAO,EAAE,CAAC;YACV,aAAa,EAAE,WAAW,CAAC,OAAO,EAAE;SACvC,CAAC;IACN,CAAC;IAED,WAAW,CACP,cAAuC,EACvC,KAAa,EACb,WAAiB;QAEjB,MAAM,oBAAoB,GACtB,WAAW,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC;QACzD,OAAO,CACH,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YACnD,cAAc,CAAC,OAAO,IAAI,KAAK,CAClC,CAAC;IACN,CAAC;IAED,aAAa,CACT,cAAuC,EACvC,YAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,WAAW,CACP,cAAuC,EACvC,YAAkB;QAElB,OAAO,cAAc,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,aAAa,CACT,cAAuC,EACvC,WAAiB;QAEjB,OAAO;YACH,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;YACnC,aAAa,EAAE,WAAW,CAAC,OAAO,EAAE;SACvC,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"fixed-window-limiter.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAA2B,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACH,eAAe,GAElB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAoBlE;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC7C,QAAoC;IAEpC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;IAEtD,OAAO;QACH,MAAM;KACT,CAAC;AACN,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,mCAAmC,CAC/C,QAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IAC/D,OAAO;QACH,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE;KACpC,CAAC;AACN,CAAC;AAeD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,kBAAkB;IAGV,MAAM,CAAW;IAElC,YAAY,WAAuC,EAAE;QACjD,MAAM,EAAE,MAAM,EAAE,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,WAAiB;QAC5B,OAAO;YACH,OAAO,EAAE,CAAC;YACV,aAAa,EAAE,WAAW,CAAC,OAAO,EAAE;SACvC,CAAC;IACN,CAAC;IAED,WAAW,CACP,cAAuC,EACvC,KAAa,EACb,WAAiB;QAEjB,MAAM,oBAAoB,GACtB,WAAW,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,aAAa,CAAC;QACzD,OAAO,CACH,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YACnD,cAAc,CAAC,OAAO,GAAG,KAAK,CACjC,CAAC;IACN,CAAC;IAED,aAAa,CACT,cAAuC,EACvC,YAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,WAAW,CACP,cAAuC,EACvC,YAAkB;QAElB,OAAO,cAAc,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,aAAa,CACT,cAAuC,EACvC,WAAiB;QAEjB,OAAO;YACH,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC;YACnC,aAAa,EAAE,WAAW,CAAC,OAAO,EAAE;SACvC,CAAC;IACN,CAAC;CACJ"}
@@ -4,7 +4,7 @@
4
4
  import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
5
5
  import { type ConstantBackoffSettingsEnum } from "../../../backoff-policies/_module.js";
6
6
  import { type IRateLimiterAdapter } from "../../../rate-limiter/contracts/_module.js";
7
- import { type FixedWindowLimiterSettings } from "../../../rate-limiter/implementations/policies/_module.js";
7
+ import { type FixedWindowLimiterSettingsEnum } from "../../../rate-limiter/implementations/policies/_module.js";
8
8
  import { type Promisable } from "../../../utilities/_module.js";
9
9
  /**
10
10
  *
@@ -55,6 +55,6 @@ export type FixedWindowLimiterTestSuiteSettings = {
55
55
  */
56
56
  export declare function fixedWindowLimiterTestSuite(settings: FixedWindowLimiterTestSuiteSettings): void;
57
57
  export declare namespace fixedWindowLimiterTestSuite {
58
- var rateLimiterPolicySettings: Required<FixedWindowLimiterSettings>;
58
+ var rateLimiterPolicySettings: Required<FixedWindowLimiterSettingsEnum>;
59
59
  var backoffPolicySettings: Required<ConstantBackoffSettingsEnum>;
60
60
  }
@@ -1,11 +1,10 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
1
  /**
3
2
  * @module RateLimiter
4
3
  */
5
4
  import {} from "vitest";
6
5
  import { BACKOFFS, } from "../../../backoff-policies/_module.js";
7
6
  import {} from "../../../rate-limiter/contracts/_module.js";
8
- import {} from "../../../rate-limiter/implementations/policies/_module.js";
7
+ import { LIMITER_POLICIES, } from "../../../rate-limiter/implementations/policies/_module.js";
9
8
  import { Task } from "../../../task/implementations/_module.js";
10
9
  import { TimeSpan } from "../../../time-span/implementations/_module.js";
11
10
  import {} from "../../../utilities/_module.js";
@@ -13,6 +12,7 @@ import {} from "../../../utilities/_module.js";
13
12
  * @group TestUtilities
14
13
  */
15
14
  const rateLimiterPolicySettings = {
15
+ type: LIMITER_POLICIES.FIXED_WINDOW,
16
16
  window: TimeSpan.fromMilliseconds(100),
17
17
  };
18
18
  /**
@@ -61,26 +61,186 @@ const backoffPolicySettings = {
61
61
  export function fixedWindowLimiterTestSuite(settings) {
62
62
  const { expect, test, createAdapter, describe, beforeEach } = settings;
63
63
  let adapter;
64
- const waitTime = TimeSpan.fromTimeSpan(backoffPolicySettings.delay);
65
64
  describe("Reusable tests:", () => {
66
65
  beforeEach(async () => {
67
66
  adapter = await createAdapter();
68
67
  });
69
68
  const KEY = "a";
69
+ const LIMIT = 4;
70
70
  async function delay(timeSpan) {
71
71
  await Task.delay(timeSpan);
72
72
  }
73
73
  describe("method: getState", () => {
74
- test.todo("Write tests!!!");
74
+ test("Should return null when updateState method have not been called", async () => {
75
+ const state = await adapter.getState(KEY);
76
+ expect(state).toBeNull();
77
+ });
78
+ test("Should return AllowedState attempt when 3 attempts occurs during window time", async () => {
79
+ await adapter.updateState(KEY, LIMIT);
80
+ await adapter.updateState(KEY, LIMIT);
81
+ await adapter.updateState(KEY, LIMIT);
82
+ const state = await adapter.getState(KEY);
83
+ expect(state).toEqual({
84
+ success: true,
85
+ attempt: 3,
86
+ resetTime: expect.any(TimeSpan),
87
+ });
88
+ });
89
+ test("Should return AllowedState attempt when 4 attempts occurs during window time", async () => {
90
+ await adapter.updateState(KEY, LIMIT);
91
+ await adapter.updateState(KEY, LIMIT);
92
+ await adapter.updateState(KEY, LIMIT);
93
+ await adapter.updateState(KEY, LIMIT);
94
+ const state = await adapter.getState(KEY);
95
+ expect(state).toEqual({
96
+ success: true,
97
+ attempt: 4,
98
+ resetTime: expect.any(TimeSpan),
99
+ });
100
+ });
101
+ test("Should return null when 4 attempts occurs during window time and resetTime is awaited", async () => {
102
+ await adapter.updateState(KEY, LIMIT);
103
+ await adapter.updateState(KEY, LIMIT);
104
+ await adapter.updateState(KEY, LIMIT);
105
+ const state1 = await adapter.updateState(KEY, LIMIT);
106
+ await delay(state1.resetTime.addMilliseconds(10));
107
+ const state2 = await adapter.getState(KEY);
108
+ expect(state2).toBeNull();
109
+ });
110
+ test("Should return BlockedState when 5 attempts occurs during window time", async () => {
111
+ await adapter.updateState(KEY, LIMIT);
112
+ await adapter.updateState(KEY, LIMIT);
113
+ await adapter.updateState(KEY, LIMIT);
114
+ await adapter.updateState(KEY, LIMIT);
115
+ await adapter.updateState(KEY, LIMIT);
116
+ const state = await adapter.getState(KEY);
117
+ expect(state).toEqual({
118
+ success: false,
119
+ attempt: 1,
120
+ resetTime: expect.any(TimeSpan),
121
+ });
122
+ });
123
+ test("Should return BlockedState attempt when 6 attempts occurs during window time", async () => {
124
+ await adapter.updateState(KEY, LIMIT);
125
+ await adapter.updateState(KEY, LIMIT);
126
+ await adapter.updateState(KEY, LIMIT);
127
+ await adapter.updateState(KEY, LIMIT);
128
+ await adapter.updateState(KEY, LIMIT);
129
+ await adapter.updateState(KEY, LIMIT);
130
+ const state = await adapter.getState(KEY);
131
+ expect(state).toEqual({
132
+ success: false,
133
+ attempt: 2,
134
+ resetTime: expect.any(TimeSpan),
135
+ });
136
+ });
137
+ test("Should return null when 6 attempts occurs during window time and resetTime is awaited", async () => {
138
+ await adapter.updateState(KEY, LIMIT);
139
+ await adapter.updateState(KEY, LIMIT);
140
+ await adapter.updateState(KEY, LIMIT);
141
+ await adapter.updateState(KEY, LIMIT);
142
+ await adapter.updateState(KEY, LIMIT);
143
+ const state1 = await adapter.updateState(KEY, LIMIT);
144
+ await delay(state1.resetTime.addMilliseconds(10));
145
+ const state2 = await adapter.getState(KEY);
146
+ expect(state2).toBeNull();
147
+ });
75
148
  });
76
- describe("method: updateState / trackFailure / trackSuccess", () => {
77
- test.todo("Write tests!!!");
149
+ describe("method: updateState", () => {
150
+ test("Should return AllowedState with incremented attempt when 3 attempts occurs during window time", async () => {
151
+ await adapter.updateState(KEY, LIMIT);
152
+ await adapter.updateState(KEY, LIMIT);
153
+ const state = await adapter.updateState(KEY, LIMIT);
154
+ expect(state).toEqual({
155
+ success: true,
156
+ attempt: 3,
157
+ resetTime: expect.any(TimeSpan),
158
+ });
159
+ });
160
+ test("Should return AllowedState with incremented attempt when 4 attempts occurs during window time", async () => {
161
+ await adapter.updateState(KEY, LIMIT);
162
+ await adapter.updateState(KEY, LIMIT);
163
+ await adapter.updateState(KEY, LIMIT);
164
+ const state = await adapter.updateState(KEY, LIMIT);
165
+ expect(state).toEqual({
166
+ success: true,
167
+ attempt: 4,
168
+ resetTime: expect.any(TimeSpan),
169
+ });
170
+ });
171
+ test("Should return reseted AllowedState when 4 attempts occurs during window time and resetTime is awaited", async () => {
172
+ await adapter.updateState(KEY, LIMIT);
173
+ await adapter.updateState(KEY, LIMIT);
174
+ await adapter.updateState(KEY, LIMIT);
175
+ const state1 = await adapter.updateState(KEY, LIMIT);
176
+ await delay(state1.resetTime.addMilliseconds(10));
177
+ const state2 = await adapter.updateState(KEY, LIMIT);
178
+ expect(state2).toEqual({
179
+ success: true,
180
+ attempt: 1,
181
+ resetTime: expect.any(TimeSpan),
182
+ });
183
+ });
184
+ test("Should return BlockedState when 5 attempts occurs during window time", async () => {
185
+ await adapter.updateState(KEY, LIMIT);
186
+ await adapter.updateState(KEY, LIMIT);
187
+ await adapter.updateState(KEY, LIMIT);
188
+ await adapter.updateState(KEY, LIMIT);
189
+ const state = await adapter.updateState(KEY, LIMIT);
190
+ expect(state).toEqual({
191
+ success: false,
192
+ attempt: 1,
193
+ resetTime: expect.any(TimeSpan),
194
+ });
195
+ });
196
+ test("Should return BlockedState with incremented attempt when 6 attempts occurs during window time", async () => {
197
+ await adapter.updateState(KEY, LIMIT);
198
+ await adapter.updateState(KEY, LIMIT);
199
+ await adapter.updateState(KEY, LIMIT);
200
+ await adapter.updateState(KEY, LIMIT);
201
+ await adapter.updateState(KEY, LIMIT);
202
+ const state = await adapter.updateState(KEY, LIMIT);
203
+ expect(state).toEqual({
204
+ success: false,
205
+ attempt: 2,
206
+ resetTime: expect.any(TimeSpan),
207
+ });
208
+ });
209
+ test("Should return reseted AllowedState when 6 attempts occurs during window time and resetTime is awaited", async () => {
210
+ await adapter.updateState(KEY, LIMIT);
211
+ await adapter.updateState(KEY, LIMIT);
212
+ await adapter.updateState(KEY, LIMIT);
213
+ await adapter.updateState(KEY, LIMIT);
214
+ await adapter.updateState(KEY, LIMIT);
215
+ const state1 = await adapter.updateState(KEY, LIMIT);
216
+ await delay(state1.resetTime.addMilliseconds(10));
217
+ const state2 = await adapter.updateState(KEY, LIMIT);
218
+ expect(state2).toEqual({
219
+ success: true,
220
+ attempt: 1,
221
+ resetTime: expect.any(TimeSpan),
222
+ });
223
+ });
78
224
  });
79
- describe("method: updateState / trackFailure / isolate / getState", () => {
80
- test.todo("Write tests!!!");
81
- });
82
- describe("method: updateState / trackFailure / reset", () => {
83
- test.todo("Write tests!!!");
225
+ describe("method: reset", () => {
226
+ test("Should return null when reseted in AllowedState", async () => {
227
+ await adapter.updateState(KEY, LIMIT);
228
+ await adapter.updateState(KEY, LIMIT);
229
+ await adapter.updateState(KEY, LIMIT);
230
+ await adapter.reset(KEY);
231
+ const state = await adapter.getState(KEY);
232
+ expect(state).toBeNull();
233
+ });
234
+ test("Should return null when reseted in BlockedState", async () => {
235
+ await adapter.updateState(KEY, LIMIT);
236
+ await adapter.updateState(KEY, LIMIT);
237
+ await adapter.updateState(KEY, LIMIT);
238
+ await adapter.updateState(KEY, LIMIT);
239
+ await adapter.updateState(KEY, LIMIT);
240
+ await adapter.reset(KEY);
241
+ const state = await adapter.getState(KEY);
242
+ expect(state).toBeNull();
243
+ });
84
244
  });
85
245
  });
86
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-window-limiter.test-suite.js","sourceRoot":"","sources":["../../../../src/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD;;GAEG;AAEH,OAAO,EAKN,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACH,QAAQ,GAEX,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAA4B,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAmC,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAmB,MAAM,wBAAwB,CAAC;AAezD;;GAEG;AACH,MAAM,yBAAyB,GAAyC;IACpE,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAA0C;IACjE,IAAI,EAAE,QAAQ,CAAC,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACpC,MAAM,EAAE,IAAI;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,2BAA2B,CACvC,QAA6C;IAE7C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACvE,IAAI,OAA4B,CAAC;IACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,IAAI,EAAE;YAClB,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,GAAG,CAAC;QAChB,KAAK,UAAU,KAAK,CAAC,QAAkB;YACnC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACrE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,2BAA2B,CAAC,yBAAyB;IACjD,yBAAyB,CAAC;AAC9B,2BAA2B,CAAC,qBAAqB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"fixed-window-limiter.test-suite.js","sourceRoot":"","sources":["../../../../src/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module Semaphore
3
3
  */
4
- import { type Key } from "../../namespace/_module.js";
4
+ import { type IKey } from "../../namespace/contracts/_module.js";
5
5
  /**
6
6
  * The error is thrown when trying to acquire a semaphore slot, but all slots are already taken.
7
7
  *
@@ -9,7 +9,7 @@ import { type Key } from "../../namespace/_module.js";
9
9
  * @group Errors
10
10
  */
11
11
  export declare class LimitReachedSemaphoreError extends Error {
12
- static create(key: Key, cause?: unknown): LimitReachedSemaphoreError;
12
+ static create(key: IKey, cause?: unknown): LimitReachedSemaphoreError;
13
13
  /**
14
14
  * Note: Do not instantiate `LimitReachedSemaphoreError` directly via the constructor. Use the static `create()` factory method instead.
15
15
  * The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
@@ -24,7 +24,7 @@ export declare class LimitReachedSemaphoreError extends Error {
24
24
  * @group Errors
25
25
  */
26
26
  export declare class FailedRefreshSemaphoreError extends Error {
27
- static create(key: Key, slotId: string, cause?: unknown): FailedRefreshSemaphoreError;
27
+ static create(key: IKey, slotId: string, cause?: unknown): FailedRefreshSemaphoreError;
28
28
  /**
29
29
  * Note: Do not instantiate `FailedRefreshSemaphoreError` directly via the constructor. Use the static `create()` factory method instead.
30
30
  * The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
@@ -39,7 +39,7 @@ export declare class FailedRefreshSemaphoreError extends Error {
39
39
  * @group Errors
40
40
  */
41
41
  export declare class FailedReleaseSemaphoreError extends Error {
42
- static create(key: Key, slotId: string, cause?: unknown): FailedReleaseSemaphoreError;
42
+ static create(key: IKey, slotId: string, cause?: unknown): FailedReleaseSemaphoreError;
43
43
  /**
44
44
  * Note: Do not instantiate `FailedReleaseSemaphoreError` directly via the constructor. Use the static `create()` factory method instead.
45
45
  * The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module Semaphore
3
3
  */
4
- import {} from "../../namespace/_module.js";
4
+ import {} from "../../namespace/contracts/_module.js";
5
5
  /**
6
6
  * The error is thrown when trying to acquire a semaphore slot, but all slots are already taken.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"semaphore.errors.js","sourceRoot":"","sources":["../../../src/semaphore/contracts/semaphore.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAY,MAAM,wBAAwB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACjD,MAAM,CAAC,MAAM,CAAC,GAAQ,EAAE,KAAe;QACnC,OAAO,IAAI,0BAA0B,CACjC,QAAQ,GAAG,CAAC,GAAG,EAAE,yBAAyB,EAC1C,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC;IAChD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,MAAM,CAAC,MAAM,CACT,GAAQ,EACR,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,2BAA2B,CAClC,2BAA2B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAC1D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC;IACjD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,MAAM,CAAC,MAAM,CACT,GAAQ,EACR,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,2BAA2B,CAClC,2BAA2B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAC1D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC;IACjD,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,2BAA2B;IAC1C,aAAa,EAAE,2BAA2B;CACpC,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC3C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"semaphore.errors.js","sourceRoot":"","sources":["../../../src/semaphore/contracts/semaphore.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAa,MAAM,kCAAkC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACjD,MAAM,CAAC,MAAM,CAAC,GAAS,EAAE,KAAe;QACpC,OAAO,IAAI,0BAA0B,CACjC,QAAQ,GAAG,CAAC,GAAG,EAAE,yBAAyB,EAC1C,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC;IAChD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,MAAM,CAAC,MAAM,CACT,GAAS,EACT,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,2BAA2B,CAClC,2BAA2B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAC1D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC;IACjD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,MAAM,CAAC,MAAM,CACT,GAAS,EACT,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,2BAA2B,CAClC,2BAA2B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAC1D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC;IACjD,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,2BAA2B;IAC1C,aAAa,EAAE,2BAA2B;CACpC,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC3C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}