ultisuite-client/lib/admin/format-bytes.ts
2026-06-07 21:55:42 +02:00

19 lines
592 B
TypeScript

const UNITS = ["o", "Ko", "Mo", "Go", "To"] as const
export function formatBytes(bytes: number, decimals = 1): string {
if (!Number.isFinite(bytes) || bytes < 0) return "—"
if (bytes === 0) return "0 o"
const k = 1024
const i = Math.min(Math.floor(Math.log(bytes) / Math.log(k)), UNITS.length - 1)
const value = bytes / Math.pow(k, i)
return `${value.toFixed(decimals)} ${UNITS[i]}`
}
export function gibToBytes(gib: number): number {
return Math.round(gib * 1024 * 1024 * 1024)
}
export function bytesToGib(bytes: number): number {
return bytes / (1024 * 1024 * 1024)
}