Skip to main content

actr_cli/templates/rust/
mod.rs

1pub mod echo;
2
3pub use echo::load;
4
5use super::{LangTemplate, ProjectTemplateName, TemplateContext};
6use crate::error::Result;
7use std::collections::HashMap;
8
9pub struct RustTemplate;
10
11impl LangTemplate for RustTemplate {
12    fn load_files(
13        &self,
14        template_name: ProjectTemplateName,
15        context: &TemplateContext,
16    ) -> Result<HashMap<String, String>> {
17        let mut files = HashMap::new();
18
19        match template_name {
20            ProjectTemplateName::Echo => {
21                echo::load(&mut files, context.is_service)?;
22            }
23            ProjectTemplateName::DataStream => {
24                return Err(crate::error::ActrCliError::Unsupported(
25                    "DataStream template is not supported for Rust yet".to_string(),
26                ));
27            }
28        }
29
30        Ok(files)
31    }
32}