diff options
-rw-r--r-- | src/di_container.rs | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/src/di_container.rs b/src/di_container.rs index 5ee1c52..e15d921 100644 --- a/src/di_container.rs +++ b/src/di_container.rs @@ -1,48 +1,48 @@ //! Dependency injection container and other related utilities. -/// -/// # Examples -/// ``` -/// use std::collections::HashMap; -/// -/// use syrette::{DIContainer, injectable}; -/// use syrette::errors::di_container::DIContainerError; -/// -/// trait IDatabaseService -/// { -/// fn get_all_records(&self, table_name: String) -> HashMap<String, String>; -/// } -/// -/// struct DatabaseService {} -/// -/// #[injectable(IDatabaseService)] -/// impl DatabaseService -/// { -/// fn new() -> Self -/// { -/// Self {} -/// } -/// } -/// -/// impl IDatabaseService for DatabaseService -/// { -/// fn get_all_records(&self, table_name: String) -> HashMap<String, String> -/// { -/// // Do stuff here -/// HashMap::<String, String>::new() -/// } -/// } -/// -/// fn main() -> error_stack::Result<(), DIContainerError> -/// { -/// let mut di_container = DIContainer::new(); -/// -/// di_container.bind::<dyn IDatabaseService>().to::<DatabaseService>(); -/// -/// let database_service = di_container.get::<dyn IDatabaseService>()?; -/// -/// Ok(()) -/// } -/// ``` +//! +//! # Examples +//! ``` +//! use std::collections::HashMap; +//! +//! use syrette::{DIContainer, injectable}; +//! use syrette::errors::di_container::DIContainerError; +//! +//! trait IDatabaseService +//! { +//! fn get_all_records(&self, table_name: String) -> HashMap<String, String>; +//! } +//! +//! struct DatabaseService {} +//! +//! #[injectable(IDatabaseService)] +//! impl DatabaseService +//! { +//! fn new() -> Self +//! { +//! Self {} +//! } +//! } +//! +//! impl IDatabaseService for DatabaseService +//! { +//! fn get_all_records(&self, table_name: String) -> HashMap<String, String> +//! { +//! // Do stuff here +//! HashMap::<String, String>::new() +//! } +//! } +//! +//! fn main() -> error_stack::Result<(), DIContainerError> +//! { +//! let mut di_container = DIContainer::new(); +//! +//! di_container.bind::<dyn IDatabaseService>().to::<DatabaseService>(); +//! +//! let database_service = di_container.get::<dyn IDatabaseService>()?; +//! +//! Ok(()) +//! } +//! ``` use std::any::type_name; use std::marker::PhantomData; |