1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use semver::Version;

pub fn parse_semver_tag(s: &str) -> Result<Version, semver::Error> {
    let to_parse = s;
    let first_char = s.chars().next();
    match first_char {
        Some(c) => {
            if c == 'v' {
                Version::parse(&to_parse[1..])
            } else {
                Version::parse(to_parse)
            }
        }
        None => Version::parse(to_parse),
    }
}

#[cfg(test)]
#[path = "utils_test.rs"]
mod utils_test;