operator > method

bool operator >(
  1. Version newVersion
)

Implementation

bool operator >(Version newVersion) {
  var isHigher = false;

  try {
    final currentVSegments = value.split('.');
    final newVSegments = newVersion.value.split('.');
    final maxLength = max(currentVSegments.length, newVSegments.length);
    for (var i = 0; i < maxLength; i++) {
      final newVSegment =
          i < newVSegments.length ? int.parse(newVSegments[i]) : 0;
      final currentVSegment =
          i < currentVSegments.length ? int.parse(currentVSegments[i]) : 0;
      isHigher = currentVSegment > newVSegment;
      if (newVSegment != currentVSegment) {
        break;
      }
    }
  } on Exception catch (_) {
    // this should silently fail
    // we will return false in case of parsing error
  }
  return isHigher;
}