<% def make_type_simple(src) case src[:type] when "integer" then "usize" else "String" end end def make_body_type(src) res = case src[:type] when "enum_single" then src[:name].ucc when "bool" "bool" when "string" then "String" when "object" then src[:name].ucc when "array" then "Vec<#{src[:items][:type] == "object" ? src[:name].singularize.ucc : make_type_simple(src)}>" else "String" end if !src[:required] "Option<#{res}>" else res end end %>#[derive(Serialize, Deserialize, Debug, Default, Clone)] pub struct <%= name.ucc %> {<% properties.each() do |it| %><% if !it[:required] %> #[serde(skip_serializing_if = "Option::is_none")]<% end %> pub <%= it[:name].make_name %>: <%= make_body_type(it) %>,<% end %> }