@convex-dev/rate-limiter
Version:
A rate limiter component for Convex. Define and use application-layer rate limits. Type-safe, transactional, fair, safe, and configurable sharding to scale.
66 lines • 1.94 kB
TypeScript
export declare const rateLimit: import("convex/server").RegisteredMutation<"public", {
key?: string | undefined;
count?: number | undefined;
reserve?: boolean | undefined;
throws?: boolean | undefined;
name: string;
config: {
capacity?: number | undefined;
maxReserved?: number | undefined;
shards?: number | undefined;
kind: "token bucket";
rate: number;
period: number;
} | {
capacity?: number | undefined;
maxReserved?: number | undefined;
shards?: number | undefined;
start?: number | undefined;
kind: "fixed window";
rate: number;
period: number;
};
}, Promise<{
retryAfter?: number | undefined;
ok: true;
} | {
ok: false;
retryAfter: number;
}>>;
export declare const checkRateLimit: import("convex/server").RegisteredQuery<"public", {
key?: string | undefined;
count?: number | undefined;
reserve?: boolean | undefined;
throws?: boolean | undefined;
name: string;
config: {
capacity?: number | undefined;
maxReserved?: number | undefined;
shards?: number | undefined;
kind: "token bucket";
rate: number;
period: number;
} | {
capacity?: number | undefined;
maxReserved?: number | undefined;
shards?: number | undefined;
start?: number | undefined;
kind: "fixed window";
rate: number;
period: number;
};
}, Promise<{
retryAfter?: number | undefined;
ok: true;
} | {
ok: false;
retryAfter: number;
}>>;
export declare const resetRateLimit: import("convex/server").RegisteredMutation<"public", {
key?: string | undefined;
name: string;
}, Promise<void>>;
export declare const clearAll: import("convex/server").RegisteredMutation<"public", {
before?: number | undefined;
}, Promise<void>>;
//# sourceMappingURL=lib.d.ts.map