in packages/devtools_app/lib/src/shared/version.dart [187:212]
int compareTo(other) {
if (major == other.major &&
minor == other.minor &&
patch == other.patch &&
(preReleaseMajor ?? 0) == (other.preReleaseMajor ?? 0) &&
(preReleaseMinor ?? 0) == (other.preReleaseMinor ?? 0)) {
return 0;
}
if (major > other.major ||
(major == other.major && minor > other.minor) ||
(major == other.major && minor == other.minor && patch > other.patch)) {
return 1;
}
if (major == other.major && minor == other.minor && patch == other.patch) {
if (isPreRelease != other.isPreRelease) {
return isPreRelease ? -1 : 1;
}
if (preReleaseMajor > other.preReleaseMajor ||
(preReleaseMajor == other.preReleaseMajor &&
(preReleaseMinor ?? 0) > (other.preReleaseMinor ?? 0))) {
return 1;
}
}
return -1;
}