mercur 0.1.5

mercur - junolang package manager
use crate::registry::{SearchEngine, search::SearchResult};

static MERCUR_ROOT_REGISTRY_REF: &str = "github:mercurpkg/root-reg";

impl SearchEngine {
    pub async fn search_package(
        &mut self,
        pkg_name: &str,
        pkg_namespace: &str,
        pkg_authority: Option<&str>,
        pkg_version: Option<&str>,
        pkg_hash: Option<&str>,
        reg_ref: Option<&str>,
    ) -> anyhow::Result<Vec<SearchResult>> {
        let mut _ref = reg_ref.unwrap_or(MERCUR_ROOT_REGISTRY_REF);

        let mut out: Vec<SearchResult> = vec![];
        let namespaces: Vec<&str> = pkg_namespace.split("/").collect();
        self.search_in_registry(
            _ref,
            namespaces,
            pkg_name,
            pkg_authority,
            pkg_version,
            pkg_hash,
            &mut out,
        )
        .await?;
        Ok(out)
    }
}