| Crates.io | vers-rs |
| lib.rs | vers-rs |
| version | 0.1.2 |
| created_at | 2025-07-09 14:07:08.728488+00 |
| updated_at | 2025-11-27 13:00:13.630043+00 |
| description | A library for parsing and checking version range specifiers |
| homepage | |
| repository | https://github.com/csaf-rs/vers-rs |
| max_upload_size | |
| id | 1744961 |
| size | 77,040 |
A Rust library (with WASM support) for parsing, validating, and checking version range specifiers.
This library implements the version range specifier (vers) format as described in the vers-spec.
use vers_rs::schemes::semver::*;
use vers_rs::{parse, contains, GenericVersionRange};
use vers_rs::range::VersionRange;
// Parse a version range specifier with an explicit type
let range: GenericVersionRange<SemVer> = "vers:npm/>=1.0.0|<2.0.0".parse().unwrap();
// Parse a version range specifier with dynamic dispatch
let dynamic_range = parse("vers:npm/>=1.0.0|<2.0.0").unwrap();
// Check if a version is within the range
assert!(range.contains(&"1.5.0".parse().unwrap()).unwrap());
assert!(!range.contains(&"2.0.0".parse().unwrap()).unwrap());
assert!(dynamic_range.contains("1.5.0").unwrap());
assert!(!dynamic_range.contains("2.0.0").unwrap());
vers:<versioning-scheme>/<version-constraint>|<version-constraint>|...Version Comparison: Implement proper version comparison for different versioning schemes:
Normalization: Improve the normalization algorithm:
Validation: Enhance validation:
Error Handling: Improve error handling: