1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
package typesv1
import (
"github.com/blang/semver"
)
func (v Version) AsSemver() (semver.Version, error) {
out := semver.Version{
Major: uint64(v.Major),
Minor: uint64(v.Minor),
Patch: uint64(v.Patch),
}
if len(v.Prereleases) > 0 {
out.Pre = make([]semver.PRVersion, 0, len(v.Prereleases))
for _, pre := range v.Prereleases {
pr, err := semver.NewPRVersion(pre)
if err != nil {
return out, err
}
out.Pre = append(out.Pre, pr)
}
}
if v.Build != "" {
out.Build = []string{v.Build}
}
return out, nil
}
|