validateUri static method

UriValidationCode? validateUri(
  1. bool isImport,
  2. StringLiteral uriLiteral,
  3. String? uriContent
)

Validate this directive, but do not check for existence. Return a code indicating the problem if there is one, or null no problem.

Implementation

static UriValidationCode? validateUri(
    bool isImport, StringLiteral uriLiteral, String? uriContent) {
  if (uriLiteral is StringInterpolation) {
    return UriValidationCode.URI_WITH_INTERPOLATION;
  }
  if (uriContent == null) {
    return UriValidationCode.INVALID_URI;
  }
  if (uriContent.isEmpty) {
    return null;
  }
  Uri uri;
  try {
    uri = Uri.parse(Uri.encodeFull(uriContent));
  } on FormatException {
    return UriValidationCode.INVALID_URI;
  }
  if (uri.path.isEmpty) {
    return UriValidationCode.INVALID_URI;
  }
  return null;
}