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  }