@zeitar/throttle 1.0.0 → 1.1.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 (162) hide show
  1. package/README.md +17 -0
  2. package/dist/CompoundLimiter.d.ts +0 -1
  3. package/dist/CompoundLimiter.js +0 -1
  4. package/dist/CompoundRateLimiterFactory.d.ts +0 -1
  5. package/dist/CompoundRateLimiterFactory.js +0 -1
  6. package/dist/LimiterInterface.d.ts +0 -1
  7. package/dist/LimiterInterface.js +0 -1
  8. package/dist/LimiterStateInterface.d.ts +0 -1
  9. package/dist/LimiterStateInterface.js +0 -1
  10. package/dist/RateLimit.d.ts +0 -1
  11. package/dist/RateLimit.js +0 -1
  12. package/dist/RateLimiterFactory.d.ts +0 -1
  13. package/dist/RateLimiterFactory.js +0 -1
  14. package/dist/RateLimiterFactoryInterface.d.ts +0 -1
  15. package/dist/RateLimiterFactoryInterface.js +0 -1
  16. package/dist/Reservation.d.ts +0 -1
  17. package/dist/Reservation.js +0 -1
  18. package/dist/errors/InvalidIntervalError.d.ts +0 -1
  19. package/dist/errors/InvalidIntervalError.js +0 -1
  20. package/dist/errors/MaxWaitDurationExceededError.d.ts +0 -1
  21. package/dist/errors/MaxWaitDurationExceededError.js +0 -1
  22. package/dist/errors/RateLimitExceededError.d.ts +0 -1
  23. package/dist/errors/RateLimitExceededError.js +0 -1
  24. package/dist/errors/ReserveNotSupportedError.d.ts +0 -1
  25. package/dist/errors/ReserveNotSupportedError.js +0 -1
  26. package/dist/index.d.ts +0 -1
  27. package/dist/index.js +0 -1
  28. package/dist/policy/FixedWindowLimiter.d.ts +0 -1
  29. package/dist/policy/FixedWindowLimiter.js +0 -1
  30. package/dist/policy/NoLimiter.d.ts +0 -1
  31. package/dist/policy/NoLimiter.js +0 -1
  32. package/dist/policy/Rate.d.ts +0 -1
  33. package/dist/policy/Rate.js +0 -1
  34. package/dist/policy/SlidingWindow.d.ts +0 -1
  35. package/dist/policy/SlidingWindow.js +0 -1
  36. package/dist/policy/SlidingWindowLimiter.d.ts +0 -1
  37. package/dist/policy/SlidingWindowLimiter.js +0 -1
  38. package/dist/policy/TokenBucket.d.ts +0 -1
  39. package/dist/policy/TokenBucket.js +0 -1
  40. package/dist/policy/TokenBucketLimiter.d.ts +0 -1
  41. package/dist/policy/TokenBucketLimiter.js +0 -1
  42. package/dist/policy/Window.d.ts +0 -1
  43. package/dist/policy/Window.js +0 -1
  44. package/dist/storage/InMemoryStorage.d.ts +0 -1
  45. package/dist/storage/InMemoryStorage.js +0 -1
  46. package/dist/storage/LockInterface.d.ts +0 -1
  47. package/dist/storage/LockInterface.js +0 -1
  48. package/dist/storage/StorageInterface.d.ts +0 -1
  49. package/dist/storage/StorageInterface.js +0 -1
  50. package/dist/util/TimeUtil.d.ts +0 -1
  51. package/dist/util/TimeUtil.js +0 -1
  52. package/package.json +1 -2
  53. package/dist/CompoundLimiter.d.ts.map +0 -1
  54. package/dist/CompoundLimiter.js.map +0 -1
  55. package/dist/CompoundRateLimiterFactory.d.ts.map +0 -1
  56. package/dist/CompoundRateLimiterFactory.js.map +0 -1
  57. package/dist/LimiterInterface.d.ts.map +0 -1
  58. package/dist/LimiterInterface.js.map +0 -1
  59. package/dist/LimiterStateInterface.d.ts.map +0 -1
  60. package/dist/LimiterStateInterface.js.map +0 -1
  61. package/dist/RateLimit.d.ts.map +0 -1
  62. package/dist/RateLimit.js.map +0 -1
  63. package/dist/RateLimiterFactory.d.ts.map +0 -1
  64. package/dist/RateLimiterFactory.js.map +0 -1
  65. package/dist/RateLimiterFactoryInterface.d.ts.map +0 -1
  66. package/dist/RateLimiterFactoryInterface.js.map +0 -1
  67. package/dist/Reservation.d.ts.map +0 -1
  68. package/dist/Reservation.js.map +0 -1
  69. package/dist/__tests__/CompoundLimiter.test.d.ts +0 -2
  70. package/dist/__tests__/CompoundLimiter.test.d.ts.map +0 -1
  71. package/dist/__tests__/CompoundLimiter.test.js +0 -231
  72. package/dist/__tests__/CompoundLimiter.test.js.map +0 -1
  73. package/dist/__tests__/CompoundRateLimiterFactory.test.d.ts +0 -2
  74. package/dist/__tests__/CompoundRateLimiterFactory.test.d.ts.map +0 -1
  75. package/dist/__tests__/CompoundRateLimiterFactory.test.js +0 -213
  76. package/dist/__tests__/CompoundRateLimiterFactory.test.js.map +0 -1
  77. package/dist/__tests__/RateLimit.test.d.ts +0 -2
  78. package/dist/__tests__/RateLimit.test.d.ts.map +0 -1
  79. package/dist/__tests__/RateLimit.test.js +0 -108
  80. package/dist/__tests__/RateLimit.test.js.map +0 -1
  81. package/dist/__tests__/RateLimiterFactory.test.d.ts +0 -2
  82. package/dist/__tests__/RateLimiterFactory.test.d.ts.map +0 -1
  83. package/dist/__tests__/RateLimiterFactory.test.js +0 -323
  84. package/dist/__tests__/RateLimiterFactory.test.js.map +0 -1
  85. package/dist/__tests__/Reservation.test.d.ts +0 -2
  86. package/dist/__tests__/Reservation.test.d.ts.map +0 -1
  87. package/dist/__tests__/Reservation.test.js +0 -110
  88. package/dist/__tests__/Reservation.test.js.map +0 -1
  89. package/dist/errors/InvalidIntervalError.d.ts.map +0 -1
  90. package/dist/errors/InvalidIntervalError.js.map +0 -1
  91. package/dist/errors/MaxWaitDurationExceededError.d.ts.map +0 -1
  92. package/dist/errors/MaxWaitDurationExceededError.js.map +0 -1
  93. package/dist/errors/RateLimitExceededError.d.ts.map +0 -1
  94. package/dist/errors/RateLimitExceededError.js.map +0 -1
  95. package/dist/errors/ReserveNotSupportedError.d.ts.map +0 -1
  96. package/dist/errors/ReserveNotSupportedError.js.map +0 -1
  97. package/dist/index.d.ts.map +0 -1
  98. package/dist/index.js.map +0 -1
  99. package/dist/policy/FixedWindowLimiter.d.ts.map +0 -1
  100. package/dist/policy/FixedWindowLimiter.js.map +0 -1
  101. package/dist/policy/NoLimiter.d.ts.map +0 -1
  102. package/dist/policy/NoLimiter.js.map +0 -1
  103. package/dist/policy/Rate.d.ts.map +0 -1
  104. package/dist/policy/Rate.js.map +0 -1
  105. package/dist/policy/SlidingWindow.d.ts.map +0 -1
  106. package/dist/policy/SlidingWindow.js.map +0 -1
  107. package/dist/policy/SlidingWindowLimiter.d.ts.map +0 -1
  108. package/dist/policy/SlidingWindowLimiter.js.map +0 -1
  109. package/dist/policy/TokenBucket.d.ts.map +0 -1
  110. package/dist/policy/TokenBucket.js.map +0 -1
  111. package/dist/policy/TokenBucketLimiter.d.ts.map +0 -1
  112. package/dist/policy/TokenBucketLimiter.js.map +0 -1
  113. package/dist/policy/Window.d.ts.map +0 -1
  114. package/dist/policy/Window.js.map +0 -1
  115. package/dist/policy/__tests__/FixedWindowLimiter.test.d.ts +0 -2
  116. package/dist/policy/__tests__/FixedWindowLimiter.test.d.ts.map +0 -1
  117. package/dist/policy/__tests__/FixedWindowLimiter.test.js +0 -180
  118. package/dist/policy/__tests__/FixedWindowLimiter.test.js.map +0 -1
  119. package/dist/policy/__tests__/NoLimiter.test.d.ts +0 -2
  120. package/dist/policy/__tests__/NoLimiter.test.d.ts.map +0 -1
  121. package/dist/policy/__tests__/NoLimiter.test.js +0 -40
  122. package/dist/policy/__tests__/NoLimiter.test.js.map +0 -1
  123. package/dist/policy/__tests__/Rate.test.d.ts +0 -2
  124. package/dist/policy/__tests__/Rate.test.d.ts.map +0 -1
  125. package/dist/policy/__tests__/Rate.test.js +0 -162
  126. package/dist/policy/__tests__/Rate.test.js.map +0 -1
  127. package/dist/policy/__tests__/SlidingWindow.test.d.ts +0 -2
  128. package/dist/policy/__tests__/SlidingWindow.test.d.ts.map +0 -1
  129. package/dist/policy/__tests__/SlidingWindow.test.js +0 -257
  130. package/dist/policy/__tests__/SlidingWindow.test.js.map +0 -1
  131. package/dist/policy/__tests__/SlidingWindowLimiter.test.d.ts +0 -2
  132. package/dist/policy/__tests__/SlidingWindowLimiter.test.d.ts.map +0 -1
  133. package/dist/policy/__tests__/SlidingWindowLimiter.test.js +0 -201
  134. package/dist/policy/__tests__/SlidingWindowLimiter.test.js.map +0 -1
  135. package/dist/policy/__tests__/TokenBucket.test.d.ts +0 -2
  136. package/dist/policy/__tests__/TokenBucket.test.d.ts.map +0 -1
  137. package/dist/policy/__tests__/TokenBucket.test.js +0 -171
  138. package/dist/policy/__tests__/TokenBucket.test.js.map +0 -1
  139. package/dist/policy/__tests__/TokenBucketLimiter.test.d.ts +0 -2
  140. package/dist/policy/__tests__/TokenBucketLimiter.test.d.ts.map +0 -1
  141. package/dist/policy/__tests__/TokenBucketLimiter.test.js +0 -175
  142. package/dist/policy/__tests__/TokenBucketLimiter.test.js.map +0 -1
  143. package/dist/policy/__tests__/Window.test.d.ts +0 -2
  144. package/dist/policy/__tests__/Window.test.d.ts.map +0 -1
  145. package/dist/policy/__tests__/Window.test.js +0 -193
  146. package/dist/policy/__tests__/Window.test.js.map +0 -1
  147. package/dist/storage/InMemoryStorage.d.ts.map +0 -1
  148. package/dist/storage/InMemoryStorage.js.map +0 -1
  149. package/dist/storage/LockInterface.d.ts.map +0 -1
  150. package/dist/storage/LockInterface.js.map +0 -1
  151. package/dist/storage/StorageInterface.d.ts.map +0 -1
  152. package/dist/storage/StorageInterface.js.map +0 -1
  153. package/dist/storage/__tests__/InMemoryStorage.test.d.ts +0 -2
  154. package/dist/storage/__tests__/InMemoryStorage.test.d.ts.map +0 -1
  155. package/dist/storage/__tests__/InMemoryStorage.test.js +0 -154
  156. package/dist/storage/__tests__/InMemoryStorage.test.js.map +0 -1
  157. package/dist/util/TimeUtil.d.ts.map +0 -1
  158. package/dist/util/TimeUtil.js.map +0 -1
  159. package/dist/util/__tests__/TimeUtil.test.d.ts +0 -2
  160. package/dist/util/__tests__/TimeUtil.test.d.ts.map +0 -1
  161. package/dist/util/__tests__/TimeUtil.test.js +0 -132
  162. package/dist/util/__tests__/TimeUtil.test.js.map +0 -1
