19 lines
381 B
TypeScript
19 lines
381 B
TypeScript
|
|
interface RateLimiterSnapshot {
|
||
|
|
refreshedAt: number;
|
||
|
|
bucketCount: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
const state: RateLimiterSnapshot = {
|
||
|
|
refreshedAt: 0,
|
||
|
|
bucketCount: 0,
|
||
|
|
};
|
||
|
|
|
||
|
|
export function touchRateLimiter(bucketCount: number): void {
|
||
|
|
state.refreshedAt = Date.now();
|
||
|
|
state.bucketCount = bucketCount;
|
||
|
|
}
|
||
|
|
|
||
|
|
export function getRateLimiterSnapshot(): RateLimiterSnapshot {
|
||
|
|
return { ...state };
|
||
|
|
}
|