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. |