Source File
version.go
Belonging Package
golang.org/x/pkgsite/internal/version
package version
import (
)
TypeRelease = Type("release")
TypePrerelease = Type("prerelease")
TypePseudo = Type("pseudo")
)
func ( Type) () string {
return string()
}
var pseudoVersionRE = regexp.MustCompile(`^v[0-9]+\.(0\.0-|\d+\.\d+-([^+]*\.)?0\.)\d{14}-[A-Za-z0-9]+(\+incompatible)?$`)
func ( string) bool {
return strings.Count(, "-") >= 2 && pseudoVersionRE.MatchString()
}
func ( string) (Type, error) {
if !semver.IsValid() {
return "", fmt.Errorf("ParseType(%q): invalid semver", )
}
switch {
case IsPseudo():
return TypePseudo, nil
case semver.Prerelease() != "":
return TypePrerelease, nil
default:
return TypeRelease, nil
}
}
:= func( int) {
= append(, ',')
}
= append(, '~')
} else {
= appendNumericPrefix(, -)
}
= append(, [:]...)
= + 1 // skip over separator character
= false
}
:
for , := range [:] {
:= + 1
switch {
case == '.': // end of a part
()
case == '-': // first one is start of prerelease
if ! {
= true
()
} else {
= true
}
case == '+': // start of build; nothing after this matters
=
break
case < '0' || > '9':
= true
}
}
if < {
()
}
func (, string) bool {
:= semver.Prerelease() == ""
:= semver.Prerelease() == ""
if && {
return semver.Compare(, ) > 0
}
if != {
return
if !IsIncompatible() {
return , nil
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |