Lenient parser for Semantic Version numbers.
This crate aims to provide an alternative parser for semver Version
s.
Instead of adhering to the semver specification, this parser is more lenient in what it allows. The differenc include:
.
as well (e.g. "1.2.3.rc1" parses at "1.2.3-rc1")This diagram shows lenient parsing grammar
```rust use semver::Version;
let version = lenientsemver::parse("1.2.3"); asserteq!(version, Ok(Version::new(1, 2, 3)));
// examples of a version that would not be accepted by semverparser asserteq!( lenientsemver::parse("1.2.M1").unwrap(), Version::parse("1.2.0-M1").unwrap() ); assert!(Version::parse("1.2.M1").iserr());
asserteq!( lenientsemver::parse("1").unwrap(), Version::parse("1.0.0").unwrap() ); assert!(Version::parse("1").is_err());
asserteq!( lenientsemver::parse("1.2.3.Final").unwrap(), Version::parse("1.2.3+Final").unwrap() ); assert!(Version::parse("1.2.3.Final").is_err()); ```
License: MIT OR Apache-2.0