pub struct Semver;Expand description
Provides convenient methods for version comparison, constraint matching, and sorting.
Implementations§
Source§impl Semver
impl Semver
Sourcepub fn satisfies(version: &str, constraints: &str) -> Result<bool>
pub fn satisfies(version: &str, constraints: &str) -> Result<bool>
Check if a version satisfies a constraint string.
§Arguments
version- Version string to checkconstraints- Constraint expression (e.g., “^1.0”, “>=2.0 <3.0”, “~1.2 || ^2.0”)
§Errors
Returns an error if the version or constraint string is invalid.
§Examples
use semver_php::Semver;
assert!(Semver::satisfies("1.2.3", "^1.0").unwrap());
assert!(Semver::satisfies("1.2.3", ">=1.0 <2.0").unwrap());
assert!(!Semver::satisfies("2.0.0", "^1.0").unwrap());Sourcepub fn satisfied_by(versions: &[&str], constraints: &str) -> Result<Vec<String>>
pub fn satisfied_by(versions: &[&str], constraints: &str) -> Result<Vec<String>>
Filter a list of versions to those that satisfy a constraint.
§Arguments
versions- List of version stringsconstraints- Constraint expression
§Errors
Returns an error if any version or the constraint string is invalid.
§Examples
use semver_php::Semver;
let versions = vec!["1.0", "1.2", "2.0", "3.0"];
let satisfied = Semver::satisfied_by(&versions, "~1.0").unwrap();
assert_eq!(satisfied, vec!["1.0", "1.2"]);Auto Trait Implementations§
impl Freeze for Semver
impl RefUnwindSafe for Semver
impl Send for Semver
impl Sync for Semver
impl Unpin for Semver
impl UnwindSafe for Semver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more