use crate::config::EntryDeclaration; use crate::context::SproutContext; use crate::generators::matrix::MatrixConfiguration; use anyhow::Result; use anyhow::bail; use serde::{Deserialize, Serialize}; use std::rc::Rc; pub mod matrix; #[derive(Serialize, Deserialize, Default, Clone)] pub struct GeneratorDeclaration { #[serde(default)] pub matrix: Option, } pub fn generate( context: Rc, generator: &GeneratorDeclaration, ) -> Result, EntryDeclaration)>> { if let Some(matrix) = &generator.matrix { matrix::generate(context, matrix) } else { bail!("unknown action configuration"); } }