resolveUri method

Uri resolveUri(
  1. Uri uri
)

Implementation

Uri resolveUri(Uri uri) {
  Uri outputUri = uri;
  if (outputUri.scheme == "package") {
    final segments = outputUri.pathSegments;
    outputUri = resolvedPackages[segments.first]!.resolve("lib/");
    for (var i = 1; i < segments.length; i++) {
      if (i < segments.length - 1) {
        outputUri = outputUri.resolve("${segments[i]}/");
      } else {
        outputUri = outputUri.resolve(segments[i]);
      }
    }
  } else if (!outputUri.isAbsolute) {
    throw ArgumentError("'uri' must be absolute or a package URI");
  }

  return outputUri;
}