Enum quick_type_schema::Language
source · pub enum Language {
Show 13 variants
Typescript,
JsonSchema,
CSharp {
namespace: String,
framework: Option<CSharpFramework>,
array_or_list: ArrayOrList,
number_type: CSharpNumberType,
any_type: CSharpAnyType,
},
Crystal,
Dart {
use_freezed: bool,
},
Elm {
module: Option<String>,
array_or_list: ArrayOrList,
},
Go {
package: Option<String>,
},
Haskell {
module: Option<String>,
array_or_list: ArrayOrList,
},
Python {
version: PythonVersion,
},
Ruby {
strictness: RubyStrictness,
},
Rust {
derive_debug: bool,
derive_clone: bool,
},
Smithy {
package: String,
},
Swift {
struct_or_class: StructOrClass,
sendable: bool,
swift5_support: bool,
objective_c_support: bool,
mutable_properties: bool,
},
}Variants§
Typescript
JsonSchema
CSharp
Fields
§
framework: Option<CSharpFramework>§
array_or_list: ArrayOrList§
number_type: CSharpNumberType§
any_type: CSharpAnyTypeCrystal
Dart
Elm
Go
Haskell
Python
Fields
§
version: PythonVersionRuby
Fields
§
strictness: RubyStrictnessRust
Smithy
Swift
Implementations§
source§impl Language
impl Language
pub fn get_args(&self) -> Vec<&str>
sourcepub fn name(&self) -> &str
pub fn name(&self) -> &str
Examples found in repository?
examples/polygot.rs (line 85)
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 PartialEq for Language
impl PartialEq for Language
impl Eq for Language
impl StructuralPartialEq for Language
Auto Trait Implementations§
impl Freeze for Language
impl RefUnwindSafe for Language
impl Send for Language
impl Sync for Language
impl Unpin for Language
impl UnwindSafe for Language
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