Fix typescript not generating ESM and add default values for rust types!

This commit is contained in:
Fabian Stamm
2025-12-09 17:48:44 +01:00
parent b069237b91
commit ef8e97b15a
8 changed files with 33 additions and 14 deletions

View File

@@ -463,7 +463,17 @@ impl Compile for RustCompiler {
self.add_dependencies(&mut f, &definition.depends)?;
f.a0("#[derive(Clone, Debug, Serialize, Deserialize)]");
let only_optional = definition
.fields
.iter()
.find(|f| !f.typ.is_optional())
.is_none();
let derive_default_none = if only_optional { ", Default" } else { "" };
f.a0(format!(
"#[derive(Clone, Debug, Serialize, Deserialize{})]",
derive_default_none
));
f.a0(format!("pub struct {} {{", definition.name));
for field in definition.fields.iter() {
f.a(1, "#[allow(non_snake_case)]");