mirror of
https://github.com/ajnart/homarr.git
synced 2026-01-17 04:52:15 +01:00
30 lines
711 B
TypeScript
30 lines
711 B
TypeScript
/* eslint-disable no-param-reassign */
|
|
/* eslint-disable no-plusplus */
|
|
/* eslint-disable consistent-return */
|
|
export const bytes = {
|
|
toPerSecondString: (bytes?: number) => {
|
|
if (!bytes) return '-';
|
|
for (let i = 0; i < 4; i++) {
|
|
if (bytes >= 1000 && i !== 3) {
|
|
bytes /= 1000;
|
|
continue;
|
|
}
|
|
|
|
return `${bytes.toFixed(1)} ${perSecondUnits[i]}`;
|
|
}
|
|
},
|
|
toString: (bytes: number) => {
|
|
for (let i = 0; i < 4; i++) {
|
|
if (bytes >= 1024 && i !== 3) {
|
|
bytes /= 1024;
|
|
continue;
|
|
}
|
|
|
|
return `${bytes.toFixed(1)} ${units[i]}`;
|
|
}
|
|
},
|
|
};
|
|
|
|
const perSecondUnits = ['b/s', 'Kb/s', 'Mb/s', 'Gb/s'];
|
|
const units = ['B', 'KiB', 'MiB', 'GiB'];
|