Skip to main content

compare_versions

Function compare_versions 

Source
pub fn compare_versions(a: &str, b: &str) -> Ordering
Expand 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);