package/README.md CHANGED
@@ -24,6 +24,22 @@ A production-ready TypeScript rate limiting library with support for multiple al
24
24
  npm install @zeitar/throttle
25
25
  ```
26
26
 
27
+ ## Important: What This Library Does (and Doesn't Do)
28
+
29
+ **This library provides application-level rate limiting** - it's designed to manage legitimate traffic, enforce user quotas, and prevent abuse from authenticated users.
30
+
31
+ **This library is NOT designed to protect against DDoS attacks.** By the time a request reaches your Node.js application, you've already consumed server resources. For DDoS protection and traffic floods, use network-level solutions:
32
+
33
+ - **Edge protection**: Cloudflare, AWS Shield, Fastly
34
+ - **Reverse proxy**: NGINX rate limiting, Caddy rate limit module, Apache mod_ratelimit
35
+ - **Load balancer**: Most cloud load balancers have built-in rate limiting
36
+
37
+ **The right approach is layered security:**
38
+ 1. Network/proxy level blocks massive attacks and traffic floods
39
+ 2. This library handles per-user quotas, business logic, and authenticated rate limiting
40
+
41
+ See **[Rate Limiting vs DoS Protection](./docs/rate-limiting-vs-dos-protection.md)** for a detailed explanation and architecture guidance.
42
+
27
43
  ## Quick Start
28
44
 
29
45
  ```typescript
