parseSizeToBytes function
Implementation
int? parseSizeToBytes(String input) {
final RegExpMatch? m = _sizeRegex.firstMatch(input.trim());
if (m == null) return null;
final String? g1 = m.group(1);
if (g1 == null) return null;
final double? value = double.tryParse(g1);
if (value == null || value < 0) return null;
final String unit = (m.group(2) ?? '').toUpperCase().replaceAll(_kUnitB, '');
const Map<String, int> factors = <String, int>{
'': 1,
'K': 1024,
'M': 1048576,
'G': 1073741824,
'T': 1099511627776,
'P': 1125899906842624,
'E': 1152921504606846976,
};
final int? factor = factors[unit];
if (factor == null) return null;
return (value * factor).round();
}