pub struct CodegenContext { /* private fields */ }
Implementations§
Source§impl CodegenContext
impl CodegenContext
Sourcepub fn new(base_name: &str, override_quicktype_args: Option<&[&str]>) -> Self
pub fn new(base_name: &str, override_quicktype_args: Option<&[&str]>) -> Self
Examples found in repository?
examples/polygot.rs (line 11)
10fn main() {
11 let mut gen = CodegenContext::new("MyData", None);
12 gen.add_type::<OtherStruct>();
13
14 let languages = &[
15 Language::Typescript(TypescriptOptions {
16 prefer_unions: true,
17 ..Default::default()
18 }),
19 Language::JsonSchema(Default::default()),
20 Language::CSharp(Default::default()),
21 Language::Crystal(Default::default()),
22 Language::Dart(Default::default()),
23 Language::Elm(Default::default()),
24 Language::Go(Default::default()),
25 Language::Haskell(Default::default()),
26 Language::Python(Default::default()),
27 Language::Ruby(Default::default()),
28 Language::Rust(Default::default()),
29 Language::Smithy(Default::default()),
30 Language::Swift(Default::default()),
31 ];
32
33 for lang in languages {
34 eprintln!("--- {}", lang.name());
35 eprintln!("{}", gen.finish(lang.clone()));
36 }
37}
Sourcepub fn add_type<T: JsonSchema>(&mut self)
pub fn add_type<T: JsonSchema>(&mut self)
Examples found in repository?
examples/polygot.rs (line 12)
10fn main() {
11 let mut gen = CodegenContext::new("MyData", None);
12 gen.add_type::<OtherStruct>();
13
14 let languages = &[
15 Language::Typescript(TypescriptOptions {
16 prefer_unions: true,
17 ..Default::default()
18 }),
19 Language::JsonSchema(Default::default()),
20 Language::CSharp(Default::default()),
21 Language::Crystal(Default::default()),
22 Language::Dart(Default::default()),
23 Language::Elm(Default::default()),
24 Language::Go(Default::default()),
25 Language::Haskell(Default::default()),
26 Language::Python(Default::default()),
27 Language::Ruby(Default::default()),
28 Language::Rust(Default::default()),
29 Language::Smithy(Default::default()),
30 Language::Swift(Default::default()),
31 ];
32
33 for lang in languages {
34 eprintln!("--- {}", lang.name());
35 eprintln!("{}", gen.finish(lang.clone()));
36 }
37}
pub fn add_schema(&mut self, schema: &str)
Sourcepub fn finish(&self, lang: Language) -> String
pub fn finish(&self, lang: Language) -> String
Examples found in repository?
examples/polygot.rs (line 35)
10fn main() {
11 let mut gen = CodegenContext::new("MyData", None);
12 gen.add_type::<OtherStruct>();
13
14 let languages = &[
15 Language::Typescript(TypescriptOptions {
16 prefer_unions: true,
17 ..Default::default()
18 }),
19 Language::JsonSchema(Default::default()),
20 Language::CSharp(Default::default()),
21 Language::Crystal(Default::default()),
22 Language::Dart(Default::default()),
23 Language::Elm(Default::default()),
24 Language::Go(Default::default()),
25 Language::Haskell(Default::default()),
26 Language::Python(Default::default()),
27 Language::Ruby(Default::default()),
28 Language::Rust(Default::default()),
29 Language::Smithy(Default::default()),
30 Language::Swift(Default::default()),
31 ];
32
33 for lang in languages {
34 eprintln!("--- {}", lang.name());
35 eprintln!("{}", gen.finish(lang.clone()));
36 }
37}
Trait Implementations§
Source§impl Clone for CodegenContext
impl Clone for CodegenContext
Source§fn clone(&self) -> CodegenContext
fn clone(&self) -> CodegenContext
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for CodegenContext
impl RefUnwindSafe for CodegenContext
impl Send for CodegenContext
impl Sync for CodegenContext
impl Unpin for CodegenContext
impl UnwindSafe for CodegenContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more