UNPKG

@myria/airdrop-js

Version:

Airdrop in L1 with claim based approach

32 lines 1.91 kB
"use strict"; /** * Common module. * @module Common */ Object.defineProperty(exports, "__esModule", { value: true }); exports.retry = void 0; /** * Attempts to execute a function that returns a promise and retries if the function throws an error. * * @param {Function} fn - A function that returns a promise to be executed. * @param {RetryOptions} options - Configuration options for the retry behavior. * @returns {Promise<void>} The result of the function execution if successful. */ async function retry(fn, options = {}) { const { retries = 1, delay = 0 } = options; let lastError = null; for (let i = 0; i < retries; i++) { try { return await fn(i); } catch (error) { lastError = error; if (delay > 0) { await new Promise((resolve) => setTimeout(resolve, delay)); } } } throw lastError; } exports.retry = retry; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL1JldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQUlIOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxLQUFLLENBQ3ZCLEVBQXNDLEVBQ3RDLFVBQXdCLEVBQUU7SUFFMUIsTUFBTSxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUMzQyxJQUFJLFNBQVMsR0FBaUIsSUFBSSxDQUFDO0lBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUM7WUFDRCxPQUFPLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsU0FBUyxHQUFHLEtBQWMsQ0FBQztZQUMzQixJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDWixNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0QsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxTQUFTLENBQUM7QUFDcEIsQ0FBQztBQWpCRCxzQkFpQkMifQ==