@@ -94,6 +110,7 @@ app.use(async (req: Request, res: Response, next: NextFunction) => {
94
110
 
95
111
  ### Getting Started
96
112
  - **[Getting Started Guide](./docs/getting-started.md)** - Installation, basic usage, and testing
113
+ - **[Rate Limiting vs DoS Protection](./docs/rate-limiting-vs-dos-protection.md)** - Understanding layered security (READ THIS FIRST)
97
114
  - **[Choosing an Algorithm](./docs/algorithms.md)** - Algorithm comparison and selection guide
98
115
  - **[Framework Integration](./docs/framework-integration.md)** - Express, Fastify, NestJS, Koa, Hono examples
99
116
 
@@ -30,4 +30,3 @@ export declare class CompoundLimiter implements LimiterInterface {
30
30
  */
31
31
  reset(): Promise<void>;
32
32
  }
33
- //# sourceMappingURL=CompoundLimiter.d.ts.map
@@ -59,4 +59,3 @@ class CompoundLimiter {
59
59
  }
60
60
  }
61
61
  exports.CompoundLimiter = CompoundLimiter;
62
- //# sourceMappingURL=CompoundLimiter.js.map
@@ -16,4 +16,3 @@ export declare class CompoundRateLimiterFactory implements RateLimiterFactoryInt
16
16
  */
17
17
  create(key?: string | null): LimiterInterface;
18
18
  }
