Skip to main content

Crate volga_di

Crate volga_di 

Source
Expand description

Volga DI

A standalone, flexible, and easy-to-configure DI container.

§Example

use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use volga_di::ContainerBuilder;
 
#[derive(Default, Clone)]
struct InMemoryCache {
    inner: Arc<Mutex<HashMap<String, String>>>
}
 
let mut container = ContainerBuilder::new();
container.register_singleton(InMemoryCache::default());
 
let container = container.build();
 
let Ok(cache) = container.resolve::<InMemoryCache>() else { 
    panic!("Unable to resolve InMemoryCache");
};

Re-exports§

pub use crate::container::Container;
pub use crate::container::ContainerBuilder;
pub use crate::container::GenericFactory;
pub use crate::inject::Inject;

Modules§

container
Dependency Injection container and tools
error
Describes dependency injection errors
inject
Utilities to inject and resolve dependencies