Crate semver_parser[−][src]
Collection of structures and helper functions for parsing semantic version.
This crate contains data structures for holding version data and comparison of versions
according to Semantic versioning.
Main structs are version::Version
representing version itself and range::VersionReq
as a
collection of range::Predicate
representing data for version comparison.
Examples
use semver_parser::range; use semver_parser::version; let r = range::parse("1.0.0")?; assert_eq!(range::Predicate { op: range::Op::Compatible, major: 1, minor: Some(0), patch: Some(0), pre: Vec::new(), }, r.predicates[0] ); let m = version::parse("1.0.0")?; for p in &r.predicates { match p.op { range::Op::Compatible => { assert_eq!(p.major, m.major); } _ => { unimplemented!(); } } }
Modules
comparator | |
lexer |
Lexer for semver ranges. |
parser |
Recursive-descent parser for semver ranges. |
range |
Version range and requirements data and functions (used for version comparison). |
version |
Version data and functions. |