19
- //# sourceMappingURL=CompoundRateLimiterFactory.d.ts.map
@@ -26,4 +26,3 @@ class CompoundRateLimiterFactory {
26
26
  }
27
27
  }
28
28
  exports.CompoundRateLimiterFactory = CompoundRateLimiterFactory;
29
- //# sourceMappingURL=CompoundRateLimiterFactory.js.map
@@ -29,4 +29,3 @@ export interface LimiterInterface {
29
29
  */
30
30
  reset(): Promise<void>;
31
31
  }
32
- //# sourceMappingURL=LimiterInterface.d.ts.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=LimiterInterface.js.map
@@ -13,4 +13,3 @@ export interface LimiterStateInterface {
13
13
  */
14
14
  getExpirationTime(): number | null;
15
15
  }
16
- //# sourceMappingURL=LimiterStateInterface.d.ts.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=LimiterStateInterface.js.map
@@ -40,4 +40,3 @@ export declare class RateLimit {
40
40
  */
41
41
  wait(): Promise<void>;
42
42
  }
43
- //# sourceMappingURL=RateLimit.d.ts.map
package/dist/RateLimit.js CHANGED
@@ -65,4 +65,3 @@ class RateLimit {
65
65
  }
66
66
  }
67
67
  exports.RateLimit = RateLimit;
