move helpers to new workspace folder

This commit is contained in:
itsMapleLeaf
2022-10-14 13:22:55 -05:00
parent acbf21842f
commit 0be321b64e
29 changed files with 284 additions and 36 deletions

View File

@@ -0,0 +1,21 @@
import { setTimeout } from "node:timers/promises"
const maxTime = 500
const waitPeriod = 50
export async function retryWithTimeout<T>(
callback: () => Promise<T> | T,
): Promise<T> {
const startTime = Date.now()
// eslint-disable-next-line no-constant-condition
while (true) {
try {
return await callback()
} catch (error) {
if (Date.now() - startTime > maxTime) {
throw error
}
await setTimeout(waitPeriod)
}
}
}