lemon_bugsnag_rs 0.1.2

A library for interacting with the BugSnag error-reporting and sessions APIs.
Documentation
/// This module exports structs and traits that are shared by Error and Session
/// clients.
///
/// # Example imports
/// ```
/// use lemon_bugsnag_rs::common::builder::{
///     client_builder,
///     error
/// };
/// ```
pub mod builder;
/// Structs and Enums common to multiple types of client.
///
/// # Example imports
/// ```
/// use lemon_bugsnag_rs::common::client::{
///     client_type
/// };
/// ```
pub mod client;
pub(crate) mod cobbler;
/// Structs and code related to error-handling, with a focus on being able to
/// consolidate mutiple types of errors from multiple sources into a single,
/// consistent error type.
///
/// # Example imports
/// ```
/// use lemon_bugsnag_rs::common::error::{
///     Error,
///     ErrorStack
/// };
/// ```
pub mod error;
/// Contains various shared traits for clients and builders.
/// # Example imports
/// ```
/// use lemon_bugsnag_rs::common::traits::{
///     backend_builder_trait_sync,
///     backend_builder_trait_async,
///     client_trait_sync,
///     client_trait_async,
///     decider_trait_sync,
///     decider_trait_async,
/// };
/// ```
pub mod traits;

/// Convenient bundle of traits necessary for building API clients.
///
/// ```
/// // This will import all of the traits and structs you need to get started
/// // building and sending a payload.
/// use lemon_bugsnag_rs::common::bundle::*;
///
/// // You can also choose to individually import the items found in the
/// // bundle
/// //
/// // use lemon_bugsnag_rs::common::builder::client_builder::ClientBuilder;
/// // use lemon_bugsnag_rs::common::traits::decider_trait_async::DeciderTraitAsync;
/// // use lemon_bugsnag_rs::common::traits::client_trait_async::ClientTraitAsync;
/// // use lemon_bugsnag_rs::common::traits::backend_builder_trait_async::BackendBuilderTraitAsync;
/// //
/// // use lemon_bugsnag_rs::common::traits::decider_trait_sync::DeciderTraitSync;
/// // use lemon_bugsnag_rs::common::traits::client_trait_sync::ClientTraitSync;
/// // use lemon_bugsnag_rs::common::traits::backend_builder_trait_sync::BackendBuilderTraitSync;
/// ```
pub mod bundle {
    pub use crate::common::builder::client_builder::ClientBuilder;

    #[cfg(feature = "async")]
    pub use crate::common::traits::backend_builder_trait_async::BackendBuilderTraitAsync;
    #[cfg(feature = "async")]
    pub use crate::common::traits::client_trait_async::ClientTraitAsync;
    #[cfg(feature = "async")]
    pub use crate::common::traits::decider_trait_async::DeciderTraitAsync;

    #[cfg(feature = "sync")]
    pub use crate::common::traits::backend_builder_trait_sync::BackendBuilderTraitSync;
    #[cfg(feature = "sync")]
    pub use crate::common::traits::client_trait_sync::ClientTraitSync;
    #[cfg(feature = "sync")]
    pub use crate::common::traits::decider_trait_sync::DeciderTraitSync;
}