68
- //# sourceMappingURL=RateLimit.js.map
@@ -80,4 +80,3 @@ export declare class RateLimiterFactory implements RateLimiterFactoryInterface {
80
80
  */
81
81
  private createSlidingWindowLimiter;
82
82
  }
83
- //# sourceMappingURL=RateLimiterFactory.d.ts.map
@@ -112,4 +112,3 @@ class RateLimiterFactory {
112
112
  }
113
113
  }
114
114
  exports.RateLimiterFactory = RateLimiterFactory;
115
- //# sourceMappingURL=RateLimiterFactory.js.map
@@ -14,4 +14,3 @@ export interface RateLimiterFactoryInterface {
14
14
  */
15
15
  create(key?: string | null): LimiterInterface;
16
16
  }
17
- //# sourceMappingURL=RateLimiterFactoryInterface.d.ts.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=RateLimiterFactoryInterface.js.map
@@ -26,4 +26,3 @@ export declare class Reservation {
26
26
  */
27
27
  wait(): Promise<void>;
28
28
  }
29
- //# sourceMappingURL=Reservation.d.ts.map
@@ -41,4 +41,3 @@ class Reservation {
41
41
  }
42
42
  }
43
43
  exports.Reservation = Reservation;
44
- //# sourceMappingURL=Reservation.js.map
@@ -7,4 +7,3 @@
7
7
  export declare class InvalidIntervalError extends Error {
8
8
  constructor(message: string);
9
9
  }
10
- //# sourceMappingURL=InvalidIntervalError.d.ts.map
@@ -15,4 +15,3 @@ class InvalidIntervalError extends Error {
15
15
  }
16
16
  }
17
17
  exports.InvalidIntervalError = InvalidIntervalError;
18
- //# sourceMappingURL=InvalidIntervalError.js.map
@@ -12,4 +12,3 @@ export declare class MaxWaitDurationExceededError extends Error {
12
12
  */
13
13
  getRateLimit(): RateLimit;
14
14
  }
15
- //# sourceMappingURL=MaxWaitDurationExceededError.d.ts.map
@@ -21,4 +21,3 @@ class MaxWaitDurationExceededError extends Error {
21
21
  }
22
22
  }
23
23
  exports.MaxWaitDurationExceededError = MaxWaitDurationExceededError;
24
- //# sourceMappingURL=MaxWaitDurationExceededError.js.map
@@ -24,4 +24,3 @@ export declare class RateLimitExceededError extends Error {
24
24
  */
25
25
  getLimit(): number;
26
26
  }
27
- //# sourceMappingURL=RateLimitExceededError.d.ts.map
@@ -39,4 +39,3 @@ class RateLimitExceededError extends Error {
39
39
  }
40
40
  }
41
41
  exports.RateLimitExceededError = RateLimitExceededError;
42
- //# sourceMappingURL=RateLimitExceededError.js.map
@@ -7,4 +7,3 @@
7
7
  export declare class ReserveNotSupportedError extends Error {
8
8
  constructor(message: string);
9
9
  }
