(ms: number, signal?: AbortSignal)
| 325 | } |
| 326 | |
| 327 | function abortableSleep(ms: number, signal?: AbortSignal): Promise<void> { |
| 328 | if (signal?.aborted === true) return Promise.reject(abortError()); |
| 329 | return new Promise((resolve, reject) => { |
| 330 | const timer = setTimeout(resolve, ms); |
| 331 | timer.unref?.(); |
| 332 | const onAbort = (): void => { |
| 333 | clearTimeout(timer); |
| 334 | reject(abortError()); |
| 335 | }; |
| 336 | signal?.addEventListener('abort', onAbort, { once: true }); |
| 337 | }); |
| 338 | } |
| 339 | |
| 340 | function isAbortError(error: unknown): boolean { |
| 341 | return error instanceof Error && error.name === 'AbortError'; |
nothing calls this directly
no test coverage detected