From a66eb71200034d79af0363ec679e379bb0c2276e Mon Sep 17 00:00:00 2001 From: MapleLeaf <19603573+itsMapleLeaf@users.noreply.github.com> Date: Thu, 9 Dec 2021 04:10:04 -0600 Subject: [PATCH] accepte error message for wait/reject helpers --- src/helpers/reject-after.ts | 8 ++++++-- src/helpers/wait-for-with-timeout.ts | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) 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)]) }