Skip to content

janhohenheim/wonderbox

Repository files navigation

Wonderbox

Build Status Latest Version Documentation

A minimalistic IoC library.

Examples

use wonderbox::Container;

trait Foo {}

#[derive(Debug, Default)]
struct FooImpl {
    stored_string: String,
}

impl FooImpl {
    fn new(stored_string: String) -> Self {
        Self { stored_string }
    }
}

impl Foo for FooImpl {}

#[test]
fn test() {
    let mut container = Container::new();
    container.register(|_| "foo".to_string());
    container.register(|container| Box::new(FooImpl::new(container.resolve())) as Box<dyn Foo>);

    let foo = container.resolve::<Box<dyn Foo>>();
}

About

A minimalistic IoC library.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
license_apache.txt
MIT
license_mit.txt

Stars

Watchers

Forks

Packages

No packages published

Languages