Files
reacord/packages/helpers/wait-for-with-timeout.ts
MapleLeaf e709e3acb5 monorepo
2021-12-16 11:48:18 -06:00

12 lines
367 B
TypeScript

import { rejectAfter } from "./reject-after.js"
import type { MaybePromise } from "./types.js"
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, errorMessage)])
}