package urlutil

import "strings"

var (
	validPrefixes = []string{
		"git://",
		"github.com/",
		"git@",
	}
)

// IsGitURL returns true if the provided str is a git repository URL.
func IsGitURL(str string) bool {
	if IsURL(str) && strings.HasSuffix(str, ".git") {
		return true
	}
	for _, prefix := range validPrefixes {
		if strings.HasPrefix(str, prefix) {
			return true
		}
	}
	return false
}

// IsGitTransport returns true if the provided str is a git transport by inspecting
// the prefix of the string for known protocols used in git.
func IsGitTransport(str string) bool {
	return IsURL(str) || strings.HasPrefix(str, "git://") || strings.HasPrefix(str, "git@")
}