portaldi 0.6.3

An ergonomic lightweight compile-time depencency injection library.
Documentation
//! **PortalDI** is an ergonomic, lightweight and compile-time dependency injection library.
//!
//! # Features
//!
//! * Natively async support
//!   * Support for asynchronous component creation.
//!   * Components and traits must be `thread-safe` (`Sync + Send`) in non Wasm target.
//!
//! * Ergonomic apis
//!   * In most cases, you can use target types directly instead of using containers.  
//!   ```ignore
//!   // for a concrete type.
//!   let hoge: DI<HogeService> = HogeService::di();
//!
//!   // for a trait. (through DIProvider)
//!   let hoge: DI<dyn HogeService> = HogeServiceProvider::di();
//!   ```
//!
//! * DRY support by macros
//!   * Almost boiler codes can be generated by proc macros.
//!   ```ignore
//!   #[derive(DIPortal)]
//!   struct HogeService {
//!     foo: DI<FooService>,
//!     ...,
//!   }
//!   ```
//!

pub use portaldi_core::{container::*, traits::*, types::*};
pub use portaldi_macros::*;

pub mod docs;