Skip to main content

parse_semver

Function parse_semver 

Source
pub fn parse_semver(version: &str) -> Option<SemVer>
Expand description

Parses a version string into a SemVer struct.

Validates SemVer 2.0.0 format (with optional leading ‘v’) and extracts major, minor, and patch numbers while discarding any prerelease/build metadata.

§Arguments

  • version - Version string to parse (e.g., “1.2.3”, “v0.4.0”, “v1.0.0-beta.1”).

§Example

use git_claw::core::semver::{parse_semver, SemVer};

let v = parse_semver("v1.2.3").unwrap();
assert_eq!(v, SemVer { major: 1, minor: 2, patch: 3, has_v_prefix: true });

let v2 = parse_semver("0.1.0").unwrap();
assert_eq!(v2, SemVer { major: 0, minor: 1, patch: 0, has_v_prefix: false });

assert!(parse_semver("invalid").is_none());