provider

Attribute Macro provider 

Source
#[provider]
Expand description

Provide a value for a specific type.

use nject::{injectable, provider};

struct Dependency {
    value: i32,
}

struct SharedDependency {
    value: i32,
}

#[injectable]
struct Facade<'a>(Dependency, &'a SharedDependency);

#[provider]
#[provide(Dependency, Dependency { value: 123 })]
struct Provider {
    #[provide]
    shared: SharedDependency
}

let provider = Provider { shared: SharedDependency { value: 456 } };
let dependency: Dependency = provider.provide();
let facade: Facade = provider.provide();