pub fn compare_versions(a: &str, b: &str) -> OrderingExpand description
Compares two Dart version strings.
Numeric core components are compared first (a missing trailing component is treated as
0, so "1.0" and "1.0.0" compare equal), then SemVer 2.0.0 prerelease precedence
(spec §11) applies: a version with no prerelease outranks one with a prerelease of the
same core, and two prereleases are compared identifier-by-identifier, with a longer
identifier list outranking a shared-prefix shorter one. Build metadata (+...) is
ignored.
§Examples
use deps_dart::version::compare_versions;
use std::cmp::Ordering;
assert_eq!(compare_versions("2.0.0", "2.0.0-beta1"), Ordering::Greater);
assert_eq!(compare_versions("2.0.0-alpha", "2.0.0-beta"), Ordering::Less);
assert_eq!(compare_versions("1.0.0-alpha", "1.0.0-alpha.1"), Ordering::Less);