diff --git a/src/helpers/reject-after.ts b/src/helpers/reject-after.ts index 26cebc0..c6bcb1b 100644 --- a/src/helpers/reject-after.ts +++ b/src/helpers/reject-after.ts @@ -1,6 +1,10 @@ import { setTimeout } from "node:timers/promises" +import { toError } from "./to-error.js" -export async function rejectAfter(timeMs: number) { +export async function rejectAfter( + timeMs: number, + error: unknown = `rejected after ${timeMs}ms`, +): Promise { await setTimeout(timeMs) - return Promise.reject(`rejected after ${timeMs}ms`) + return Promise.reject(toError(error)) } diff --git a/src/helpers/wait-for-with-timeout.ts b/src/helpers/wait-for-with-timeout.ts index 66f5319..6a93e85 100644 --- a/src/helpers/wait-for-with-timeout.ts +++ b/src/helpers/wait-for-with-timeout.ts @@ -5,6 +5,7 @@ import { waitFor } from "./wait-for.js" export function waitForWithTimeout( condition: () => MaybePromise, timeout = 1000, + errorMessage = `timed out after ${timeout}ms`, ) { - return Promise.race([waitFor(condition), rejectAfter(timeout)]) + return Promise.race([waitFor(condition), rejectAfter(timeout, errorMessage)]) }