mddd_std/runners/
helper.rs

1use mddd_traits::{IRunner, IUseCase, IUseCaseRequest};
2
3pub(crate) fn make_leaf_help<R: IUseCaseRequest, UC: IUseCase>(prefix: &str, uc: &UC) -> String {
4    format!("{}: {}\nArgs:\n{}", prefix, uc.description(), R::help())
5}
6
7pub(crate) fn make_node_help(
8    prefix: &str,
9    description: &str,
10    children: &[(String, Box<dyn IRunner>)],
11) -> String {
12    let children_help = children
13        .iter()
14        .map(|(key, node)| format!("  {} - {}", key, node.short_description()))
15        .collect::<Vec<_>>()
16        .join("\n");
17    format!("{}: {}\nCommands:\n{}", prefix, description, children_help)
18}