compareVersions function
Compares two dotted version strings numerically, e.g. 6.10.0 > 6.3.3.
Implementation
int compareVersions(String a, String b) {
final partsA = a.split('.').map(int.tryParse).toList();
final partsB = b.split('.').map(int.tryParse).toList();
final length = partsA.length > partsB.length ? partsA.length : partsB.length;
for (var i = 0; i < length; i++) {
final pa = i < partsA.length ? (partsA[i] ?? 0) : 0;
final pb = i < partsB.length ? (partsB[i] ?? 0) : 0;
if (pa != pb) return pa.compareTo(pb);
}
return 0;
}