{"version":3,"sources":["../../../src/utilities/retry.ts"],"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"],"mappings":"AAAA,OAAS,iBAAAA,MAAqB,YAEvB,MAAMC,EAASC,GAA8B,IAAI,QAASC,GAAY,WAAWA,EAASD,CAAE,CAAC,EAEvFE,EAAQ,MAAUC,EAA+DC,EAAeC,IAAyB,CACrI,GAAID,GAAS,EAAG,MAAM,IAAIN,EAAc,eAAgB,CAAE,MAAAM,EAAO,aAAAC,CAAa,CAAC,EAC/E,MAAMC,EAAS,MAAMH,EAAG,EACxB,OAAIG,EAAO,OAAS,GAAaA,EAAO,OACxC,MAAMP,EAAMM,CAAY,EACjB,MAAMH,EAAMC,EAAIC,EAAQ,EAAGC,CAAY,EAC/C","names":["EquippedError","sleep","ms","resolve","retry","cb","tries","waitTimeInMs","result"]}