macro_rules! create_capability {
($name:expr, |$config:ident| $body:expr) => { ... };
($name:expr, $body:expr) => { ... };
}Expand description
Macro for creating a (&str, HostCapabilityFactory) tuple with reduced boilerplate.
ยงExamples
โ
// Without config โ capability is constructed directly
create_capability!("greeting", GreetingCapability {
message: self.message.clone(),
})
// With config โ closure receives the capability's config value
create_capability!("greeting", |config| {
let suffix = config.get("suffix").and_then(|v| v.as_str()).unwrap_or("!");
GreetingCapability { message: self.message.clone(), suffix: suffix.to_string() }
})