(
fn: () => Promise<T>,
{ timeout = ASSERTION_TIMEOUT, delay = 5 }: { timeout?: number; delay?: number } = {},
)
| 660 | } |
| 661 | |
| 662 | export async function retryAssertion<T>( |
| 663 | fn: () => Promise<T>, |
| 664 | { timeout = ASSERTION_TIMEOUT, delay = 5 }: { timeout?: number; delay?: number } = {}, |
| 665 | ) { |
| 666 | let end = Date.now() + timeout |
| 667 | let error: any |
| 668 | while (Date.now() < end) { |
| 669 | try { |
| 670 | return await fn() |
| 671 | } catch (err) { |
| 672 | Error.captureStackTrace(err, retryAssertion) |
| 673 | error = err |
| 674 | await new Promise((resolve) => setTimeout(resolve, delay)) |
| 675 | } |
| 676 | } |
| 677 | throw error |
| 678 | } |
| 679 | |
| 680 | export async function fetchStyles(base: string, path = '/'): Promise<string> { |
| 681 | while (base.endsWith('/')) { |
no outgoing calls
no test coverage detected