UNPKG

@intlayer/config

Version:

Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.

28 lines 772 B
import { logger } from "./logger.mjs"; const DEFAULT_MAX_RETRY = 3; const DEFAULT_DELAY = 6e4; const retryManager = (fn, { maxRetry = DEFAULT_MAX_RETRY, delay = DEFAULT_DELAY, onError } = {}) => ( // ───────────────────────────────^ returned wrapper function async (...args) => { for (let attempt = 0; ; attempt++) { try { return await fn(...args); } catch (err) { onError?.(err); logger(["Request failed", err], { level: "error" }); if (attempt >= maxRetry) throw err; if (delay > 0) await new Promise((res) => setTimeout(res, delay)); } } } ); export { retryManager }; //# sourceMappingURL=retryManager.mjs.map