kubernetes/vendor/golang.org/x/mod/semver/semver.go

type parsed

// IsValid reports whether v is a valid semantic version string.
func IsValid(v string) bool {}

// Canonical returns the canonical formatting of the semantic version v.
// It fills in any missing .MINOR or .PATCH and discards build metadata.
// Two semantic versions compare equal only if their canonical formattings
// are identical strings.
// The canonical invalid semantic version is the empty string.
func Canonical(v string) string {}

// Major returns the major version prefix of the semantic version v.
// For example, Major("v2.1.0") == "v2".
// If v is an invalid semantic version string, Major returns the empty string.
func Major(v string) string {}

// MajorMinor returns the major.minor version prefix of the semantic version v.
// For example, MajorMinor("v2.1.0") == "v2.1".
// If v is an invalid semantic version string, MajorMinor returns the empty string.
func MajorMinor(v string) string {}

// Prerelease returns the prerelease suffix of the semantic version v.
// For example, Prerelease("v2.1.0-pre+meta") == "-pre".
// If v is an invalid semantic version string, Prerelease returns the empty string.
func Prerelease(v string) string {}

// Build returns the build suffix of the semantic version v.
// For example, Build("v2.1.0+meta") == "+meta".
// If v is an invalid semantic version string, Build returns the empty string.
func Build(v string) string {}

// Compare returns an integer comparing two versions according to
// semantic version precedence.
// The result will be 0 if v == w, -1 if v < w, or +1 if v > w.
//
// An invalid semantic version string is considered less than a valid one.
// All invalid semantic version strings compare equal to each other.
func Compare(v, w string) int {}

// Max canonicalizes its arguments and then returns the version string
// that compares greater.
//
// Deprecated: use [Compare] instead. In most cases, returning a canonicalized
// version is not expected or desired.
func Max(v, w string) string {}

type ByVersion

func (vs ByVersion) Len() int      {}

func (vs ByVersion) Swap(i, j int) {}

func (vs ByVersion) Less(i, j int) bool {}

// Sort sorts a list of semantic version strings using [ByVersion].
func Sort(list []string) {}

func parse(v string) (p parsed, ok bool) {}

func parseInt(v string) (t, rest string, ok bool) {}

func parsePrerelease(v string) (t, rest string, ok bool) {}

func parseBuild(v string) (t, rest string, ok bool) {}

func isIdentChar(c byte) bool {}

func isBadNum(v string) bool {}

func isNum(v string) bool {}

func compareInt(x, y string) int {}

func comparePrerelease(x, y string) int {}

func nextIdent(x string) (dx, rest string) {}