UNPKG

@zkp2p/reclaim-witness-sdk

Version:

<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>

28 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeWithRetries = executeWithRetries; /** * Execute a function, and upon failure -- retry * based on specified options. */ async function executeWithRetries(code, { maxRetries = 3, shouldRetry, logger, }) { let retries = 0; while (retries < maxRetries) { try { const result = await code(retries); return result; } catch (err) { retries += 1; if (retries >= maxRetries) { throw err; } if (!shouldRetry(err)) { throw err; } logger.info({ err, retries }, 'retrying failed operation'); } } throw new Error('retries exhausted'); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZXRyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsZ0RBNEJDO0FBaENEOzs7R0FHRztBQUNJLEtBQUssVUFBVSxrQkFBa0IsQ0FDdkMsSUFBcUMsRUFDckMsRUFDQyxVQUFVLEdBQUcsQ0FBQyxFQUNkLFdBQVcsRUFDWCxNQUFNLEdBQ1k7SUFFbkIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsT0FBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDbEMsT0FBTyxNQUFNLENBQUE7UUFDZCxDQUFDO1FBQUMsT0FBTSxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDLENBQUE7WUFDWixJQUFHLE9BQU8sSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxHQUFHLENBQUE7WUFDVixDQUFDO1lBRUQsSUFBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLEdBQUcsQ0FBQTtZQUNWLENBQUM7WUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLDJCQUEyQixDQUFDLENBQUE7UUFDM0QsQ0FBQztJQUNGLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUE7QUFDckMsQ0FBQyJ9