getLatestStable method

String? getLatestStable(
  1. List<String> versions
)

Get the latest non-prerelease version from a list.

Returns null if no stable versions are found.

Implementation

String? getLatestStable(List<String> versions) {
  final stable = versions.where((v) {
    try {
      return !Version.parse(v).isPreRelease;
    } catch (_) {
      return false;
    }
  }).toList()
    ..sort((a, b) => Version.parse(a).compareTo(Version.parse(b)));
  return stable.isEmpty ? null : stable.last;
}