github.com/jmigpin/editor@v1.6.0/util/parseutil/versions.go (about)

     1  package parseutil
     2  
     3  import "strings"
     4  
     5  func VersionLessThan(a, b string) bool {
     6  	return VersionOrdinal(a) < VersionOrdinal(b)
     7  }
     8  
     9  // constructs a byte array (returned as a string) with the count of sequential digits to be able to compare "1.9"<"1.10"
    10  func VersionOrdinal(version string) string {
    11  	a := strings.Split(version, ".")
    12  	r := []byte{}
    13  	for _, s := range a {
    14  		r = append(r, byte(len(s)))
    15  		r = append(r, []byte(s)...)
    16  	}
    17  	return string(r)
    18  }