{
  "version": 3,
  "sources": ["../../src/utils/retryMultipleTimes.ts"],
  "sourcesContent": ["import { sleep } from './asyncActions';\n\ninterface Options {\n  retries: number;\n  delay?: number;\n}\n\nconst executeAsyncCall = async (\n  cb: (..._args: any[]) => any,\n  options: Options,\n  args: any[],\n  retries = 0\n): Promise<any | null> => {\n  try {\n    return await cb(...args);\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  } catch (error) {\n    if (retries < options.retries) {\n      if (options?.delay != null) {\n        await sleep(options.delay);\n      }\n\n      return await executeAsyncCall(cb, options, args, retries + 1);\n    }\n\n    return null;\n  }\n};\n\nexport const retryMultipleTimes =\n  (\n    cb: (..._args: any[]) => any,\n    options: Options = { retries: 5, delay: 500 }\n  ) =>\n  async (...args: any[]) => {\n    return await executeAsyncCall(cb, options, args);\n  };\n"],
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsB,0BAOtB,MAAMC,EAAmB,MACvBC,EACAC,EACAC,EACAC,EAAU,IACc,CACxB,GAAI,CACF,OAAO,MAAMH,EAAG,GAAGE,CAAI,CAEzB,MAAgB,CACd,OAAIC,EAAUF,EAAQ,SAChBA,GAAS,OAAS,MACpB,QAAM,SAAMA,EAAQ,KAAK,EAGpB,MAAMF,EAAiBC,EAAIC,EAASC,EAAMC,EAAU,CAAC,GAGvD,IACT,CACF,EAEaP,EACX,CACEI,EACAC,EAAmB,CAAE,QAAS,EAAG,MAAO,GAAI,IAE9C,SAAUC,IACD,MAAMH,EAAiBC,EAAIC,EAASC,CAAI",
  "names": ["retryMultipleTimes_exports", "__export", "retryMultipleTimes", "__toCommonJS", "import_asyncActions", "executeAsyncCall", "cb", "options", "args", "retries"]
}
