formatBytes function
Returns text representation of a provided bytes value (e.g. 1kB, 1GB).
Implementation
String formatBytes(int size, [int fractionDigits = 2]) {
if (size <= 0) return '0 B';
final multiple = (log(size) / log(1024)).floor();
return '${(size / pow(1024, multiple)).toStringAsFixed(fractionDigits)} ${[
'B',
'kB',
'MB',
'GB',
'TB',
'PB',
'EB',
'ZB',
'YB',
][multiple]}';
}