hyper-jump 0.11.0

A generalist all-in-one command-line version manager toolset for a more efficient development workflow.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::domain::package::PackageSpec;
use crate::domain::version::parse_normal_version;
use crate::domain::version::ParsedVersion;
use crate::ports::ReleaseProvider;

pub async fn resolve_requested_version<R: ReleaseProvider>(
    requested: &str,
    spec: &PackageSpec,
    release_provider: &R,
) -> anyhow::Result<ParsedVersion> {
    if requested == "latest" {
        release_provider.latest(spec).await
    } else {
        parse_normal_version(requested).await
    }
}