10
- //# sourceMappingURL=ReserveNotSupportedError.d.ts.map
@@ -15,4 +15,3 @@ class ReserveNotSupportedError extends Error {
15
15
  }
16
16
  }
17
17
  exports.ReserveNotSupportedError = ReserveNotSupportedError;
18
- //# sourceMappingURL=ReserveNotSupportedError.js.map
package/dist/index.d.ts CHANGED
@@ -32,4 +32,3 @@ export { MaxWaitDurationExceededError } from './errors/MaxWaitDurationExceededEr
32
32
  export { RateLimitExceededError } from './errors/RateLimitExceededError';
33
33
  export { ReserveNotSupportedError } from './errors/ReserveNotSupportedError';
34
34
  export { TimeUtil } from './util/TimeUtil';
35
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -55,4 +55,3 @@ Object.defineProperty(exports, "ReserveNotSupportedError", { enumerable: true, g
55
55
  // Utilities
56
56
  var TimeUtil_1 = require("./util/TimeUtil");
57
57
  Object.defineProperty(exports, "TimeUtil", { enumerable: true, get: function () { return TimeUtil_1.TimeUtil; } });
58
- //# sourceMappingURL=index.js.map
@@ -33,4 +33,3 @@ export declare class FixedWindowLimiter implements LimiterInterface {
33
33
  */
34
34
  private getOrCreateWindow;
35
35
  }
36
- //# sourceMappingURL=FixedWindowLimiter.d.ts.map
@@ -102,4 +102,3 @@ class FixedWindowLimiter {
102
102
  }
103
103
  }
104
104
  exports.FixedWindowLimiter = FixedWindowLimiter;
105
- //# sourceMappingURL=FixedWindowLimiter.js.map
@@ -20,4 +20,3 @@ export declare class NoLimiter implements LimiterInterface {
20
20
  */
21
21
  reset(): Promise<void>;
22
22
  }
23
- //# sourceMappingURL=NoLimiter.d.ts.map
@@ -31,4 +31,3 @@ class NoLimiter {
31
31
  }
32
32
  }
33
33
  exports.NoLimiter = NoLimiter;
34
- //# sourceMappingURL=NoLimiter.js.map
@@ -66,4 +66,3 @@ export declare class Rate {
66
66
  */
67
67
  getRefillInterval(): number;
68
68
  }
69
- //# sourceMappingURL=Rate.d.ts.map
@@ -118,4 +118,3 @@ class Rate {
118
118
  }
119
119
  }
120
120
  exports.Rate = Rate;
121
- //# sourceMappingURL=Rate.js.map
@@ -71,4 +71,3 @@ export declare class SlidingWindow implements LimiterStateInterface {
71
71
  intervalInSeconds: number;
72
72
  }): SlidingWindow;
73
73
  }
74
- //# sourceMappingURL=SlidingWindow.d.ts.map
@@ -127,4 +127,3 @@ class SlidingWindow {
127
127
  }
128
128
  }
129
129
  exports.SlidingWindow = SlidingWindow;
130
- //# sourceMappingURL=SlidingWindow.js.map
@@ -38,4 +38,3 @@ export declare class SlidingWindowLimiter implements LimiterInterface {
38
38
  */
39
39
  private maybeTransitionWindow;
40
40
  }
41
- //# sourceMappingURL=SlidingWindowLimiter.d.ts.map
@@ -124,4 +124,3 @@ class SlidingWindowLimiter {
124
124
  }
125
125
  }
126
126
  exports.SlidingWindowLimiter = SlidingWindowLimiter;
127
- //# sourceMappingURL=SlidingWindowLimiter.js.map
@@ -60,4 +60,3 @@ export declare class TokenBucket implements LimiterStateInterface {
60
60
  };
61
61
  }): TokenBucket;
62
62
  }
63
- //# sourceMappingURL=TokenBucket.d.ts.map
@@ -89,4 +89,3 @@ class TokenBucket {
89
89
  }
