client-twelve-rapid
Version:
Complete TypeScript library for Twelve Data API with 154 endpoints, technical indicators, and intelligent rate limiting
39 lines (38 loc) • 877 B
TypeScript
/**
* Rate Limiter for Twelve Data API
* Implements token bucket algorithm to limit requests to 3000 per minute
*/
export declare class RateLimiter {
private tokens;
private maxTokens;
private refillRate;
private lastRefill;
private requestQueue;
private isProcessing;
constructor(maxRequestsPerMinute?: number);
/**
* Refill tokens based on elapsed time
*/
private refillTokens;
/**
* Process the request queue
*/
private processQueue;
/**
* Acquire a token for making a request
* Returns a promise that resolves when a token is available
*/
acquireToken(): Promise<void>;
/**
* Get current token count
*/
getTokenCount(): number;
/**
* Get queue length
*/
getQueueLength(): number;
/**
* Reset the rate limiter
*/
reset(): void;
}