core/source/logic/helpers/misc.ts

33 lines
687 B
TypeScript
Raw Normal View History

namespace _heimdall.helpers.misc
{
/**
*/
export function format_bytes(
bytes : int
) : string
{
const units : Array<{label : string; digits : int;}> = [
{"label": "B", "digits": 0},
{"label": "KB", "digits": 1},
{"label": "MB", "digits": 1},
{"label": "GB", "digits": 1},
{"label": "TB", "digits": 1},
{"label": "PB", "digits": 1},
]
let number_ : int = bytes;
let index : int = 0;
while ((number_ >= 1000) && (index < (units.length - 1))) {
number_ /= 1000;
index += 1;
}
return lib_plankton.string.coin(
"{{number}} {{label}}",
{
"number": number_.toFixed(units[index].digits),
"label": units[index].label,
}
);
}
}