90
90
  }
91
91
  exports.TokenBucket = TokenBucket;
92
- //# sourceMappingURL=TokenBucket.js.map
@@ -35,4 +35,3 @@ export declare class TokenBucketLimiter implements LimiterInterface {
35
35
  */
36
36
  private getOrCreateBucket;
37
37
  }
38
- //# sourceMappingURL=TokenBucketLimiter.d.ts.map
@@ -111,4 +111,3 @@ class TokenBucketLimiter {
111
111
  }
112
112
  }
113
113
  exports.TokenBucketLimiter = TokenBucketLimiter;
114
- //# sourceMappingURL=TokenBucketLimiter.js.map
@@ -55,4 +55,3 @@ export declare class Window implements LimiterStateInterface {
55
55
  timer: number;
56
56
  }): Window;
57
57
  }
58
- //# sourceMappingURL=Window.d.ts.map
@@ -102,4 +102,3 @@ class Window {
102
102
  }
103
103
  }
104
104
  exports.Window = Window;
105
- //# sourceMappingURL=Window.js.map
@@ -31,4 +31,3 @@ export declare class InMemoryStorage implements StorageInterface {
31
31
  */
32
32
  size(): number;
33
33
  }
34
- //# sourceMappingURL=InMemoryStorage.d.ts.map
@@ -59,4 +59,3 @@ class InMemoryStorage {
59
59
  }
60
60
  }
61
61
  exports.InMemoryStorage = InMemoryStorage;
62
- //# sourceMappingURL=InMemoryStorage.js.map
@@ -38,4 +38,3 @@ export declare class NoLock implements LockInterface {
38
38
  release(): Promise<void>;
39
39
  withLock<T>(_key: string, callback: () => Promise<T>): Promise<T>;
40
40
  }
41
- //# sourceMappingURL=LockInterface.d.ts.map
@@ -16,4 +16,3 @@ class NoLock {
16
16
  }
17
17
  }
18
18
  exports.NoLock = NoLock;
19
- //# sourceMappingURL=LockInterface.js.map
@@ -26,4 +26,3 @@ export interface StorageInterface {
26
26
  */
27
27
  delete(id: string): Promise<void>;
28
28
  }
29
- //# sourceMappingURL=StorageInterface.d.ts.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=StorageInterface.js.map
@@ -32,4 +32,3 @@ export declare class TimeUtil {
32
32
  */
33
33
  static secondsToMs(seconds: number): number;
34
34
  }
35
- //# sourceMappingURL=TimeUtil.d.ts.map
@@ -84,4 +84,3 @@ class TimeUtil {
84
84
  }
85
85
  }
86
86
  exports.TimeUtil = TimeUtil;
