openapi_nexus_core/
generator.rs1use crate::error::Error;
4use openapi_nexus_common::Language;
5
6#[derive(Debug, Clone)]
8pub struct GeneratorConfig {
9 pub output_dir: std::path::PathBuf,
11 pub language: Language,
13 pub overwrite: bool,
15}
16
17impl Default for GeneratorConfig {
18 fn default() -> Self {
19 Self {
20 output_dir: std::path::PathBuf::from("generated"),
21 language: Language::TypeScript,
22 overwrite: false,
23 }
24 }
25}
26
27impl GeneratorConfig {
28 pub fn new() -> Self {
30 Self::default()
31 }
32
33 pub fn output_dir<P: Into<std::path::PathBuf>>(mut self, dir: P) -> Self {
35 self.output_dir = dir.into();
36 self
37 }
38
39 pub fn language(mut self, language: Language) -> Self {
41 self.language = language;
42 self
43 }
44
45 pub fn overwrite(mut self, overwrite: bool) -> Self {
47 self.overwrite = overwrite;
48 self
49 }
50
51 pub fn validate(&self) -> Result<(), Error> {
53 Ok(())
55 }
56}