PlatformVersion.fromString constructor

PlatformVersion.fromString(
  1. String version
)

Implementation

factory PlatformVersion.fromString(String version) {
  RegExpMatch? match = versionRegExp.firstMatch(version);
  if (match != null) {
    String? versionStr = match.group(1);
    if (versionStr != null) {
      List<String> versionParts = versionStr.split(".");
      if (versionParts.length >= 3) {
        int major = int.parse(versionParts[0]);
        int minor = int.parse(versionParts[1]);
        int patch = int.parse(versionParts[2]);
        int? minorPatch;
        if (versionParts.length > 3) {
          minorPatch = int.parse(versionParts[3]);
        }
        String? versionCode = match.group(2);
        bool isSnapshot = match.group(3) != null;
        return PlatformVersion(
            major: major,
            minor: minor,
            patch: patch,
            minorPatch: minorPatch,
            versionCode: versionCode,
            isSnapshot: isSnapshot);
      }
    }
  }
  throw ArgumentError("Invalid platform version string: $version");
}