waddling-errors 0.7.3

Structured, secure-by-default diagnostic codes for distributed systems with no_std and role-based documentation
Documentation
//! Component Module
//!
//! All system components - Auth, Database, API, Cache, Queue, Storage, Navigation.
//! Each component lives in its own file for easy maintenance and scalability.

#![allow(dead_code)]
#![allow(unused_imports)]

pub mod api;
pub mod auth;
pub mod auth_metadata;
pub mod cache;
pub mod database;
pub mod navigation;
pub mod queue;
pub mod storage;

// Re-export components for easy access
pub use api::Api;
pub use auth::Auth;
pub use cache::Cache;
pub use database::Database;
pub use navigation::Navigation;
pub use queue::Queue;
pub use storage::Storage;

/// Demo all component errors
pub fn demo_all() {
    auth::demo();
    println!();
    database::demo();
    println!();
    api::demo();
    println!();
    cache::demo();
    println!();
    queue::demo();
    println!();
    storage::demo();
    println!();
    navigation::demo();
    println!();

    // Demo DiagnosticRuntime metadata structures
    println!("\n========================================\n");
    auth_metadata::demo_metadata();
}

/// Register all component metadata for documentation generation
#[cfg(feature = "doc-gen")]
pub fn register_all_components(generator: &mut waddling_errors::doc_generator::DocRegistry) {
    auth::register_component(generator);
    database::register_component(generator);
    api::register_component(generator);
    cache::register_component(generator);
    queue::register_component(generator);
    storage::register_component(generator);
    navigation::register_component(generator);

    // Register metadata-based diagnostics (demonstrates DiagnosticRuntime)
    auth_metadata::register_metadata_errors(generator);
}

/// Register all component errors for documentation generation
#[cfg(feature = "doc-gen")]
pub fn register_all_errors(generator: &mut waddling_errors::doc_generator::DocRegistry) {
    auth::register_errors(generator);
    database::register_errors(generator);
    api::register_errors(generator);
    cache::register_errors(generator);
    queue::register_errors(generator);
    storage::register_errors(generator);
    navigation::register_errors(generator);
}