@omgovich/firebase-functions-rate-limiter
Version:
JS/TS library that allows you to set per - time, per - user or per - anything limits for calling Firebase cloud functions
17 lines (16 loc) • 871 B
TypeScript
import { FirebaseFunctionsRateLimiterConfiguration } from "./FirebaseFunctionsRateLimiterConfiguration";
import { PersistenceProvider } from "./persistence/PersistenceProvider";
import { TimestampProvider } from "./timestamp/TimestampProvider";
export declare class GenericRateLimiter {
private configuration;
private persistenceProvider;
private timestampProvider;
private debugFn;
constructor(configuration: FirebaseFunctionsRateLimiterConfiguration, persistenceProvider: PersistenceProvider, timestampProvider: TimestampProvider, debugFn?: (msg: string) => void);
isQuotaExceededOrRecordCall(qualifier: string): Promise<boolean>;
isQuotaAlreadyExceededDoNotRecordCall(qualifier: string): Promise<boolean>;
private runTransactionForAnswer;
private selectRecentUsages;
private isQuotaExceeded;
private getTimestampsSeconds;
}