packages method

Iterable<(String, String?)> packages(
  1. ArgResults argResults
)

Returns a list of packages and their versions (if specified).

Implementation

Iterable<(String, String?)> packages(ArgResults argResults) sync* {
  for (final package in argResults.rest) {
    final version = package.split(':');
    switch (version) {
      case [final String package, final String version]:
        yield (package, version);
      case [final String package]:
        yield (package, null);
      default:
        throw ArgumentError('Invalid package: $package');
    }
  }
}