import {isNetworkError} from 'lib/strings/errors' export async function retry

( retries: number, cond: (err: any) => boolean, fn: () => Promise

, ): Promise

{ let lastErr while (retries > 0) { try { return await fn() } catch (e: any) { lastErr = e if (cond(e)) { retries-- continue } throw e } } throw lastErr } export async function networkRetry

( retries: number, fn: () => Promise

, ): Promise

{ return retry(retries, isNetworkError, fn) }