//! Noema
//! Dependency Injection and Mediator Pattern Library for Rust
//! - static registries
//! - compile-time resolution
//! - Arc + LazyLock for thread-safe singletons
//! - macros for easy registration
//! - extensible via traits
//!
//! # Features
//! - Event Dispatching
//! - Input/Output Mediation
//! - Configuration Management
//! - Keyed Service Registries
//! - Components and Factories for register and resolve complex services
//! - Item Collections (For Extensible Enumerations or Flags)
//! - Dependency Injection

pub mod core;

#[cfg(feature = "module")]
pub mod module;

#[cfg(feature = "sender")]
pub mod sender;

#[cfg(feature = "dispatcher")]
pub mod dispatcher;

#[cfg(feature = "configurations")]
pub mod configurations;

#[cfg(feature = "items_collections")]
pub mod items_collections;

#[cfg(feature = "services")]
pub mod services;

#[cfg(feature = "keyed_services")]
pub mod keyed_services;
