Struct quick_type_schema::CodegenContext
source · pub struct CodegenContext { /* private fields */ }Implementations§
source§impl CodegenContext
impl CodegenContext
sourcepub fn new(override_quicktype_args: Option<&[&str]>) -> Self
pub fn new(override_quicktype_args: Option<&[&str]>) -> Self
Examples found in repository?
examples/polygot.rs (line 19)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
fn main() {
let mut gen = CodegenContext::new(None);
gen.add_type::<MyStruct>();
gen.add_type::<OtherStruct>();
let languages = &[
Language::Typescript,
Language::JsonSchema,
Language::CSharp {
namespace: "polygot".to_owned(),
framework: Some(CSharpFramework::SystemTextJson),
array_or_list: ArrayOrList::Array,
number_type: CSharpNumberType::Double,
any_type: CSharpAnyType::Object,
},
Language::CSharp {
namespace: "polygot".to_owned(),
framework: None,
array_or_list: ArrayOrList::Array,
number_type: CSharpNumberType::Double,
any_type: CSharpAnyType::Object,
},
Language::Crystal,
Language::Dart { use_freezed: false },
Language::Elm {
module: Some("polygot".to_owned()),
array_or_list: ArrayOrList::Array,
},
Language::Elm {
module: None,
array_or_list: ArrayOrList::Array,
},
Language::Go {
package: Some("polygot".to_owned()),
},
Language::Go { package: None },
Language::Haskell {
module: Some("polygot".to_owned()),
array_or_list: ArrayOrList::Array,
},
Language::Haskell {
module: None,
array_or_list: ArrayOrList::Array,
},
Language::Python {
version: PythonVersion::V3_7,
},
Language::Ruby {
strictness: RubyStrictness::Strict,
},
Language::Rust {
derive_debug: true,
derive_clone: true,
},
Language::Smithy {
package: "polygot".to_owned(),
},
Language::Swift {
struct_or_class: StructOrClass::Class,
sendable: false,
swift5_support: false,
objective_c_support: false,
mutable_properties: false,
},
];
for lang in languages {
eprintln!("--- {}", lang.name());
eprintln!("{}", gen.finish(lang.clone()));
}
}sourcepub fn add_type<T: JsonSchema>(&mut self)
pub fn add_type<T: JsonSchema>(&mut self)
Examples found in repository?
examples/polygot.rs (line 20)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
fn main() {
let mut gen = CodegenContext::new(None);
gen.add_type::<MyStruct>();
gen.add_type::<OtherStruct>();
let languages = &[
Language::Typescript,
Language::JsonSchema,
Language::CSharp {
namespace: "polygot".to_owned(),
framework: Some(CSharpFramework::SystemTextJson),
array_or_list: ArrayOrList::Array,
number_type: CSharpNumberType::Double,
any_type: CSharpAnyType::Object,
},
Language::CSharp {
namespace: "polygot".to_owned(),
framework: None,
array_or_list: ArrayOrList::Array,
number_type: CSharpNumberType::Double,
any_type: CSharpAnyType::Object,
},
Language::Crystal,
Language::Dart { use_freezed: false },
Language::Elm {
module: Some("polygot".to_owned()),
array_or_list: ArrayOrList::Array,
},
Language::Elm {
module: None,
array_or_list: ArrayOrList::Array,
},
Language::Go {
package: Some("polygot".to_owned()),
},
Language::Go { package: None },
Language::Haskell {
module: Some("polygot".to_owned()),
array_or_list: ArrayOrList::Array,
},
Language::Haskell {
module: None,
array_or_list: ArrayOrList::Array,
},
Language::Python {
version: PythonVersion::V3_7,
},
Language::Ruby {
strictness: RubyStrictness::Strict,
},
Language::Rust {
derive_debug: true,
derive_clone: true,
},
Language::Smithy {
package: "polygot".to_owned(),
},
Language::Swift {
struct_or_class: StructOrClass::Class,
sendable: false,
swift5_support: false,
objective_c_support: false,
mutable_properties: false,
},
];
for lang in languages {
eprintln!("--- {}", lang.name());
eprintln!("{}", gen.finish(lang.clone()));
}
}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 86)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
fn main() {
let mut gen = CodegenContext::new(None);
gen.add_type::<MyStruct>();
gen.add_type::<OtherStruct>();
let languages = &[
Language::Typescript,
Language::JsonSchema,
Language::CSharp {
namespace: "polygot".to_owned(),
framework: Some(CSharpFramework::SystemTextJson),
array_or_list: ArrayOrList::Array,
number_type: CSharpNumberType::Double,
any_type: CSharpAnyType::Object,
},
Language::CSharp {
namespace: "polygot".to_owned(),
framework: None,
array_or_list: ArrayOrList::Array,
number_type: CSharpNumberType::Double,
any_type: CSharpAnyType::Object,
},
Language::Crystal,
Language::Dart { use_freezed: false },
Language::Elm {
module: Some("polygot".to_owned()),
array_or_list: ArrayOrList::Array,
},
Language::Elm {
module: None,
array_or_list: ArrayOrList::Array,
},
Language::Go {
package: Some("polygot".to_owned()),
},
Language::Go { package: None },
Language::Haskell {
module: Some("polygot".to_owned()),
array_or_list: ArrayOrList::Array,
},
Language::Haskell {
module: None,
array_or_list: ArrayOrList::Array,
},
Language::Python {
version: PythonVersion::V3_7,
},
Language::Ruby {
strictness: RubyStrictness::Strict,
},
Language::Rust {
derive_debug: true,
derive_clone: true,
},
Language::Smithy {
package: "polygot".to_owned(),
},
Language::Swift {
struct_or_class: StructOrClass::Class,
sendable: false,
swift5_support: false,
objective_c_support: false,
mutable_properties: false,
},
];
for lang in languages {
eprintln!("--- {}", lang.name());
eprintln!("{}", gen.finish(lang.clone()));
}
}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 moresource§impl Debug for CodegenContext
impl Debug for CodegenContext
Auto 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