UNPKG

@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
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; }