RocketChat/Rocket.Chat

View on GitHub
apps/meteor/client/lib/utils/formatBytes.ts

Summary

Maintainability
A
0 mins
Test Coverage
export const formatBytes = (bytes: number, decimals?: number): string => {
    if (bytes === 0) {
        return '0 Bytes';
    }

    const k = 1024;
    const dm = decimals || 0;

    const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];

    const i = Math.floor(Math.log(bytes) / Math.log(k));

    return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
};