import { sleep } from './sleep'; /** Ensures a promise takes at least a certain number of milliseconds to resolve */ export async function minPromiseMillis(promise: Promise, millis: number) { const start = Date.now(); let result; let err; try { result = await promise; } catch (e) { err = e; const delayFor = millis - (Date.now() - start); await sleep(delayFor); throw err; } const delayFor = millis - (Date.now() - start); await sleep(delayFor); return result; }