aqc-file-engine-core 0.6.2

Shared framework types and FileEngine trait for aqc-{domain}-engine crates.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Shared version helpers.

/// Parse a dotted version string (`1.85`, `1.85.0`, `v1.85.0`) into a
/// `(major, minor, patch)` tuple.
///
/// Missing parts and non-numeric parts compare as 0.
#[must_use]
pub fn parse_version_tuple(value: &str) -> (u64, u64, u64) {
    let normalized = value.trim_start_matches('v');
    let mut parts = normalized
        .split('.')
        .map(|part| part.parse::<u64>().unwrap_or(0));
    (
        parts.next().unwrap_or(0),
        parts.next().unwrap_or(0),
        parts.next().unwrap_or(0),
    )
}