packageSelection function

({int? concurrency, bool? dependencyOrder, bool? failFast, List<String> filters}) packageSelection(
  1. ArgResults results
)

Reads the package selection options from results. Throws a UsageException when --concurrency is not a whole number of at least 1.

Implementation

({
  List<String> filters,
  int? concurrency,
  bool? failFast,
  bool? dependencyOrder,
})
packageSelection(ArgResults results) {
  final rawConcurrency = results.option('concurrency');
  final concurrency = rawConcurrency == null
      ? null
      : int.tryParse(rawConcurrency);
  if (rawConcurrency != null && (concurrency == null || concurrency < 1)) {
    throw UsageException(
      '--concurrency needs a whole number of at least 1, got '
          '"$rawConcurrency".',
      '',
    );
  }
  return (
    filters: results.multiOption('filter'),
    concurrency: concurrency,
    failFast: results.flag('fail-fast') ? true : null,
    dependencyOrder: results.flag('dependency-order') ? true : null,
  );
}