Task 4 — Generate Component Factory Function
Objective
Remove manual match component_name.as_str() logic.
Requirements
Add to generated file:
pub fn instantiate_and_run_component(
name: &str,
args: ComponentArgs
) -> Option<Box<dyn FbpComponent>> {
match name {
"Repeat" => Some(Box::new(RepeatComponent::new(args))),
"Drop" => Some(Box::new(DropComponent::new(args))),
_ => None,
}
}
Acceptance Criteria
graph.start() no longer contains manual match logic.
- Adding a component updates factory automatically.