nestjs-advanced-rate-limiter 0.1.0 → 0.2.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 (65) hide show
  1. package/dist/cjs/decorators/index.js +7 -0
  2. package/dist/cjs/decorators/skip-throttle.decorator.js +17 -0
  3. package/dist/cjs/decorators/throttle.decorator.js +17 -0
  4. package/dist/cjs/index.js +23 -0
  5. package/dist/cjs/package.json +1 -0
  6. package/dist/cjs/throttler.constants.js +6 -0
  7. package/dist/cjs/throttler.guard.js +120 -0
  8. package/dist/cjs/throttler.interfaces.js +2 -0
  9. package/dist/cjs/throttler.module.js +67 -0
  10. package/dist/cjs/trackers.js +86 -0
  11. package/dist/esm/decorators/index.d.ts.map +1 -0
  12. package/dist/esm/decorators/index.js.map +1 -0
  13. package/dist/esm/decorators/skip-throttle.decorator.d.ts.map +1 -0
  14. package/dist/esm/decorators/skip-throttle.decorator.js.map +1 -0
  15. package/dist/esm/decorators/throttle.decorator.d.ts.map +1 -0
  16. package/dist/esm/decorators/throttle.decorator.js.map +1 -0
  17. package/dist/esm/index.d.ts.map +1 -0
  18. package/dist/esm/index.js.map +1 -0
  19. package/dist/esm/throttler.constants.d.ts.map +1 -0
  20. package/dist/esm/throttler.constants.js.map +1 -0
  21. package/dist/esm/throttler.guard.d.ts.map +1 -0
  22. package/dist/esm/throttler.guard.js.map +1 -0
  23. package/dist/esm/throttler.interfaces.d.ts.map +1 -0
  24. package/dist/esm/throttler.interfaces.js.map +1 -0
  25. package/dist/esm/throttler.module.d.ts.map +1 -0
  26. package/dist/esm/throttler.module.js.map +1 -0
  27. package/dist/esm/trackers.d.ts.map +1 -0
  28. package/dist/esm/trackers.js.map +1 -0
  29. package/package.json +9 -6
  30. package/dist/decorators/index.d.ts.map +0 -1
  31. package/dist/decorators/index.js.map +0 -1
  32. package/dist/decorators/skip-throttle.decorator.d.ts.map +0 -1
  33. package/dist/decorators/skip-throttle.decorator.js.map +0 -1
  34. package/dist/decorators/throttle.decorator.d.ts.map +0 -1
  35. package/dist/decorators/throttle.decorator.js.map +0 -1
  36. package/dist/index.d.ts.map +0 -1
  37. package/dist/index.js.map +0 -1
  38. package/dist/throttler.constants.d.ts.map +0 -1
  39. package/dist/throttler.constants.js.map +0 -1
  40. package/dist/throttler.guard.d.ts.map +0 -1
  41. package/dist/throttler.guard.js.map +0 -1
  42. package/dist/throttler.interfaces.d.ts.map +0 -1
  43. package/dist/throttler.interfaces.js.map +0 -1
  44. package/dist/throttler.module.d.ts.map +0 -1
  45. package/dist/throttler.module.js.map +0 -1
  46. package/dist/trackers.d.ts.map +0 -1
  47. package/dist/trackers.js.map +0 -1
  48. /package/dist/{decorators → esm/decorators}/index.d.ts +0 -0
  49. /package/dist/{decorators → esm/decorators}/index.js +0 -0
  50. /package/dist/{decorators → esm/decorators}/skip-throttle.decorator.d.ts +0 -0
  51. /package/dist/{decorators → esm/decorators}/skip-throttle.decorator.js +0 -0
  52. /package/dist/{decorators → esm/decorators}/throttle.decorator.d.ts +0 -0
  53. /package/dist/{decorators → esm/decorators}/throttle.decorator.js +0 -0
  54. /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
  55. /package/dist/{index.js → esm/index.js} +0 -0
  56. /package/dist/{throttler.constants.d.ts → esm/throttler.constants.d.ts} +0 -0
  57. /package/dist/{throttler.constants.js → esm/throttler.constants.js} +0 -0
  58. /package/dist/{throttler.guard.d.ts → esm/throttler.guard.d.ts} +0 -0
  59. /package/dist/{throttler.guard.js → esm/throttler.guard.js} +0 -0
  60. /package/dist/{throttler.interfaces.d.ts → esm/throttler.interfaces.d.ts} +0 -0
  61. /package/dist/{throttler.interfaces.js → esm/throttler.interfaces.js} +0 -0
  62. /package/dist/{throttler.module.d.ts → esm/throttler.module.d.ts} +0 -0
  63. /package/dist/{throttler.module.js → esm/throttler.module.js} +0 -0
  64. /package/dist/{trackers.d.ts → esm/trackers.d.ts} +0 -0
  65. /package/dist/{trackers.js → esm/trackers.js} +0 -0
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Throttle = exports.SkipThrottle = void 0;
4
+ var skip_throttle_decorator_1 = require("./skip-throttle.decorator");
5
+ Object.defineProperty(exports, "SkipThrottle", { enumerable: true, get: function () { return skip_throttle_decorator_1.SkipThrottle; } });
6
+ var throttle_decorator_1 = require("./throttle.decorator");
7
+ Object.defineProperty(exports, "Throttle", { enumerable: true, get: function () { return throttle_decorator_1.Throttle; } });
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SkipThrottle = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const throttler_constants_1 = require("../throttler.constants");
6
+ /**
7
+ * Skip rate limiting for a specific controller or route.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * @SkipThrottle()
12
+ * @Get("health")
13
+ * health() { return "ok"; }
14
+ * ```
15
+ */
16
+ const SkipThrottle = () => (0, common_1.SetMetadata)(throttler_constants_1.THROTTLER_SKIP, true);
17
+ exports.SkipThrottle = SkipThrottle;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Throttle = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const throttler_constants_1 = require("../throttler.constants");
6
+ /**
7
+ * Override the default rate limit algorithm for a specific controller or route.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * @Throttle({ algorithm: "fixed-window", limit: 5, windowMs: 60_000 })
12
+ * @Post("login")
13
+ * login() { ... }
14
+ * ```
15
+ */
16
+ const Throttle = (config) => (0, common_1.SetMetadata)(throttler_constants_1.THROTTLER_ALGORITHM, config);
17
+ exports.Throttle = Throttle;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResilientStore = exports.RedisStore = exports.MemoryStore = exports.THROTTLER_OPTIONS = exports.userTracker = exports.ThrottlerModule = exports.ThrottlerGuard = exports.Throttle = exports.SkipThrottle = void 0;
4
+ // Decorators
5
+ var decorators_1 = require("./decorators");
6
+ Object.defineProperty(exports, "SkipThrottle", { enumerable: true, get: function () { return decorators_1.SkipThrottle; } });
7
+ Object.defineProperty(exports, "Throttle", { enumerable: true, get: function () { return decorators_1.Throttle; } });
8
+ // Guard
9
+ var throttler_guard_1 = require("./throttler.guard");
10
+ Object.defineProperty(exports, "ThrottlerGuard", { enumerable: true, get: function () { return throttler_guard_1.ThrottlerGuard; } });
11
+ // Module
12
+ var throttler_module_1 = require("./throttler.module");
13
+ Object.defineProperty(exports, "ThrottlerModule", { enumerable: true, get: function () { return throttler_module_1.ThrottlerModule; } });
14
+ // Trackers
15
+ var trackers_1 = require("./trackers");
16
+ Object.defineProperty(exports, "userTracker", { enumerable: true, get: function () { return trackers_1.userTracker; } });
17
+ // Constants
18
+ var throttler_constants_1 = require("./throttler.constants");
19
+ Object.defineProperty(exports, "THROTTLER_OPTIONS", { enumerable: true, get: function () { return throttler_constants_1.THROTTLER_OPTIONS; } });
20
+ var elysia_advanced_rate_limiter_1 = require("elysia-advanced-rate-limiter");
21
+ Object.defineProperty(exports, "MemoryStore", { enumerable: true, get: function () { return elysia_advanced_rate_limiter_1.MemoryStore; } });
22
+ Object.defineProperty(exports, "RedisStore", { enumerable: true, get: function () { return elysia_advanced_rate_limiter_1.RedisStore; } });
23
+ Object.defineProperty(exports, "ResilientStore", { enumerable: true, get: function () { return elysia_advanced_rate_limiter_1.ResilientStore; } });
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.THROTTLER_SKIP = exports.THROTTLER_ALGORITHM = exports.THROTTLER_OPTIONS = void 0;
4
+ exports.THROTTLER_OPTIONS = "THROTTLER_OPTIONS";
5
+ exports.THROTTLER_ALGORITHM = "THROTTLER:algorithm";
6
+ exports.THROTTLER_SKIP = "THROTTLER:skip";
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ThrottlerGuard = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const core_1 = require("@nestjs/core");
18
+ const elysia_advanced_rate_limiter_1 = require("elysia-advanced-rate-limiter");
19
+ const throttler_constants_1 = require("./throttler.constants");
20
+ const MAX_RETRY_MS = 2_147_483_647;
21
+ function sanitize(val) {
22
+ return Number.isFinite(val) ? val : MAX_RETRY_MS;
23
+ }
24
+ function computeTtlMs(config) {
25
+ switch (config.algorithm) {
26
+ case "token-bucket":
27
+ return Math.ceil((config.capacity / config.refillRate) * 1000) + 60_000;
28
+ case "sliding-window":
29
+ case "fixed-window":
30
+ return config.windowMs + 60_000;
31
+ }
32
+ }
33
+ let ThrottlerGuard = class ThrottlerGuard {
34
+ options;
35
+ reflector;
36
+ store;
37
+ defaultAlgorithm;
38
+ prefix;
39
+ skipIf;
40
+ getTracker;
41
+ ignoreUserAgents;
42
+ errorMessage;
43
+ constructor(options, reflector) {
44
+ this.options = options;
45
+ this.reflector = reflector;
46
+ this.defaultAlgorithm = options.algorithm ?? {
47
+ algorithm: "token-bucket",
48
+ capacity: 100,
49
+ refillRate: 10,
50
+ };
51
+ this.store = options.store ?? new elysia_advanced_rate_limiter_1.MemoryStore({ maxKeys: 100_000 });
52
+ this.prefix = options.prefix ?? "rl:";
53
+ this.skipIf = options.skipIf;
54
+ this.getTracker = options.getTracker ?? this.defaultGetTracker;
55
+ this.ignoreUserAgents = options.ignoreUserAgents ?? [];
56
+ this.errorMessage = options.errorMessage ?? "Too Many Requests";
57
+ }
58
+ async canActivate(context) {
59
+ const skipClass = this.reflector.get(throttler_constants_1.THROTTLER_SKIP, context.getClass());
60
+ if (skipClass)
61
+ return true;
62
+ const skipHandler = this.reflector.get(throttler_constants_1.THROTTLER_SKIP, context.getHandler());
63
+ if (skipHandler)
64
+ return true;
65
+ const req = context.switchToHttp().getRequest();
66
+ const res = context.switchToHttp().getResponse();
67
+ if (this.skipIf?.(req))
68
+ return true;
69
+ const userAgent = req.headers?.["user-agent"] ?? "";
70
+ if (this.ignoreUserAgents.some((regex) => regex.test(userAgent))) {
71
+ return true;
72
+ }
73
+ const algorithmConfig = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_ALGORITHM, [
74
+ context.getHandler(),
75
+ context.getClass(),
76
+ ]) ?? this.defaultAlgorithm;
77
+ const tracker = this.getTracker(req);
78
+ const storeKey = `${this.prefix}${tracker}`;
79
+ const ttlMs = computeTtlMs(algorithmConfig);
80
+ const nowMs = Date.now();
81
+ const result = await this.store.check(storeKey, algorithmConfig, nowMs, ttlMs);
82
+ const remaining = sanitize(result.remaining);
83
+ const resetMs = sanitize(result.resetMs);
84
+ const resetTimestamp = String(Math.ceil((nowMs + resetMs) / 1000));
85
+ res.header("X-RateLimit-Limit", String(result.limit));
86
+ res.header("X-RateLimit-Remaining", String(remaining));
87
+ res.header("X-RateLimit-Reset", resetTimestamp);
88
+ if (!result.allowed) {
89
+ const retryAfterMs = sanitize(result.retryAfterMs);
90
+ const retryAfter = String(Math.ceil(retryAfterMs / 1000));
91
+ res.header("Retry-After", retryAfter);
92
+ const body = typeof this.errorMessage === "function"
93
+ ? this.errorMessage(result)
94
+ : { statusCode: 429, message: this.errorMessage };
95
+ throw new common_1.HttpException(body, common_1.HttpStatus.TOO_MANY_REQUESTS);
96
+ }
97
+ return true;
98
+ }
99
+ defaultGetTracker(req) {
100
+ const cfIp = req.headers?.["cf-connecting-ip"];
101
+ if (cfIp)
102
+ return cfIp;
103
+ const realIp = req.headers?.["x-real-ip"];
104
+ if (realIp)
105
+ return realIp;
106
+ const xff = req.headers?.["x-forwarded-for"];
107
+ if (xff) {
108
+ const first = typeof xff === "string" ? xff.split(",")[0]?.trim() : xff[0];
109
+ if (first)
110
+ return first;
111
+ }
112
+ return req.ip ?? req.socket?.remoteAddress ?? "anonymous";
113
+ }
114
+ };
115
+ exports.ThrottlerGuard = ThrottlerGuard;
116
+ exports.ThrottlerGuard = ThrottlerGuard = __decorate([
117
+ (0, common_1.Injectable)(),
118
+ __param(0, (0, common_1.Inject)(throttler_constants_1.THROTTLER_OPTIONS)),
119
+ __metadata("design:paramtypes", [Object, core_1.Reflector])
120
+ ], ThrottlerGuard);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var ThrottlerModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ThrottlerModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const throttler_constants_1 = require("./throttler.constants");
13
+ const throttler_guard_1 = require("./throttler.guard");
14
+ let ThrottlerModule = ThrottlerModule_1 = class ThrottlerModule {
15
+ static forRoot(options = {}) {
16
+ return {
17
+ module: ThrottlerModule_1,
18
+ global: true,
19
+ providers: [
20
+ { provide: throttler_constants_1.THROTTLER_OPTIONS, useValue: options },
21
+ throttler_guard_1.ThrottlerGuard,
22
+ ],
23
+ exports: [throttler_constants_1.THROTTLER_OPTIONS, throttler_guard_1.ThrottlerGuard],
24
+ };
25
+ }
26
+ static forRootAsync(options) {
27
+ const providers = this.createAsyncProviders(options);
28
+ return {
29
+ module: ThrottlerModule_1,
30
+ global: true,
31
+ imports: options.imports ?? [],
32
+ providers: [...providers, throttler_guard_1.ThrottlerGuard],
33
+ exports: [throttler_constants_1.THROTTLER_OPTIONS, throttler_guard_1.ThrottlerGuard],
34
+ };
35
+ }
36
+ static createAsyncProviders(options) {
37
+ if (options.useExisting || options.useFactory) {
38
+ return [this.createAsyncOptionsProvider(options)];
39
+ }
40
+ if (options.useClass) {
41
+ return [
42
+ this.createAsyncOptionsProvider(options),
43
+ { provide: options.useClass, useClass: options.useClass },
44
+ ];
45
+ }
46
+ return [{ provide: throttler_constants_1.THROTTLER_OPTIONS, useValue: {} }];
47
+ }
48
+ static createAsyncOptionsProvider(options) {
49
+ if (options.useFactory) {
50
+ return {
51
+ provide: throttler_constants_1.THROTTLER_OPTIONS,
52
+ useFactory: options.useFactory,
53
+ inject: options.inject ?? [],
54
+ };
55
+ }
56
+ const inject = options.useExisting ?? options.useClass;
57
+ return {
58
+ provide: throttler_constants_1.THROTTLER_OPTIONS,
59
+ useFactory: (factory) => factory.createThrottlerOptions(),
60
+ inject: inject ? [inject] : [],
61
+ };
62
+ }
63
+ };
64
+ exports.ThrottlerModule = ThrottlerModule;
65
+ exports.ThrottlerModule = ThrottlerModule = ThrottlerModule_1 = __decorate([
66
+ (0, common_1.Module)({})
67
+ ], ThrottlerModule);
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.userTracker = userTracker;
4
+ function defaultParseJwt(token) {
5
+ try {
6
+ const parts = token.split(".");
7
+ if (parts.length !== 3)
8
+ return null;
9
+ const payload = JSON.parse(atob(parts[1]));
10
+ return (payload.sub ?? payload.userId ?? payload.id);
11
+ }
12
+ catch {
13
+ return null;
14
+ }
15
+ }
16
+ function extractIp(req) {
17
+ const cfIp = req.headers?.["cf-connecting-ip"];
18
+ if (cfIp)
19
+ return cfIp;
20
+ const realIp = req.headers?.["x-real-ip"];
21
+ if (realIp)
22
+ return realIp;
23
+ const xff = req.headers?.["x-forwarded-for"];
24
+ if (xff) {
25
+ const first = typeof xff === "string" ? xff.split(",")[0]?.trim() : xff[0];
26
+ if (first)
27
+ return first;
28
+ }
29
+ return req.ip ?? req.socket?.remoteAddress ?? "anonymous";
30
+ }
31
+ /**
32
+ * NestJS-compatible tracker that identifies users from JWT/session,
33
+ * with optional IP fallback.
34
+ *
35
+ * Works with Express and Fastify request objects.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * ThrottlerModule.forRoot({
40
+ * getTracker: userTracker({ cookieName: "session", fallbackToIp: true }),
41
+ * })
42
+ * ```
43
+ */
44
+ function userTracker(options = {}) {
45
+ const cookieName = options.cookieName ?? "better-auth.session_token";
46
+ const parseJwt = options.parseJwt ?? defaultParseJwt;
47
+ const fallbackToIp = options.fallbackToIp ?? true;
48
+ return (req) => {
49
+ // Try Authorization header
50
+ const auth = req.headers?.["authorization"];
51
+ if (auth?.startsWith("Bearer ")) {
52
+ const userId = parseJwt(auth.slice(7));
53
+ if (userId)
54
+ return `user:${userId}`;
55
+ }
56
+ // Try cookie
57
+ const cookieHeader = typeof req.cookies === "object"
58
+ ? req.cookies?.[cookieName]
59
+ : req.headers?.["cookie"];
60
+ if (cookieHeader) {
61
+ let token;
62
+ if (typeof req.cookies === "object") {
63
+ // Express with cookie-parser / Fastify cookie
64
+ token = req.cookies[cookieName];
65
+ }
66
+ else {
67
+ // Raw cookie header
68
+ const match = cookieHeader
69
+ .split(";")
70
+ .map((c) => c.trim())
71
+ .find((c) => c.startsWith(`${cookieName}=`));
72
+ if (match) {
73
+ token = match.split("=").slice(1).join("=");
74
+ }
75
+ }
76
+ if (token) {
77
+ const userId = parseJwt(token);
78
+ if (userId)
79
+ return `user:${userId}`;
80
+ }
81
+ }
82
+ if (fallbackToIp)
83
+ return extractIp(req);
84
+ return "anonymous";
85
+ };
86
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-throttle.decorator.d.ts","sourceRoot":"","sources":["../../../src/decorators/skip-throttle.decorator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,wDAA0C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-throttle.decorator.js","sourceRoot":"","sources":["../../../src/decorators/skip-throttle.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle.decorator.d.ts","sourceRoot":"","sources":["../../../src/decorators/throttle.decorator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,eAAe,qDACN,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle.decorator.js","sourceRoot":"","sources":["../../../src/decorators/throttle.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAuB,EAAE,EAAE,CAClD,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,GACf,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEtD,QAAQ;AACR,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAmB1D,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,GACf,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.constants.d.ts","sourceRoot":"","sources":["../../src/throttler.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.constants.js","sourceRoot":"","sources":["../../src/throttler.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.guard.d.ts","sourceRoot":"","sources":["../../src/throttler.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAKjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAkBrE,qBACa,cAAe,YAAW,WAAW;IAYnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAZ5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAEsB;gBAGL,OAAO,EAAE,sBAAsB,EAC1D,SAAS,EAAE,SAAS;IAejC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiE9D,OAAO,CAAC,iBAAiB;CAe1B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.guard.js","sourceRoot":"","sources":["../../src/throttler.guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.interfaces.d.ts","sourceRoot":"","sources":["../../src/throttler.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC;IACvE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,sBAAsB,IAClB,sBAAsB,GACtB,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;IAC5E,WAAW,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,CACX,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC9D,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.interfaces.js","sourceRoot":"","sources":["../../src/throttler.interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.module.d.ts","sourceRoot":"","sources":["../../src/throttler.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAGjE,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,wBAAwB,CAAC;AAEhC,qBACa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,sBAA2B,GAAG,aAAa;IAYnE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa;IAWlE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAiBnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAmB1C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.module.js","sourceRoot":"","sources":["../../src/throttler.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAiB,MAAM,EAAY,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,UAAkC,EAAE;QACjD,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,cAAc;aACf;YACD,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAA8B;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;YACzC,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;SAC7C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAA8B;QAE9B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO;gBACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;gBACxC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;aAC1D,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,MAAM,CAAC,0BAA0B,CACvC,OAA8B;QAE9B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;QACvD,OAAO;YACL,OAAO,EAAE,iBAAiB;YAC1B,UAAU,EAAE,CAAC,OAAgC,EAAE,EAAE,CAC/C,OAAO,CAAC,sBAAsB,EAAE;YAClC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF,CAAA;AA5DY,eAAe;IAD3B,MAAM,CAAC,EAAE,CAAC;GACE,eAAe,CA4D3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackers.d.ts","sourceRoot":"","sources":["../../src/trackers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAE5C;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA6BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CA6ClF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackers.js","sourceRoot":"","sources":["../../src/trackers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestjs-advanced-rate-limiter",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "Advanced rate limiter for NestJS. Token bucket (GCRA), sliding window, fixed window. In-memory or Redis. Drop-in replacement for @nestjs/throttler.",
6
6
  "author": "mrtcmn",
@@ -27,12 +27,15 @@
27
27
  "decorator",
28
28
  "middleware"
29
29
  ],
