botv12/util/memoryconvert.js

17 lines
458 B
JavaScript
Raw Normal View History

2024-12-18 15:04:53 -03:00
const UNITS = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
const THRESHOLD = 1000; // KiB = 1024; KB = 1000
2024-10-23 23:35:21 -04:00
export default function memoryconvert (bytes) {
2024-12-18 15:04:53 -03:00
for (let i = 0; i < UNITS.length; i++) {
const last = i === (UNITS.length - 1);
const max = THRESHOLD ** (i + 1);
if (!last && bytes >= max) continue;
const divisor = THRESHOLD ** i;
const unit = UNITS[i];
const div = bytes / divisor;
return `${+div.toFixed(2)} ${unit}`
2024-10-23 23:35:21 -04:00
}
2024-11-19 20:05:19 -05:00
}