@@ -42,8 +42,8 @@ impl Default for {{{classname}}} {
42
42
{ {#discriminator} }
43
43
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
44
44
#[serde(tag = "{ {{vendorExtensions.x-tag-name} }}")]
45
- pub enum { {{classname} }} {
46
45
{ {#vendorExtensions} }
46
+ pub enum { {{classname} }} {
47
47
{{#x-mapped-models} }
48
48
#[serde(rename="{ {mappingName} }")]
49
49
{ {{modelName} }} {
@@ -52,13 +52,32 @@ pub enum {{{classname}}} {
52
52
/// { {{.} }}
53
53
{ {/description} }
54
54
#[serde(rename = "{ {{baseName} }}"{ {^required} }, skip_serializing_if = "Option::is_none"{ {/required} })]
55
- { {{name} }}: { {#required} }{ {#isNullable} }Option<{ {/isNullable} }{ {/required} }{ {^required} }Option<{ {/required} }{ {#isEnum} }{ {{enumName} }}{ {/isEnum} }{ {^isEnum} }{ {#isModel} }Box<{ {{dataType} }}>{ {/isModel} }{ {^isModel} }{ {{dataType} }}{ {/isModel} }{ {/isEnum} }{ {#required} }{ {#isNullable} }>{ {/isNullable} }{ {/required} }{ {^required} }>{ {/required} },
55
+ // { {required} }, { {isNullable} }, { {enumName} }, { {dataType} }, { {isModel} }
56
+ { {{name} }}: { {#required} }{ {#isNullable} }Option<{ {/isNullable} }{ {/required} }{ {^required} }Option<{ {/required} }{ {#isEnum} }{ {{classname} }}{ {{enumName} }}{ {/isEnum} }{ {^isEnum} }{ {#isModel} }Box<{ {{dataType} }}>{ {/isModel} }{ {^isModel} }{ {{dataType} }}{ {/isModel} }{ {/isEnum} }{ {#required} }{ {#isNullable} }>{ {/isNullable} }{ {/required} }{ {^required} }>{ {/required} },
56
57
{ {/vars} }
57
58
},
58
59
{ {/x-mapped-models} }
59
- { {/vendorExtensions} }
60
60
}
61
61
62
+ { {! -- for properties within the enums above that are of enum type --} }
63
+ { {#x-mapped-models} }
64
+ { {#vars} }
65
+ { {#isEnum} }
66
+ /// { {{description} }}
67
+ #[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
68
+ pub enum { {{classname} }}{ {{enumName} }} {
69
+ {{#allowableValues} }
70
+ { {#enumVars} }
71
+ #[serde(rename = "{ {{value} }}")]
72
+ { {{name} }},
73
+ { {/enumVars} }
74
+ { {/allowableValues} }
75
+ }
76
+ { {/isEnum} }
77
+ { {/vars} }
78
+ { {/x-mapped-models} }
79
+ { {/vendorExtensions} }
80
+
62
81
{ {/discriminator} }
63
82
64
83
{ {! -- for non-enum schemas --} }
@@ -91,6 +110,7 @@ impl {{{classname}}} {
91
110
{ {/isEnum} }
92
111
93
112
{ {! -- for properties that are of enum type --} }
113
+ { {^discriminator} }
94
114
{ {#vars} }
95
115
{ {#isEnum} }
96
116
/// { {{description} }}
@@ -113,6 +133,7 @@ impl Default for {{{enumName}}} {
113
133
}
114
134
{ {/isEnum} }
115
135
{ {/vars} }
136
+ { {/discriminator} }
116
137
117
138
{ {/model} }
118
139
{ {/models} }
0 commit comments