mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-03-09 15:40:26 +00:00
15 lines
439 B
TypeScript
15 lines
439 B
TypeScript
const FORMAT = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
|
|
export const formatBytes = (bytes: number): string => {
|
|
if (!Number.isFinite(bytes) || isNaN(bytes) || bytes < 0) {
|
|
return `N/A ${FORMAT[0]}`;
|
|
}
|
|
|
|
const byteKBase = 1024;
|
|
|
|
const base = Math.floor(Math.log(bytes) / Math.log(byteKBase));
|
|
|
|
const formatedByte = bytes / byteKBase ** base;
|
|
|
|
return `${Math.trunc(formatedByte * 10) / 10} ${FORMAT[base]}`;
|
|
};
|