{"version":3,"sources":["../../../src/utilities/retry.ts","/home/runner/work/equipped/equipped/dist/cjs/utilities/retry.cjs"],"names":[],"mappings":"AAAA,wHAA8B;AAEvB,MAAM,MAAA,EAAQ,CAAC,EAAA,EAAA,GAA8B,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAA,GAAY,UAAA,CAAW,OAAA,EAAS,EAAE,CAAC,CAAA;AAE7F,MAAM,MAAA,EAAQ,MAAA,CAAU,EAAA,EAA+D,KAAA,EAAe,YAAA,EAAA,GAAyB;AACrI,EAAA,GAAA,CAAI,MAAA,GAAS,CAAA,EAAG,MAAM,IAAI,4BAAA,CAAc,cAAA,EAAgB,EAAE,KAAA,EAAO,aAAa,CAAC,CAAA;AAC/E,EAAA,MAAM,OAAA,EAAS,MAAM,EAAA,CAAG,CAAA;AACxB,EAAA,GAAA,CAAI,MAAA,CAAO,KAAA,IAAS,IAAA,EAAM,OAAO,MAAA,CAAO,KAAA;AACxC,EAAA,MAAM,KAAA,CAAM,YAAY,CAAA;AACxB,EAAA,OAAO,MAAM,KAAA,CAAM,EAAA,EAAI,MAAA,EAAQ,CAAA,EAAG,YAAY,CAAA;AAC/C,CAAA;ACDA;AACE;AACA;AACF,6CAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/utilities/retry.cjs","sourcesContent":["import { EquippedError } from '../errors'\n\nexport const sleep = (ms: number): Promise<void> => new Promise((resolve) => setTimeout(resolve, ms))\n\nexport const retry = async <T>(cb: () => Promise<{ done: true; value: T } | { done: false }>, tries: number, waitTimeInMs: number) => {\n\tif (tries <= 0) throw new EquippedError('out of tries', { tries, waitTimeInMs })\n\tconst result = await cb()\n\tif (result.done === true) return result.value\n\tawait sleep(waitTimeInMs)\n\treturn await retry(cb, tries - 1, waitTimeInMs)\n}\n",null]}