30
- "main": "dist/index.js",
31
- "types": "dist/index.d.ts",
30
+ "main": "dist/cjs/index.js",
31
+ "module": "dist/esm/index.js",
32
+ "types": "dist/esm/index.d.ts",
32
33
  "exports": {
33
34
  ".": {
34
- "types": "./dist/index.d.ts",
35
- "import": "./dist/index.js"
35
+ "types": "./dist/esm/index.d.ts",
36
+ "import": "./dist/esm/index.js",
37
+ "require": "./dist/cjs/index.js",
38
+ "default": "./dist/cjs/index.js"
36
39
  }
37
40
  },
38
41
  "files": [
@@ -41,7 +44,7 @@
41
44
  "LICENSE"
42
45
  ],
43
46
  "scripts": {
44
- "build": "rm -rf dist && tsc --project tsconfig.build.json",
47
+ "build": "rm -rf dist && tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
45
48
  "typecheck": "tsc --noEmit",
46
49
  "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
47
50
  "test:watch": "jest --watch",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skip-throttle.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/skip-throttle.decorator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,wDAA0C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skip-throttle.decorator.js","sourceRoot":"","sources":["../../src/decorators/skip-throttle.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttle.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/throttle.decorator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,eAAe,qDACN,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttle.decorator.js","sourceRoot":"","sources":["../../src/decorators/throttle.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAuB,EAAE,EAAE,CAClD,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,GACf,MAAM,8BAA8B,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEtD,QAAQ;AACR,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAmB1D,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,GACf,MAAM,8BAA8B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttler.constants.d.ts","sourceRoot":"","sources":["../src/throttler.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,cAAc,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttler.constants.js","sourceRoot":"","sources":["../src/throttler.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttler.guard.d.ts","sourceRoot":"","sources":["../src/throttler.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAKjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAkBrE,qBACa,cAAe,YAAW,WAAW;IAYnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAZ5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAEsB;gBAGL,OAAO,EAAE,sBAAsB,EAC1D,SAAS,EAAE,SAAS;IAejC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiE9D,OAAO,CAAC,iBAAiB;CAe1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttler.guard.js","sourceRoot":"","sources":["../src/throttler.guard.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttler.interfaces.d.ts","sourceRoot":"","sources":["../src/throttler.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC;IACvE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,sBAAsB,IAClB,sBAAsB,GACtB,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;IAC5E,WAAW,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,CACX,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC9D,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttler.interfaces.js","sourceRoot":"","sources":["../src/throttler.interfaces.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttler.module.d.ts","sourceRoot":"","sources":["../src/throttler.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAGjE,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,wBAAwB,CAAC;AAEhC,qBACa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,sBAA2B,GAAG,aAAa;IAYnE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa;IAWlE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAiBnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAmB1C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttler.module.js","sourceRoot":"","sources":["../src/throttler.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAiB,MAAM,EAAY,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,UAAkC,EAAE;QACjD,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,cAAc;aACf;YACD,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAA8B;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;YACzC,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;SAC7C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAA8B;QAE9B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO;gBACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;gBACxC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;aAC1D,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,MAAM,CAAC,0BAA0B,CACvC,OAA8B;QAE9B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;QACvD,OAAO;YACL,OAAO,EAAE,iBAAiB;YAC1B,UAAU,EAAE,CAAC,OAAgC,EAAE,EAAE,CAC/C,OAAO,CAAC,sBAAsB,EAAE;YAClC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF,CAAA;AA5DY,eAAe;IAD3B,MAAM,CAAC,EAAE,CAAC;GACE,eAAe,CA4D3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"trackers.d.ts","sourceRoot":"","sources":["../src/trackers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAE5C;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA6BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CA6ClF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"trackers.js","sourceRoot":"","sources":["../src/trackers.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes