mercur 0.1.2

mercur - junolang package manager
use std::error::Error;

use crate::registry::{
    SearchEngine, schema::registry::{PkgRegistryEntry, Registry}
};

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

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

        if pkg_authority.is_some() {}
        let out: &mut Vec<PkgRegistryEntry> = &mut vec![];
        let namespaces: Vec<&str> = pkg_namespace.split("/").collect();
        let r = self
            .search_in_registry(
                _ref,
                pkg_name,
                    namespaces,
                    pkg_authority,
                    pkg_version,
                    pkg_hash,
                    out
            )
            .await;
        return out.clone();
    }
}