provide

Macro provide 

Source
macro_rules! provide {
    ($value:expr) => { ... };
    ($value:expr => $($trait:path),+ $(,)?) => { ... };
}
Expand description

Provide value to the DI container.

ยงExample

use simple_di::provide;

#[derive(Debug)]
struct Foo(i32);

provide!(Foo(42));

#[derive(Debug)]
struct Bar(i32);

trait Baz {
    fn baz(&self) -> i32;
}

impl Baz for Bar {
    fn baz(&self) -> i32 {
        self.0
    }
}

trait Qux {
    fn qux(&self) -> i32;
}

impl Qux for Bar {
    fn qux(&self) -> i32 {
        self.0
    }
}

provide!(Bar(42) => Baz, Qux);