Skip to content

Commit

Permalink
semver: use operator overloading (#19935)
Browse files Browse the repository at this point in the history
  • Loading branch information
Delta456 committed Nov 19, 2023
1 parent 4b347a8 commit 7e280a4
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 28 deletions.
10 changes: 5 additions & 5 deletions vlib/semver/range.v
Expand Up @@ -48,11 +48,11 @@ fn (set ComparatorSet) satisfies(ver Version) bool {

fn (c Comparator) satisfies(ver Version) bool {
return match c.op {
.gt { ver.gt(c.ver) }
.lt { ver.lt(c.ver) }
.ge { ver.ge(c.ver) }
.le { ver.le(c.ver) }
.eq { ver.eq(c.ver) }
.gt { ver > c.ver }
.lt { ver < c.ver }
.ge { ver >= c.ver }
.le { ver <= c.ver }
.eq { ver == c.ver }
}
}

Expand Down
17 changes: 16 additions & 1 deletion vlib/semver/semver.v
Expand Up @@ -70,26 +70,41 @@ pub fn (ver Version) satisfies(input string) bool {
}

// eq returns `true` if `v1` is equal to `v2`.
@[deprecated: 'use v1 == v2 instead']
pub fn (v1 Version) eq(v2 Version) bool {
return compare_eq(v1, v2)
}

// == checks if `v1` is equal to `v2`
pub fn (v1 Version) == (v2 Version) bool {
return compare_eq(v1, v2)
}

// gt returns `true` if `v1` is greater than `v2`.
@[deprecated: 'use v1 > v2 instead']
pub fn (v1 Version) gt(v2 Version) bool {
return compare_gt(v1, v2)
}

// < checks if `v1` is less than `v2`.
pub fn (v1 Version) < (v2 Version) bool {
return compare_lt(v1, v2)
}

// lt returns `true` if `v1` is less than `v2`.
@[deprecated: 'use v1 < v2 instead']
pub fn (v1 Version) lt(v2 Version) bool {
return compare_lt(v1, v2)
}

// ge returns `true` if `v1` is greater than or equal to `v2`.
@[deprecated: 'use v1 >= v2 instead']
pub fn (v1 Version) ge(v2 Version) bool {
return compare_ge(v1, v2)
}

// le returns `true` if `v1` is less than or equal to `v2`.
// le returns `true` if `v1` is less than or equal to `v2`
@[deprecated: 'use v1 <= v2 instead']
pub fn (v1 Version) le(v2 Version) bool {
return compare_le(v1, v2)
}
Expand Down
40 changes: 20 additions & 20 deletions vlib/semver/semver_test.v
Expand Up @@ -118,26 +118,26 @@ fn test_compare() {
patch := semver.build(1, 0, 1)
minor := semver.build(1, 2, 3)
major := semver.build(2, 0, 0)
assert first.le(first)
assert first.ge(first)
assert !first.lt(first)
assert !first.gt(first)
assert patch.ge(first)
assert first.le(patch)
assert !first.ge(patch)
assert !patch.le(first)
assert patch.gt(first)
assert first.lt(patch)
assert !first.gt(patch)
assert !patch.lt(first)
assert minor.gt(patch)
assert patch.lt(minor)
assert !patch.gt(minor)
assert !minor.lt(patch)
assert major.gt(minor)
assert minor.lt(major)
assert !minor.gt(major)
assert !major.lt(minor)
assert first <= first
assert first >= first
assert !(first < first)
assert !(first > first)
assert patch > first
assert first <= patch
assert !(first >= patch)
assert !(patch <= first)
assert patch > first
assert first < patch
assert !(first > patch)
assert !(patch < first)
assert minor > patch
assert patch < minor
assert !(patch > minor)
assert !(minor < patch)
assert major > minor
assert minor < major
assert !(minor > major)
assert !(major < minor)
}

fn test_satisfies() {
Expand Down
4 changes: 2 additions & 2 deletions vlib/v/pkgconfig/pkgconfig.v
Expand Up @@ -162,13 +162,13 @@ fn (mut pc PkgConfig) resolve(pkgname string) !string {
pub fn atleast(v string) bool {
v0 := semver.from(pkgconfig.version) or { return false }
v1 := semver.from(v) or { return false }
return v0.gt(v1)
return v0 > v1
}

pub fn (mut pc PkgConfig) atleast(v string) bool {
v0 := semver.from(pc.version) or { return false }
v1 := semver.from(v) or { return false }
return v0.gt(v1)
return v0 > v1
}

pub fn (mut pc PkgConfig) extend(pcdep &PkgConfig) !string {
Expand Down

0 comments on commit 7e280a4

Please sign in to comment.