Skip to main content

Module prelude

Module prelude 

Source
Expand description

Prelude module for convenient imports.

This module re-exports commonly used types, traits, and functions, allowing you to import everything you need with a single use arch_toolkit::prelude::*;.

§Example

use arch_toolkit::prelude::*;

let client = ArchClient::new()?;
let packages: Vec<AurPackage> = client.aur().search("yay").await?;
Ok(())

Prelude module for convenient imports.

This module re-exports commonly used types, traits, and functions from arch-toolkit, allowing you to import everything you need with a single use arch_toolkit::prelude::*;.

§Examples

§Basic Usage

use arch_toolkit::prelude::*;

let client = ArchClient::new()?;
let packages: Vec<AurPackage> = client.aur().search("yay").await?;
Ok(())

§With Custom Configuration

use arch_toolkit::prelude::*;
use std::time::Duration;

let client = ArchClient::builder()
    .timeout(Duration::from_secs(60))
    .user_agent("my-app/1.0")
    .build()?;
let packages = client.aur().search("yay").await?;
Ok(())

§Using Mock for Testing

use arch_toolkit::prelude::*;

let mock = MockAurApi::new()
    .with_search_result("yay", Ok(vec![]));
let packages = mock.search("yay").await?;
Ok(())

§Dependency Resolution

use arch_toolkit::prelude::*;

let resolver = DependencyResolver::new();
let packages = vec![
    PackageRef {
        name: "firefox".into(),
        version: "121.0".into(),
        source: PackageSource::Official {
            repo: "extra".into(),
            arch: "x86_64".into(),
        },
    },
];

let result = resolver.resolve(&packages).unwrap();
println!("Found {} dependencies", result.dependencies.len());

Re-exports§

pub use crate::client::ArchClient;
pub use crate::client::ArchClientBuilder;
pub use crate::types::AurComment;
pub use crate::types::AurPackage;
pub use crate::types::AurPackageDetails;
pub use crate::error::ArchToolkitError as Error;
pub use crate::error::Result;
pub use crate::aur::AurApi;
pub use crate::aur::MockAurApi;
pub use crate::cache::CacheConfig;
pub use crate::cache::CacheConfigBuilder;
pub use crate::aur::validation::ValidationConfig;
pub use crate::client::RetryPolicy;
pub use crate::client::CacheInvalidator;
pub use crate::types::HealthStatus;
pub use crate::types::ServiceStatus;
pub use crate::types::Dependency;
pub use crate::types::DependencySource;
pub use crate::types::DependencySpec;
pub use crate::types::DependencyStatus;
pub use crate::types::PackageRef;
pub use crate::types::PackageSource;
pub use crate::types::ReverseDependencySummary;
pub use crate::types::SrcinfoData;
pub use crate::types::dependency::DependencyConstraintRange;
pub use crate::types::dependency::DependencyGraphConfig;
pub use crate::types::dependency::DependencyGraphDiagnostic;
pub use crate::types::dependency::DependencyGraphDiagnosticKind;
pub use crate::types::dependency::DependencyGraphEdge;
pub use crate::types::dependency::DependencyGraphNode;
pub use crate::types::dependency::DependencyGraphNodeStatus;
pub use crate::types::dependency::DependencyGraphResolution;
pub use crate::types::dependency::DependencyMetadata;
pub use crate::types::dependency::DependencyMetadataResponse;
pub use crate::types::dependency::DependencyProvenance;
pub use crate::types::dependency::DependencyVersionBound;
pub use crate::deps::DependencyMetadataProvider;
pub use crate::deps::DependencyResolution;
pub use crate::deps::DependencyResolver;
pub use crate::deps::ResolverConfig;
pub use crate::deps::ReverseDependencyAnalyzer;
pub use crate::deps::ReverseDependencyReport;
pub use crate::deps::get_installed_packages;
pub use crate::deps::parse_dep_spec;
pub use crate::deps::version_satisfies;
pub use crate::types::index::IndexQueryResult;
pub use crate::types::index::InstalledPackagesMode;
pub use crate::types::index::MirrorDiscoveryLimits;
pub use crate::types::index::MirrorInfo;
pub use crate::types::index::OfficialIndex;
pub use crate::types::index::OfficialPackage;
pub use crate::index::IndexRefreshHandle;
pub use crate::index::detect_enabled_repos;
pub use crate::index::fetch_arch_mirrors;
pub use crate::index::fetch_mirrors_from;
pub use crate::index::fetch_official_index;
pub use crate::index::fetch_official_index_for_repos;
pub use crate::index::generate_mirrorlist;
pub use crate::index::load_from_disk;
pub use crate::index::load_from_disk_or_default;
pub use crate::index::save_to_disk;
pub use crate::index::search_official;
pub use crate::index::spawn_index_refresh;
pub use crate::types::install::AurHelper;
pub use crate::types::install::CascadeMode;
pub use crate::types::install::CommandSpec;
pub use crate::types::install::InstallOptions;
pub use crate::types::install::PrivilegeTool;
pub use crate::install::InstallPlan;
pub use crate::install::aur_install_shell_fallback;
pub use crate::install::aur_update_shell_fallback;
pub use crate::install::build_aur_install;
pub use crate::install::build_aur_update_command;
pub use crate::install::build_batch_install;
pub use crate::install::build_force_sync_update_command;
pub use crate::install::build_pacman_install;
pub use crate::install::build_remove_command;
pub use crate::install::build_update_command;
pub use crate::install::detect_aur_helper;
pub use crate::install::detect_privilege_tool;
pub use crate::install::with_privilege;
pub use crate::types::news::AdvisorySeverity;
pub use crate::types::news::ArchNewsItem;
pub use crate::types::news::SecurityAdvisory;
pub use crate::news::FeedCache;
pub use crate::news::InMemoryFeedCache;
pub use crate::news::extract_article_text;
pub use crate::news::fetch_arch_news;
pub use crate::news::fetch_arch_news_cached;
pub use crate::news::fetch_article_text;
pub use crate::news::fetch_security_advisories;
pub use crate::news::fetch_security_advisories_cached;
pub use crate::types::sandbox::DependencyDelta;
pub use crate::types::sandbox::SandboxAnalysisLimitation;
pub use crate::types::sandbox::SandboxFinding;
pub use crate::types::sandbox::SandboxInfo;
pub use crate::types::sandbox::SandboxRuleId;
pub use crate::types::sandbox::SandboxStaticAnalysis;
pub use crate::sandbox::analyze_pkgbuild;
pub use crate::sandbox::analyze_pkgbuild_security;
pub use crate::sandbox::analyze_srcinfo;
pub use crate::aur::ARCH_PACKAGE_SEARCH_URL;
pub use crate::aur::check_mirror_health;
pub use crate::aur::fetch_arch_package_detail;
pub use crate::aur::fetch_official_package_detail_from;
pub use crate::types::package::MetadataFetchLimits;
pub use crate::types::package::MirrorHealth;
pub use crate::types::package::MirrorHealthLimits;
pub use crate::types::package::MirrorHealthStatus;