{"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,SAAS,qBAAqB;AAEvB,MAAM,QAAQ,CAAC,OAA8B,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAE7F,MAAM,QAAQ,OAAU,IAA+D,OAAe,iBAAyB;AACrI,MAAI,SAAS,EAAG,OAAM,IAAI,cAAc,gBAAgB,EAAE,OAAO,aAAa,CAAC;AAC/E,QAAM,SAAS,MAAM,GAAG;AACxB,MAAI,OAAO,SAAS,KAAM,QAAO,OAAO;AACxC,QAAM,MAAM,YAAY;AACxB,SAAO,MAAM,MAAM,IAAI,QAAQ,GAAG,YAAY;AAC/C;","names":[]}