tryParse static method

PackageUri? tryParse(
  1. String importPath
)

Parses a package:foo/bar.dart importPath (quotes tolerated), or null if it is not a package: URI.

Implementation

static PackageUri? tryParse(String importPath) {
  var p = importPath.trim();
  if (p.length >= 2) {
    var a = p[0], b = p[p.length - 1];
    if ((a == '"' && b == '"') || (a == "'" && b == "'")) {
      p = p.substring(1, p.length - 1);
    }
  }

  if (!p.startsWith('package:')) return null;

  var rest = p.substring('package:'.length);
  var slash = rest.indexOf('/');
  if (slash <= 0) return null;

  var package = rest.substring(0, slash);
  var libPath = rest.substring(slash + 1);
  if (package.isEmpty || libPath.isEmpty) return null;

  return PackageUri(package, libPath);
}