accepte error message for wait/reject helpers

This commit is contained in:
MapleLeaf
2021-12-09 04:10:04 -06:00
parent 9fb58ab471
commit a66eb71200
2 changed files with 8 additions and 3 deletions

View File

@@ -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<never> {
await setTimeout(timeMs)
return Promise.reject(`rejected after ${timeMs}ms`)
return Promise.reject(toError(error))
}

View File

@@ -5,6 +5,7 @@ import { waitFor } from "./wait-for.js"
export function waitForWithTimeout(
condition: () => MaybePromise<boolean>,
timeout = 1000,
errorMessage = `timed out after ${timeout}ms`,
) {
return Promise.race([waitFor(condition), rejectAfter(timeout)])
return Promise.race([waitFor(condition), rejectAfter(timeout, errorMessage)])
}