primary static method

Returns the primary version out of versions.

This is the highest-numbered stable (non-prerelease) version. If there are no stable versions, it's just the highest-numbered version.

If versions is empty, throws a StateError.

Implementation

static PackageVersionNumberGeneralLibrary primary(
    List<PackageVersionNumberGeneralLibrary> versions) {
  var primary = versions.first;
  for (var version in versions.skip(1)) {
    if ((!version.isPreRelease && primary.isPreRelease) ||
        (version.isPreRelease == primary.isPreRelease && version > primary)) {
      primary = version;
    }
  }
  return primary;
}