code: def convert_direct_url_to_url(direct_url):
      # type: (AnyStr) -> AnyStr
      
      direct_match = DIRECT_URL_RE.match(direct_url)  # type: Optional[Match]
      if direct_match is None:
          url_match = URL_RE.match(direct_url)
          if url_match or is_valid_url(direct_url):
              return direct_url
      match_dict = (
          {}
      )  # type: Dict[STRING_TYPE, Union[Tuple[STRING_TYPE, ...], STRING_TYPE]]
      if direct_match is not None:
          match_dict = direct_match.groupdict()  # type: ignore
      if not match_dict:
          raise ValueError(
              "Failed converting value to normal URL, is it a direct URL? {0!r}".format(
                  direct_url
              )
          )
      url_segments = [match_dict.get(s) for s in ("scheme", "host", "path", "pathsep")]
      url = ""  # type: STRING_TYPE
      url = "".join([s for s in url_segments if s is not None])  # type: ignore
      new_url = build_vcs_uri(
          None,
          url,
          ref=match_dict.get("ref"),
          name=match_dict.get("name"),
          extras=match_dict.get("extras"),
          subdirectory=match_dict.get("subdirectory"),
      )
      return new_url
docs: Given a direct url as defined by *PEP 508*, convert to a :class:`~pip_shims.shims.Link`
      compatible URL by moving the name and extras into an **egg_fragment**.
  
      :param str direct_url: A pep-508 compliant direct url.
      :return: A reformatted URL for use with Link objects and :class:`~pip_shims.shims.InstallRequirement` objects.
      :rtype: AnyStr