@@ -2,13 +2,14 @@ use serde::{Serialize, Deserialize};
2
2
use serde_with::skip_serializing_none;
3
3
4
4
{{ model.description | block_comment }}
5
+ #[non_exhaustive]
5
6
#[skip_serializing_none]
6
7
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
7
8
pub struct {{ name }} {
8
9
{% - for attr , schema in model .get ("properties" , {}).items () %}
9
10
{% - set propertyName = attr |variable_name %}
10
11
{% - set required = attr in model .required %}
11
- {% - set nullable = schema .get ("nullable" , False )%}
12
+ {% - set nullable = schema .get ("nullable" , false )%}
12
13
{% - set dataType = get_type (schema , alternative_name =name + propertyName , render_nullable =nullable , render_option =not required , render_box =false , version =version ) %}
13
14
{% - if schema .description is defined %}
14
15
{{ schema.description | block_comment }}
@@ -19,37 +20,37 @@ pub struct {{ name }} {
19
20
#[serde(rename = "{{ attr }}"{% if not required and nullable %} , default, with = "::serde_with::rust::double_option"{% endif %} )]
20
21
pub {{propertyName}}: {{dataType}},
21
22
{% - endfor %}
22
- {% - if model .additionalProperties is defined and model .additionalProperties != False %}
23
- {% - set dataType = get_type (model .additionalProperties , alternative_name =None , render_nullable =False , render_option =False , render_box =false , version =version ) %}
23
+ {% - if model .additionalProperties is defined and model .additionalProperties != false %}
24
+ {% - set dataType = get_type (model .additionalProperties , alternative_name =None , render_nullable =false , render_option =false , render_box =false , version =version ) %}
24
25
#[serde(flatten)]
25
26
pub additional_properties: std::collections::BTreeMap<String , {{ dataType }} >,
26
27
{% - endif %}
27
28
}
28
29
29
30
impl {{ name }} {
30
- pub fn new({% for attr , schema in model .get ("properties" , {}).items () if attr in model .required %}{% - set nullable = schema .get ("nullable" , False )%}{% - set dataType = get_type (schema , alternative_name =name + attr |variable_name , render_nullable =nullable , render_option =False , render_box =false , version =version ) %} {{attr|variable_name}}: {{ dataType }}{% - if not loop .last %} , {% endif %}{% endfor %} ) -> {{ name }} {
31
+ pub fn new({% for attr , schema in model .get ("properties" , {}).items () if attr in model .required %}{% - set nullable = schema .get ("nullable" , false )%}{% - set dataType = get_type (schema , alternative_name =name + attr |variable_name , render_nullable =nullable , render_option =false , render_box =false , version =version ) %} {{attr|variable_name}}: {{ dataType }}{% - if not loop .last %} , {% endif %}{% endfor %} ) -> {{ name }} {
31
32
{% - if get_deprecated (model ) %}
32
33
#[allow(deprecated)]
33
34
{% - endif %}
34
35
{{ name }} {
35
36
{% - for attr , schema in model .get ("properties" , {}).items () %}
36
37
{% - set required = attr in model .required %}
37
- {% - set nullable = schema .get ("nullable" , False )%}
38
+ {% - set nullable = schema .get ("nullable" , false )%}
38
39
{% - set dataType = get_type (schema , alternative_name =name + attr |variable_name , render_nullable =nullable , render_option =not required , render_box =false , version =version ) %}
39
40
{% - if attr in model .get ("required" , []) %}
40
41
{{ attr|variable_name }},
41
42
{% - else %}
42
43
{{ attr|variable_name }}: None,
43
44
{% - endif %}
44
45
{% - endfor %}
45
- {% - if model .additionalProperties is defined and model .additionalProperties != False %}
46
+ {% - if model .additionalProperties is defined and model .additionalProperties != false %}
46
47
additional_properties: std::collections::BTreeMap::new(),
47
48
{% - endif %}
48
49
}
49
50
}
50
51
{% for attr , schema in model .get ("properties" , {}).items () if attr not in model .required %}
51
- {% - set nullable = schema .get ("nullable" , False )%}
52
- {% - set dataType = get_type (schema , alternative_name =name + attr |variable_name , render_nullable =nullable , render_option =False , render_box =false , version =version ) %}
52
+ {% - set nullable = schema .get ("nullable" , false )%}
53
+ {% - set dataType = get_type (schema , alternative_name =name + attr |variable_name , render_nullable =nullable , render_option =false , render_box =false , version =version ) %}
53
54
{% - if get_deprecated (model ) %}
54
55
#[allow(deprecated)]
55
56
{% - endif %}
0 commit comments