export { createDeferredCore as createDeferred } from "../../src/shared/deferred.js"; export async function withTestTimeout( promise: PromiseLike, timeoutMs: number, message: string, ): Promise { let timeout: ReturnType | undefined; try { return await Promise.race([ Promise.resolve(promise), new Promise((_resolve, reject) => { timeout = setTimeout(() => reject(new Error(message)), timeoutMs); }), ]); } finally { if (timeout !== undefined) { clearTimeout(timeout); } } }