UNPKG

ts-web-scraper

Version:

A powerful web scraper for both static and client-side rendered sites using only Bun native APIs

46 lines 1.33 kB
export declare function getGlobalRateLimiter(options?: RateLimiterOptions): RateLimiter; export declare function resetGlobalRateLimiter(): void; /** * Rate Limiter using Token Bucket Algorithm * * Allows smooth rate limiting with burst support. * Uses ONLY Bun native APIs - no external dependencies! */ export declare interface RateLimiterOptions { requestsPerSecond?: number requestsPerMinute?: number requestsPerHour?: number burstSize?: number debug?: boolean } export declare interface RateLimiterStats { totalRequests: number throttledRequests: number currentRate: number remainingCapacity: number nextRefillTime: number } /** * Token Bucket Rate Limiter * * Tokens are added at a constant rate and consumed by requests. * Allows bursts up to burstSize. */ export declare class RateLimiter { private tokens: number; readonly private maxTokens: number; readonly private refillRate: number; private lastRefill: number; private totalRequests: any; private throttledRequests: any; readonly private debug: boolean; constructor(options?: RateLimiterOptions); private refill(): void; throttle(): Promise<void>; tryConsume(): boolean; getCurrentRate(): number; getRemainingCapacity(): number; getNextRefillTime(): number; getStats(): RateLimiterStats; reset(): void; }