github.com/abemedia/appcast@v0.4.0/source/sort.go (about) 1 package source 2 3 import "golang.org/x/mod/semver" 4 5 type ByVersion []*Release 6 7 func (vs ByVersion) Len() int { return len(vs) } 8 func (vs ByVersion) Swap(i, j int) { vs[i], vs[j] = vs[j], vs[i] } 9 func (vs ByVersion) Less(i, j int) bool { 10 cmp := semver.Compare(vs[i].Version, vs[j].Version) 11 if cmp != 0 { 12 return cmp > 0 13 } 14 return vs[i].Version > vs[j].Version 15 }