lago-javascript-client
Version:
Lago JavaScript API Client
24 lines (23 loc) • 880 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LagoRateLimitError = void 0;
/**
* Error class for rate limit (HTTP 429) responses
*/
class LagoRateLimitError extends Error {
limit;
remaining;
reset; // seconds until window resets
retryAfter; // milliseconds to wait before retrying
constructor(limit, remaining, reset) {
super(`Rate limit exceeded. Limit: ${limit}, Remaining: ${remaining}, Reset in: ${reset}s`);
this.name = "LagoRateLimitError";
this.limit = limit;
this.remaining = remaining;
this.reset = reset;
this.retryAfter = reset * 1000; // Convert seconds to milliseconds
// Maintain proper prototype chain for instanceof checks
Object.setPrototypeOf(this, LagoRateLimitError.prototype);
}
}
exports.LagoRateLimitError = LagoRateLimitError;