Attribute Macro nject_macro::inject

source ·
#[inject]
Expand description

Use the given value to inject.

use nject::{inject, injectable, provider};

#[inject(Self { value: 42 })]
struct DepOne {
    value: i32,
}

#[inject(|injectable_dep: DepOne| Self(12, injectable_dep))]
struct DepTwo(i32, DepOne);

#[injectable]
struct Facade(DepOne, DepTwo, #[inject(123)] i32);

#[provider]
struct Provider;

let facade: Facade = Provider.provide();