etdl_compiler/codegen/mod.rs
1use etdl_parser::ast::EtlDocument;
2use etdl_parser::asyncapi::AsyncApiRegistry;
3use std::collections::BTreeMap;
4
5use crate::validate::Diagnostic;
6
7mod rust;
8pub use rust::RustCodeGenerator;
9
10pub trait CodeGenerator {
11 fn generate_all(
12 &self,
13 doc: &EtlDocument,
14 fault_tree_probs: &BTreeMap<String, f64>,
15 registry: &AsyncApiRegistry,
16 diagnostics: &mut Vec<Diagnostic>,
17 ) -> Result<String, String>;
18}