iceshrimp-legacy/packages/client/src/filters/bytes.ts
ThatOneCalculator 6b00abf05c
refactor: 🎨 rome
2023-01-12 20:40:33 -08:00

14 lines
353 B
TypeScript

export default (v, digits = 0) => {
if (v == null) return "?";
const sizes = ["B", "KB", "MB", "GB", "TB"];
if (v === 0) return "0";
const isMinus = v < 0;
if (isMinus) v = -v;
const i = Math.floor(Math.log(v) / Math.log(1024));
return (
(isMinus ? "-" : "") +
(v / Math.pow(1024, i)).toFixed(digits).replace(/\.0+$/, "") +
sizes[i]
);
};