( max: Duration = '60s', delay: Duration = '100ms' )
| 250 | } |
| 251 | |
| 252 | export function* expBackoff( |
| 253 | max: Duration = '60s', |
| 254 | delay: Duration = '100ms' |
| 255 | ): Generator<number, void, unknown> { |
| 256 | const maxMs = parseDuration(max) |
| 257 | const randMs = parseDuration(delay) |
| 258 | let n = 0 |
| 259 | while (true) { |
| 260 | yield Math.min(randMs * 2 ** n++, maxMs) |
| 261 | } |
| 262 | } |
| 263 | |
| 264 | export async function spinner<T>(callback: () => T): Promise<T> |
| 265 | export async function spinner<T>(title: string, callback: () => T): Promise<T> |
no test coverage detected
searching dependent graphs…