import type { IRateLimit, RateLimitDecision } from "./rate-limit.interface";

const EPOCH = new Date(0);

export class NoopRateLimit implements IRateLimit {
  async consume(
    _budgetName: string,
    _key: string,
    _weight?: number,
  ): Promise<RateLimitDecision> {
    return { allowed: true, remaining: Infinity, resetAt: EPOCH };
  }

  async reset(_budgetName: string, _key: string): Promise<void> {}
}
