1pub mod config;
2pub mod error;
3pub mod generator;
4pub mod python;
5pub mod rust;
6pub mod templates;
7pub mod typescript;
8
9pub use error::{CodegenError, Result};
10pub use generator::Generator;
11
12use rohas_parser::Schema;
13use std::path::Path;
14
15#[derive(Debug, Clone, Copy, PartialEq, Eq)]
16pub enum Language {
17 TypeScript,
18 Python,
19 Rust,
20}
21
22pub fn generate(schema: &Schema, output_dir: &Path, lang: Language) -> Result<()> {
23 let generator = Generator::new(lang);
24 generator.generate(schema, output_dir)
25}