(promise: Promise<T>, ms: number)
| 1 | export function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> { |
| 2 | let timeout: NodeJS.Timeout |
| 3 | return Promise.race([ |
| 4 | promise.then((result) => { |
| 5 | clearTimeout(timeout) |
| 6 | return result |
| 7 | }), |
| 8 | new Promise<never>((_, reject) => { |
| 9 | timeout = setTimeout(() => { |
| 10 | reject(new Error(`Operation timed out after ${ms}ms`)) |
| 11 | }, ms) |
| 12 | }), |
| 13 | ]) |
| 14 | } |
no outgoing calls
no test coverage detected