use crate::state::AppState;
#[must_use]
pub fn is_package_loading_preflight(app: &AppState, package_name: &str) -> bool {
if app.preflight_summary_resolving
&& let Some((ref items, _)) = app.preflight_summary_items
&& items.iter().any(|p| p.name == package_name)
{
return true;
}
if app.preflight_deps_resolving
&& let Some((ref items, _action)) = app.preflight_deps_items
&& items.iter().any(|p| p.name == package_name)
{
return true;
}
if app.deps_resolving
&& !app.preflight_deps_resolving
&& app.install_list.iter().any(|p| p.name == package_name)
{
return true;
}
if app.preflight_files_resolving
&& let Some(ref items) = app.preflight_files_items
&& items.iter().any(|p| p.name == package_name)
{
return true;
}
if app.files_resolving
&& !app.preflight_files_resolving
&& app.install_list.iter().any(|p| p.name == package_name)
{
return true;
}
if app.preflight_services_resolving
&& let Some(ref items) = app.preflight_services_items
&& items.iter().any(|p| p.name == package_name)
{
return true;
}
if app.services_resolving
&& !app.preflight_services_resolving
&& app.install_list.iter().any(|p| p.name == package_name)
{
return true;
}
if app.preflight_sandbox_resolving
&& let Some(ref items) = app.preflight_sandbox_items
&& items.iter().any(|p| p.name == package_name)
{
return true;
}
if app.sandbox_resolving
&& !app.preflight_sandbox_resolving
&& app
.install_list
.iter()
.any(|p| p.name == package_name && matches!(p.source, crate::state::Source::Aur))
{
return true;
}
false
}