Files
Homarr/src/tools/bytesHelper.ts
2023-01-23 01:34:36 +09:00

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'];