class Dependabot::Uv::Requirement

def convert_exact(req_string)

def convert_exact(req_string)
  arbitrary_equality = req_string.start_with?("===")
  cleaned_version = req_string.gsub(/^=+/, "").strip
  return ["=== #{cleaned_version}"] if arbitrary_equality
  # Handle versions wildcarded with .*, e.g. 1.0.*
  if cleaned_version.include?(".*")
    # Remove all characters after the first .*, and the .*
    cleaned_version = cleaned_version.split(".*").first
    version = Version.new(cleaned_version)
    # Get the release segment parts [major, minor, patch]
    version_parts = version.release_segment
    if version_parts.length == 1
      major = T.must(version_parts[0])
      [">= #{major}.0.0.dev", "< #{major + 1}.0.0"]
    elsif version_parts.length == 2
      major, minor = version_parts
      "~> #{major}.#{minor}.0.dev"
    elsif version_parts.length == 3
      major, minor, patch = version_parts
      "~> #{major}.#{minor}.#{patch}.dev"
    else
      "= #{cleaned_version}"
    end
  else
    "= #{cleaned_version}"
  end
end