getSizes function
get size input, order: define -> env -> yaml -> argResults
Implementation
List<int> getSizes(Config config, ArgResults? gRes) {
List<int> sizes = [];
String? sizeGe = config.optionalString('size_ge');
String? sizeLe = config.optionalString('size_le');
sizeGe ??= gRes?.option('size_ge');
sizeLe ??= gRes?.option('size_le');
if (sizeLe case String sizeLe_ when sizeLe_.isNotEmpty) {
final intSizeLe = parseHumanReadableSize(sizeLe_);
if (intSizeLe == null) throw UsageException('err: invalid size_le', '');
sizes = [0, intSizeLe];
}
if (sizeGe case String sizeGe_ when sizeGe_.isNotEmpty) {
final intSizeGe = parseHumanReadableSize(sizeGe_);
if (intSizeGe == null) throw UsageException('err: invalid size_ge', '');
sizes.insert(0, intSizeGe);
}
if (sizes.length > 1 && sizes.first >= sizes.last) {
throw UsageException('err: invalid size_ge and size_le', '');
}
return sizes;
}