import { Awaitable } from '@blackglory/prelude' export function measureElapsedTime( fn: () => T , callback: (elapsedTime: number) => void ): T { const startTime = Date.now() const result = fn() const endTime = Date.now() callback(endTime - startTime) return result } export async function measureElapsedTimeAsync( fn: () => Awaitable , callback: (elapsedTime: number) => Awaitable ): Promise { const startTime = Date.now() const result = await fn() const endTime = Date.now() await callback(endTime - startTime) return result }