getInt function

int getInt(
  1. String name,
  2. Config config, {
  3. int defaultTo = 0,
  4. int? max,
  5. ArgResults? gRes,
  6. ArgResults? aRes,
})

get bool input, order: define -> env -> yaml -> globalResults -> argResults

Implementation

int getInt(
  String name,
  Config config, {
  int defaultTo = 0,
  int? max,
  ArgResults? gRes,
  ArgResults? aRes,
}) {
  int? value = config.optionalInt(name);
  if (value != null) return value;

  if (name.contains(dotDelimiter)) name = name.split(dotDelimiter).last;
  value ??= int.tryParse(gRes?.option(name) ?? '');
  value ??= int.tryParse(aRes?.option(name) ?? '');
  value ??= defaultTo;
  if (max != null && value >= max) {
    throw UsageException('err: invalid $name', '');
  }

  return value;
}