testSdkVersionForNullSafety function

bool testSdkVersionForNullSafety(
  1. String version
)

Implementation

bool testSdkVersionForNullSafety(String version) {
  final exp1 = RegExp(r"^\^(\d+).(\d+).(\d+)(?:-\d+)?$");
  final exp2 = RegExp(r"^>=(\d+).(\d+).(\d+)(?:-\d+)? <(\d+).(\d+).(\d+)$");
  var match = exp1.firstMatch(version);
  if (match != null) {
    var vlist = [
      int.parse(match.group(1)!),
      int.parse(match.group(2)!),
      int.parse(match.group(3)!),
    ];
    if (vlist[0] > 2) return true;
    if (vlist[0] < 2) return false;
    return (vlist[1] >= 12);
  } else if ((match = exp2.firstMatch(version)) != null) {
    var vlist1 = [
      int.parse(match!.group(1)!),
      int.parse(match.group(2)!),
      int.parse(match.group(3)!),
    ];
    /*var vlist2 = [
      int.parse(match.group(4)),
      int.parse(match.group(5)),
      int.parse(match.group(6)),
    ];*/
    if (vlist1[0] > 2) return true;
    if (vlist1[0] < 2) return false;
    return (vlist1[1] >= 12);
  }
  return false;
}