export function formatFileSize( bytes: number, options: { bytesUnit?: 'B' | 'Bytes' precision?: number trimTrailingZeros?: boolean } = {} ): string { const { bytesUnit = 'B', precision = 1, trimTrailingZeros = false } = options if (bytes === 0) return `0 ${bytesUnit}` const units = ['B', 'KB', 'MB', 'GB'] const i = Math.floor(Math.log(bytes) / Math.log(1024)) units[0] = bytesUnit const value = (bytes / 1024 ** i).toFixed(i === 0 ? 0 : precision) return `${trimTrailingZeros ? Number.parseFloat(value) : value} ${units[i]}` }