87
- //# sourceMappingURL=TimeUtil.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeitar/throttle",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Production-ready rate limiting for Node.js - Token Bucket, Fixed Window, and Sliding Window algorithms with TypeScript support",
5
5
  "keywords": [
6
6
  "rate-limiter",
@@ -10,7 +10,6 @@
10
10
  "sliding-window",
11
11
  "fixed-window",
12
12
  "api-rate-limit",
13
- "symfony",
14
13
  "typescript",
15
14
  "async"
16
15
  ],
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompoundLimiter.d.ts","sourceRoot":"","sources":["../src/CompoundLimiter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;;;;;;;GAQG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;gBAElC,QAAQ,EAAE,gBAAgB,EAAE;IAOxC;;;;OAIG;IACG,OAAO,CAAC,OAAO,GAAE,MAAU,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAMxF;;;;OAIG;IACG,OAAO,CAAC,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA4BrD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompoundLimiter.js","sourceRoot":"","sources":["../src/CompoundLimiter.ts"],"names":[],"mappings":";;;AAGA,gFAA6E;AAE7E;;;;;;;;GAQG;AACH,MAAa,eAAe;IAG1B,YAAY,QAA4B;QACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,UAAkB,CAAC,EAAE,WAA0B,IAAI;QAC/D,MAAM,IAAI,mDAAwB,CAChC,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CACtD,CAAC;QAEF,mCAAmC;QACnC,IAAI,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,8DAA8D;YAC9D,wDAAwD;YACxD,gDAAgD;YAChD,IACE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;gBACtD,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;oBACnB,CAAC,eAAe,CAAC,UAAU,EAAE;oBAC7B,MAAM,CAAC,aAAa,EAAE,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;gBAC3D,CAAC,MAAM,CAAC,UAAU,EAAE;oBAClB,eAAe,CAAC,UAAU,EAAE;oBAC5B,MAAM,CAAC,kBAAkB,EAAE,GAAG,eAAe,CAAC,kBAAkB,EAAE,CAAC,EACrE,CAAC;gBACD,eAAe,GAAG,MAAM,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;CACF;AA5DD,0CA4DC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompoundRateLimiterFactory.d.ts","sourceRoot":"","sources":["../src/CompoundRateLimiterFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,2BAA2B;IAC5E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;gBAE9C,SAAS,EAAE,2BAA2B,EAAE;IAOpD;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB;CAI9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompoundRateLimiterFactory.js","sourceRoot":"","sources":["../src/CompoundRateLimiterFactory.ts"],"names":[],"mappings":";;;AAEA,uDAAoD;AAEpD;;;;;GAKG;AACH,MAAa,0BAA0B;IAGrC,YAAY,SAAwC;QAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAmB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,OAAO,IAAI,iCAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CACF;AAnBD,gEAmBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LimiterInterface.d.ts","sourceRoot":"","sources":["../src/LimiterInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEvE;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE5C;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LimiterInterface.js","sourceRoot":"","sources":["../src/LimiterInterface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LimiterStateInterface.d.ts","sourceRoot":"","sources":["../src/LimiterStateInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,IAAI,MAAM,CAAC;IAEhB;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAAC;CACpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LimiterStateInterface.js","sourceRoot":"","sources":["../src/LimiterStateInterface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RateLimit.d.ts","sourceRoot":"","sources":["../src/RateLimit.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAG7B,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,MAAM;IAQf;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACH,cAAc,IAAI,IAAI;IAOtB;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RateLimit.js","sourceRoot":"","sources":["../src/RateLimit.ts"],"names":[],"mappings":";;;AAAA,4EAAyE;AAEzE;;;;;GAKG;AACH,MAAa,SAAS;IAMpB,YACE,eAAuB,EACvB,UAAgB,EAChB,QAAiB,EACjB,KAAa;QAEb,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,+CAAsB,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;QAE/C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF;AAxED,8BAwEC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RateLimiterFactory.d.ts","sourceRoot":"","sources":["../src/RateLimiterFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAS7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,aAAa,CAAC;AAElB;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,YAAW,2BAA2B;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAgB;gBAGpC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE,aAAa;IAOtB;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB;IAuB7C;;OAEG;IACH,OAAO,CAAC,cAAc;IA2CtB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;CAoBnC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RateLimiterFactory.js","sourceRoot":"","sources":["../src/RateLimiterFactory.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RateLimiterFactoryInterface.d.ts","sourceRoot":"","sources":["../src/RateLimiterFactoryInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAAC;CAC/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RateLimiterFactoryInterface.js","sourceRoot":"","sources":["../src/RateLimiterFactoryInterface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Reservation.d.ts","sourceRoot":"","sources":["../src/Reservation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;IAKnD;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,YAAY,IAAI,SAAS;IAIzB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAM5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Reservation.js","sourceRoot":"","sources":["../src/Reservation.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,MAAa,WAAW;IAItB,YAAY,SAAiB,EAAE,SAAoB;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF;AAvCD,kCAuCC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=CompoundLimiter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompoundLimiter.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/CompoundLimiter.test.ts"],"names":[],"mappings":""}