accepte error message for wait/reject helpers
This commit is contained in:
@@ -1,6 +1,10 @@
|
|||||||
import { setTimeout } from "node:timers/promises"
|
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)
|
await setTimeout(timeMs)
|
||||||
return Promise.reject(`rejected after ${timeMs}ms`)
|
return Promise.reject(toError(error))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { waitFor } from "./wait-for.js"
|
|||||||
export function waitForWithTimeout(
|
export function waitForWithTimeout(
|
||||||
condition: () => MaybePromise<boolean>,
|
condition: () => MaybePromise<boolean>,
|
||||||
timeout = 1000,
|
timeout = 1000,
|
||||||
|
errorMessage = `timed out after ${timeout}ms`,
|
||||||
) {
|
) {
|
||||||
return Promise.race([waitFor(condition), rejectAfter(timeout)])
|
return Promise.race([waitFor(condition), rejectAfter(timeout, errorMessage)])
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user