diff options
Diffstat (limited to 'crates/mozart-registry/src/version_selector.rs')
| -rw-r--r-- | crates/mozart-registry/src/version_selector.rs | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/crates/mozart-registry/src/version_selector.rs b/crates/mozart-registry/src/version_selector.rs deleted file mode 100644 index 7aa409e..0000000 --- a/crates/mozart-registry/src/version_selector.rs +++ /dev/null @@ -1,48 +0,0 @@ -use crate::cache::Cache; -use crate::packagist::{self, PackagistVersion}; -use crate::version; -use mozart_core::package::Stability; - -/// Mirrors `Composer\Package\Version\VersionSelector`. -pub struct VersionSelector { - preferred_stability: Stability, - repo_cache: Cache, -} - -impl VersionSelector { - pub fn new(preferred_stability: Stability, repo_cache: Cache) -> Self { - Self { - preferred_stability, - repo_cache, - } - } - - /// Fetch versions from Packagist and pick the best candidate. - /// Mirrors `VersionSelector::findBestCandidate()`. - pub async fn find_best_candidate( - &self, - package_name: &str, - ) -> anyhow::Result<Option<PackagistVersion>> { - let versions = packagist::fetch_package_versions(package_name, &self.repo_cache).await?; - Ok(version::find_best_candidate(&versions, self.preferred_stability).cloned()) - } - - /// Generate a recommended constraint string from a concrete version. - /// Mirrors `VersionSelector::findRecommendedRequireVersion()`. - pub fn find_recommended_require_version_string( - &self, - pkg: &PackagistVersion, - fixed: bool, - ) -> String { - if fixed { - pkg.version.clone() - } else { - let stability = version::stability_of(&pkg.version_normalized); - version::find_recommended_require_version( - &pkg.version, - &pkg.version_normalized, - stability, - ) - } - } -} |
