#![cfg_attr(coverage_nightly, coverage(off))]
use crate::stateless_server::StatelessTemplateServer;
use anyhow::Result;
use std::sync::Arc;
pub struct GenerateCommandGroup;
impl Default for GenerateCommandGroup {
fn default() -> Self {
Self
}
}
impl GenerateCommandGroup {
pub async fn handle_generate(
&self,
server: Arc<StatelessTemplateServer>,
category: String,
template: String,
params: Vec<(String, serde_json::Value)>,
output: Option<std::path::PathBuf>,
create_dirs: bool,
) -> Result<()> {
crate::cli::handlers::generation_handlers::handle_generate(
server,
category,
template,
params,
output,
create_dirs,
)
.await
}
pub async fn handle_scaffold(
&self,
server: Arc<StatelessTemplateServer>,
toolchain: String,
templates: Vec<String>,
params: Vec<(String, serde_json::Value)>,
parallel: usize,
) -> Result<()> {
crate::cli::handlers::generation_handlers::handle_scaffold(
server, toolchain, templates, params, parallel,
)
.await
}
pub async fn handle_validate(
&self,
server: Arc<StatelessTemplateServer>,
uri: String,
params: Vec<(String, serde_json::Value)>,
) -> Result<()> {
crate::cli::handlers::generation_handlers::handle_validate(server, uri, params).await
}
}