(promise: Promise<T>, ms: number)
| 7 | import { call } from './export.js' |
| 8 | |
| 9 | async function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> { |
| 10 | let timer: ReturnType<typeof setTimeout> | undefined |
| 11 | try { |
| 12 | return await Promise.race([ |
| 13 | promise, |
| 14 | new Promise<never>((_, reject) => { |
| 15 | timer = setTimeout( |
| 16 | () => reject(new Error(`Timed out after ${ms}ms`)), |
| 17 | ms, |
| 18 | ) |
| 19 | }), |
| 20 | ]) |
| 21 | } finally { |
| 22 | if (timer) clearTimeout(timer) |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | describe('/export command', () => { |
| 27 | const tempDirs: string[] = [] |