pub mod collector;
pub mod console_theme;
pub mod context;
pub mod error;
pub mod group_macro;
pub mod logging;
pub mod macros;
pub mod recovery;
pub mod registry;
#[cfg(feature = "async")]
pub mod async_error;
#[cfg(feature = "async")]
pub mod async_error_impl;
pub use crate::console_theme::{install_panic_hook, print_error, ConsoleTheme};
pub use crate::error::{AppError, ForgeError, Result};
pub use crate::context::{ContextError, ResultExt};
pub use crate::registry::{
register_error_code, CodedError, ErrorCodeInfo, ErrorRegistry, WithErrorCode,
};
pub use crate::collector::{CollectError, ErrorCollector};
pub use crate::logging::{log_error, logger, register_logger, ErrorLogger};
#[cfg(feature = "async")]
pub use crate::async_error::{AsyncForgeError, AsyncResult};
#[cfg(feature = "serde")]
extern crate serde;
#[allow(unused_imports)]
pub use crate::macros::*;
#[cfg(feature = "derive")]
pub use error_forge_derive::*;
#[cfg(test)]
mod tests {
use crate::ForgeError;
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
#[test]
fn test_error_display() {
let err = crate::error::AppError::config("Test error");
assert!(err.to_string().contains("Test error"));
}
#[test]
fn test_error_kind() {
let err = crate::error::AppError::config("Test error");
assert_eq!(err.kind(), "Config");
}
}