resolveLinkUrl function

String? resolveLinkUrl(
  1. String url, {
  2. String? baseUrl,
})

ServerLink.url made absolute, or null when it cannot be — a relative link with no baseUrl to resolve against, or text that does not parse. The panel shows null as plain text instead of a dead link.

Implementation

String? resolveLinkUrl(String url, {String? baseUrl}) {
  var uri = Uri.tryParse(url);
  if (uri == null) return null;
  if (uri.hasScheme) return url;
  if (baseUrl == null) return null;
  var base = Uri.tryParse(baseUrl);
  if (base == null || !base.hasScheme) return null;
  return base.resolveUri(uri).toString();
}