A library for working with versions in semver format.
import semver
fn main() {
ver1 := semver.from('1.2.4') or {
println('Invalid version')
return
}
ver2 := semver.from('2.3.4') or {
println('Invalid version')
return
}
println(ver1.gt(ver2))
println(ver2.gt(ver1))
println(ver1.satisfies('>=1.1.0 <2.0.0'))
println(ver2.satisfies('>=1.1.0 <2.0.0'))
println(ver2.satisfies('>=1.1.0 <2.0.0 || >2.2.0'))
}
false
true
true
false
true
For more details see semver.v
file.
fn build(major int, minor int, patch int) Version
build returns Version structure with given major, minor and patch versions.
fn coerce(input string) ?Version
fn from(input string) ?Version
fn is_valid(input string) bool
enum Increment {
major
minor
patch
}
Enum representing type of version increment.
struct Version {
pub:
major int
minor int
patch int
prerelease string
metadata string
}
fn (ver Version) increment(typ Increment) Version
fn (ver Version) satisfies(input string) bool
fn (v1 Version) eq(v2 Version) bool
fn (v1 Version) gt(v2 Version) bool
fn (v1 Version) lt(v2 Version) bool
fn (v1 Version) ge(v2 Version) bool
fn (v1 Version) le(v2 Version) bool