UNPKG

@microsoft/teams.apps

Version:

<p> <a href="https://www.npmjs.com/package/@microsoft/teams.apps" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.apps/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.apps?activeTab=code

32 lines • 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.retry = retry; async function retry(factory, options) { const max = options?.max ?? 5; const delay = options?.delay ?? 500; const log = options?.logger?.child('retry'); const nonRetryable = options?.nonRetryable ?? []; try { return await factory(); } catch (err) { if (nonRetryable.some((type) => err instanceof type)) { log?.debug('non-retryable error, not retrying'); throw err; } if (max > 1) { log?.debug(`delaying ${delay}ms...`); await new Promise((resolve) => setTimeout(resolve, delay)); log?.debug('retrying...'); return retry(factory, { max: max - 1, delay: delay * 2, logger: options?.logger, nonRetryable, }); } log?.error(err); throw err; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvcHJvbWlzZXMvcmV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEwQkEsc0JBNkJDO0FBN0JNLEtBQUssVUFBVSxLQUFLLENBQVUsT0FBeUIsRUFBRSxPQUFzQjtJQUNwRixNQUFNLEdBQUcsR0FBRyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUcsQ0FBQztJQUNwQyxNQUFNLEdBQUcsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxNQUFNLFlBQVksR0FBRyxPQUFPLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUVqRCxJQUFJLENBQUM7UUFDSCxPQUFPLE1BQU0sT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JELEdBQUcsRUFBRSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUNoRCxNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNaLEdBQUcsRUFBRSxLQUFLLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMzRCxHQUFHLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDcEIsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO2dCQUNaLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQztnQkFDaEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNO2dCQUN2QixZQUFZO2FBQ2IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsTUFBTSxHQUFHLENBQUM7SUFDWixDQUFDO0FBQ0gsQ0FBQyJ9