{"version":3,"sources":["../src/lib/retry.tsx"],"sourcesContent":["export function retry<T>(\n  fn: () => Promise<T>,\n  retriesLeft: number = 2,\n  interval: number = 200,\n  backoff: number = 1.5,\n): Promise<T> {\n  return new Promise((resolve, reject) => {\n    fn()\n      .then(resolve)\n      .catch((error) => {\n        if (retriesLeft === 1) {\n          reject(error);\n          return;\n        }\n\n        setTimeout(() => {\n          retry(fn, retriesLeft - 1, interval * backoff, backoff)\n            .then(resolve)\n            .catch(reject);\n        }, interval);\n      });\n  });\n}\n"],"mappings":";AAAO,SAAS,MACd,IACA,cAAsB,GACtB,WAAmB,KACnB,UAAkB,KACN;AACZ,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,OAAG,EACA,KAAK,OAAO,EACZ,MAAM,CAAC,UAAU;AAChB,UAAI,gBAAgB,GAAG;AACrB,eAAO,KAAK;AACZ;AAAA,MACF;AAEA,iBAAW,MAAM;AACf,cAAM,IAAI,cAAc,GAAG,WAAW,SAAS,OAAO,EACnD,KAAK,OAAO,EACZ,MAAM,MAAM;AAAA,MACjB,GAAG,QAAQ;AAAA,IACb,CAAC;AAAA,EACL,CAAC;AACH;","names":[]}