Wildberries API TypeScript SDK / <internal> / _TokenBucket
Class: _TokenBucket
Defined in: client/rate-limiter.ts:117
Internal
Internal token bucket implementation for rate limiting.
Implements the token bucket algorithm where:
- A bucket holds up to
capacitytokens - Tokens refill at a steady
refillRateover time - Each request consumes 1 token
- Requests queue when no tokens are available
- Queued requests are processed FIFO when tokens become available
This class is used internally by RateLimiter and not exported.
See
Constructors
Constructor
new _TokenBucket(config: RateLimitConfig): _TokenBucket;Defined in: client/rate-limiter.ts:161
Creates a new token bucket with the specified rate limit configuration.
Parameters
| Parameter | Type | Description |
|---|---|---|
config | RateLimitConfig | Rate limit configuration for this bucket |
Returns
_TokenBucket
Methods
consume()
consume(): Promise<void>;Defined in: client/rate-limiter.ts:211
Attempts to consume a token for a request.
If tokens are available, consumes one immediately and resolves. If no tokens are available, queues the request and returns a Promise that will resolve when a token becomes available.
Queued requests are processed in FIFO order.
Returns
Promise<void>
Promise that resolves when a token has been consumed
Example
const bucket = new TokenBucket({ requestsPerMinute: 6, burstLimit: 1 });
// First request: immediate (token available)
await bucket.consume(); // Resolves immediately
// Second request: queued (no tokens)
await bucket.consume(); // Waits ~10 seconds for token refillgetAvailableTokens()
getAvailableTokens(): number;Defined in: client/rate-limiter.ts:269
Internal
Get the current number of available tokens after refilling.
This method triggers a refill and returns the current token count. Useful for monitoring and debugging.
Returns
number
Current number of available tokens