1
0
Fork 0

add additional properties support

This commit is contained in:
Cyborus 2024-01-18 16:27:05 -05:00
parent d9f51681df
commit cfd12a6306
No known key found for this signature in database
3 changed files with 13 additions and 1 deletions

View file

@ -738,6 +738,14 @@ fn create_struct_for_definition(
}
}
if let Some(additonal_schema) = &schema.additional_properties {
let prop_ty = schema_ref_type_name(spec, additonal_schema)?;
fields.push_str("#[serde(flatten)]\n");
fields.push_str("pub additional: std::collections::BTreeMap<String, ");
fields.push_str(&prop_ty);
fields.push_str(">,\n");
}
let out = format!("{docs}#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]\npub struct {name} {{\n{fields}}}\n\n");
Ok(out)
}