hassio-nextcloud-backup/nextcloud_backup/rootfs/opt/nextcloud_backup/tools/toolbox.js
Sébastien Clément ec957041e1
🔨 Migrate all code to ESM (#124)
* 🔨 Convert everything to es6 modules

* 🔨 Cath in manual backup

* 🔨 Change status storage method

* 🔨 Move token to static in hassioApiTools

* 🚑 Fix crash on backup upload to ha

* 🚑 Fix multiple upload

* 🔨 Add logs for protected

* 🔨 Catch some errors
2022-04-30 16:19:31 +02:00

22 lines
633 B
JavaScript

// Found on Stackoverflow, perfect code :D https://stackoverflow.com/a/14919494/8654475
function humanFileSize(bytes, si = false, dp = 1) {
const thresh = si ? 1000 : 1024;
if (Math.abs(bytes) < thresh) {
return bytes + " B";
}
const units = si ? ["kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"] : ["KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"];
let u = -1;
const r = 10 ** dp;
do {
bytes /= thresh;
++u;
} while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);
return bytes.toFixed(dp) + " " + units[u];
}
export { humanFileSize } ;