espforge_lib/resolver/strategies/
uart.rs1use crate::register_strategy;
2use crate::resolver::strategies::{ParameterStrategy, ResolutionContext};
3use crate::resolver::strategies::utils::resolve_hardware_resource;
4use crate::manifest::ParameterType;
5use anyhow::Result;
6use espforge_macros::auto_register_param_strategy;
7use serde_yaml_ng::Value;
8
9#[derive(Default)]
10#[auto_register_param_strategy(ParameterType::UartRef)]
11pub struct UartStrategy;
12
13impl ParameterStrategy for UartStrategy {
14 fn resolve(&self, value: &Value, ctx: &ResolutionContext) -> Result<Value> {
15 resolve_hardware_resource(
16 value,
17 ctx,
18 |hw| &hw.uart,
19 |c| c.clone()
20 )
21 }
22}
23