Skip to content

Commit abf9416

Browse files
authored
[BUGFIX][dart-dio] Align enum and enum_inline generation result (#19510)
* [BUGFIX][dart-dio] Align `enum` and `enum_inline` generation result * review fixes * Revert "review fixes" This reverts commit 9d0b263. --------- Co-authored-by: Vasiliy Ditsyak <vasilich6107@users.noreply.github.com>
1 parent 740b971 commit abf9416

8 files changed

Lines changed: 169 additions & 72 deletions

File tree

modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/enum_inline.mustache

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,21 @@
66
enum {{{ enumName }}} {
77
{{#allowableValues}}
88
{{#enumVars}}
9-
@JsonValue({{#isString}}r{{/isString}}{{{value}}})
10-
{{{name}}},
9+
{{^isNull}}
10+
{{#description}}
11+
/// {{{.}}}
12+
{{/description}}
13+
@JsonValue({{#isString}}r{{/isString}}{{{value}}})
14+
{{{name}}}({{^isString}}'{{/isString}}{{#isString}}r{{/isString}}{{{value}}}{{^isString}}'{{/isString}}){{^-last}},{{/-last}}{{#-last}};{{/-last}}
15+
{{/isNull}}
1116
{{/enumVars}}
1217
{{/allowableValues}}
18+
19+
const {{{enumName}}}(this.value);
20+
21+
final String value;
22+
23+
@override
24+
String toString() => value;
1325
}
1426
{{/enumName}}

samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/child_with_nullable.dart

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,17 @@ class ChildWithNullable {
9191

9292

9393
enum ChildWithNullableTypeEnum {
94-
@JsonValue(r'ChildWithNullable')
95-
childWithNullable,
96-
@JsonValue(r'unknown_default_open_api')
97-
unknownDefaultOpenApi,
94+
@JsonValue(r'ChildWithNullable')
95+
childWithNullable(r'ChildWithNullable'),
96+
@JsonValue(r'unknown_default_open_api')
97+
unknownDefaultOpenApi(r'unknown_default_open_api');
98+
99+
const ChildWithNullableTypeEnum(this.value);
100+
101+
final String value;
102+
103+
@override
104+
String toString() => value;
98105
}
99106

100107

samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/enum_arrays.dart

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,23 +72,37 @@ class EnumArrays {
7272

7373

7474
enum EnumArraysJustSymbolEnum {
75-
@JsonValue(r'>=')
76-
greaterThanEqual,
77-
@JsonValue(r'$')
78-
dollar,
79-
@JsonValue(r'unknown_default_open_api')
80-
unknownDefaultOpenApi,
75+
@JsonValue(r'>=')
76+
greaterThanEqual(r'>='),
77+
@JsonValue(r'$')
78+
dollar(r'$'),
79+
@JsonValue(r'unknown_default_open_api')
80+
unknownDefaultOpenApi(r'unknown_default_open_api');
81+
82+
const EnumArraysJustSymbolEnum(this.value);
83+
84+
final String value;
85+
86+
@override
87+
String toString() => value;
8188
}
8289

8390

8491

8592
enum EnumArraysArrayEnumEnum {
86-
@JsonValue(r'fish')
87-
fish,
88-
@JsonValue(r'crab')
89-
crab,
90-
@JsonValue(r'unknown_default_open_api')
91-
unknownDefaultOpenApi,
93+
@JsonValue(r'fish')
94+
fish(r'fish'),
95+
@JsonValue(r'crab')
96+
crab(r'crab'),
97+
@JsonValue(r'unknown_default_open_api')
98+
unknownDefaultOpenApi(r'unknown_default_open_api');
99+
100+
const EnumArraysArrayEnumEnum(this.value);
101+
102+
final String value;
103+
104+
@override
105+
String toString() => value;
92106
}
93107

94108

samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/enum_test.dart

Lines changed: 56 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -172,49 +172,77 @@ class EnumTest {
172172

173173

174174
enum EnumTestEnumStringEnum {
175-
@JsonValue(r'UPPER')
176-
UPPER,
177-
@JsonValue(r'lower')
178-
lower,
179-
@JsonValue(r'')
180-
empty,
181-
@JsonValue(r'unknown_default_open_api')
182-
unknownDefaultOpenApi,
175+
@JsonValue(r'UPPER')
176+
UPPER(r'UPPER'),
177+
@JsonValue(r'lower')
178+
lower(r'lower'),
179+
@JsonValue(r'')
180+
empty(r''),
181+
@JsonValue(r'unknown_default_open_api')
182+
unknownDefaultOpenApi(r'unknown_default_open_api');
183+
184+
const EnumTestEnumStringEnum(this.value);
185+
186+
final String value;
187+
188+
@override
189+
String toString() => value;
183190
}
184191

185192

186193

187194
enum EnumTestEnumStringRequiredEnum {
188-
@JsonValue(r'UPPER')
189-
UPPER,
190-
@JsonValue(r'lower')
191-
lower,
192-
@JsonValue(r'')
193-
empty,
194-
@JsonValue(r'unknown_default_open_api')
195-
unknownDefaultOpenApi,
195+
@JsonValue(r'UPPER')
196+
UPPER(r'UPPER'),
197+
@JsonValue(r'lower')
198+
lower(r'lower'),
199+
@JsonValue(r'')
200+
empty(r''),
201+
@JsonValue(r'unknown_default_open_api')
202+
unknownDefaultOpenApi(r'unknown_default_open_api');
203+
204+
const EnumTestEnumStringRequiredEnum(this.value);
205+
206+
final String value;
207+
208+
@override
209+
String toString() => value;
196210
}
197211

198212

199213

200214
enum EnumTestEnumIntegerEnum {
201-
@JsonValue(1)
202-
number1,
203-
@JsonValue(-1)
204-
numberNegative1,
205-
@JsonValue(11184809)
206-
unknownDefaultOpenApi,
215+
@JsonValue(1)
216+
number1('1'),
217+
@JsonValue(-1)
218+
numberNegative1('-1'),
219+
@JsonValue(11184809)
220+
unknownDefaultOpenApi('11184809');
221+
222+
const EnumTestEnumIntegerEnum(this.value);
223+
224+
final String value;
225+
226+
@override
227+
String toString() => value;
207228
}
208229

209230

210231

211232
enum EnumTestEnumNumberEnum {
212-
@JsonValue('1.1')
213-
number1Period1,
214-
@JsonValue('-1.2')
215-
numberNegative1Period2,
216-
@JsonValue('11184809')
217-
unknownDefaultOpenApi,
233+
@JsonValue('1.1')
234+
number1Period1(''1.1''),
235+
@JsonValue('-1.2')
236+
numberNegative1Period2(''-1.2''),
237+
@JsonValue('11184809')
238+
unknownDefaultOpenApi(''11184809'');
239+
240+
const EnumTestEnumNumberEnum(this.value);
241+
242+
final String value;
243+
244+
@override
245+
String toString() => value;
218246
}
219247

220248

samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/map_test.dart

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,12 +104,19 @@ class MapTest {
104104

105105

106106
enum MapTestMapOfEnumStringEnum {
107-
@JsonValue(r'UPPER')
108-
UPPER,
109-
@JsonValue(r'lower')
110-
lower,
111-
@JsonValue(r'unknown_default_open_api')
112-
unknownDefaultOpenApi,
107+
@JsonValue(r'UPPER')
108+
UPPER(r'UPPER'),
109+
@JsonValue(r'lower')
110+
lower(r'lower'),
111+
@JsonValue(r'unknown_default_open_api')
112+
unknownDefaultOpenApi(r'unknown_default_open_api');
113+
114+
const MapTestMapOfEnumStringEnum(this.value);
115+
116+
final String value;
117+
118+
@override
119+
String toString() => value;
113120
}
114121

115122

samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/order.dart

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,25 @@ class Order {
137137

138138
/// Order Status
139139
enum OrderStatusEnum {
140-
@JsonValue(r'placed')
141-
placed,
142-
@JsonValue(r'approved')
143-
approved,
144-
@JsonValue(r'delivered')
145-
delivered,
146-
@JsonValue(r'unknown_default_open_api')
147-
unknownDefaultOpenApi,
140+
/// Order Status
141+
@JsonValue(r'placed')
142+
placed(r'placed'),
143+
/// Order Status
144+
@JsonValue(r'approved')
145+
approved(r'approved'),
146+
/// Order Status
147+
@JsonValue(r'delivered')
148+
delivered(r'delivered'),
149+
/// Order Status
150+
@JsonValue(r'unknown_default_open_api')
151+
unknownDefaultOpenApi(r'unknown_default_open_api');
152+
153+
const OrderStatusEnum(this.value);
154+
155+
final String value;
156+
157+
@override
158+
String toString() => value;
148159
}
149160

150161

samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/parent_with_nullable.dart

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,17 @@ class ParentWithNullable {
7272

7373

7474
enum ParentWithNullableTypeEnum {
75-
@JsonValue(r'ChildWithNullable')
76-
childWithNullable,
77-
@JsonValue(r'unknown_default_open_api')
78-
unknownDefaultOpenApi,
75+
@JsonValue(r'ChildWithNullable')
76+
childWithNullable(r'ChildWithNullable'),
77+
@JsonValue(r'unknown_default_open_api')
78+
unknownDefaultOpenApi(r'unknown_default_open_api');
79+
80+
const ParentWithNullableTypeEnum(this.value);
81+
82+
final String value;
83+
84+
@override
85+
String toString() => value;
7986
}
8087

8188

samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/pet.dart

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,25 @@ class Pet {
139139

140140
/// pet status in the store
141141
enum PetStatusEnum {
142-
@JsonValue(r'available')
143-
available,
144-
@JsonValue(r'pending')
145-
pending,
146-
@JsonValue(r'sold')
147-
sold,
148-
@JsonValue(r'unknown_default_open_api')
149-
unknownDefaultOpenApi,
142+
/// pet status in the store
143+
@JsonValue(r'available')
144+
available(r'available'),
145+
/// pet status in the store
146+
@JsonValue(r'pending')
147+
pending(r'pending'),
148+
/// pet status in the store
149+
@JsonValue(r'sold')
150+
sold(r'sold'),
151+
/// pet status in the store
152+
@JsonValue(r'unknown_default_open_api')
153+
unknownDefaultOpenApi(r'unknown_default_open_api');
154+
155+
const PetStatusEnum(this.value);
156+
157+
final String value;
158+
159+
@override
160+
String toString() => value;
150161
}
151162

152163

0 commit comments

Comments
 (0)