Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,21 @@
enum {{{ enumName }}} {
{{#allowableValues}}
{{#enumVars}}
@JsonValue({{#isString}}r{{/isString}}{{{value}}})
{{{name}}},
{{^isNull}}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is isNull check necessary ?

@vasilich6107 vasilich6107 Sep 2, 2024

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OpenApiSchema specifies a nullable enum to be defined including null as one of the possible values. https://swagger.io/docs/specification/data-models/enums/

We do not want thins null to be present among other items

This is why i'm filtering it out

image

{{#description}}
/// {{{.}}}
{{/description}}
@JsonValue({{#isString}}r{{/isString}}{{{value}}})
{{{name}}}({{^isString}}'{{/isString}}{{#isString}}r{{/isString}}{{{value}}}{{^isString}}'{{/isString}}){{^-last}},{{/-last}}{{#-last}};{{/-last}}
{{/isNull}}
{{/enumVars}}
{{/allowableValues}}

const {{{enumName}}}(this.value);

final String value;

@override
String toString() => value;
}
{{/enumName}}
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,17 @@ class ChildWithNullable {


enum ChildWithNullableTypeEnum {
@JsonValue(r'ChildWithNullable')
childWithNullable,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
@JsonValue(r'ChildWithNullable')
childWithNullable(r'ChildWithNullable'),
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const ChildWithNullableTypeEnum(this.value);

final String value;

@override
String toString() => value;
}


Original file line number Diff line number Diff line change
Expand Up @@ -72,23 +72,37 @@ class EnumArrays {


enum EnumArraysJustSymbolEnum {
@JsonValue(r'>=')
greaterThanEqual,
@JsonValue(r'$')
dollar,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
@JsonValue(r'>=')
greaterThanEqual(r'>='),
@JsonValue(r'$')
dollar(r'$'),
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const EnumArraysJustSymbolEnum(this.value);

final String value;

@override
String toString() => value;
}



enum EnumArraysArrayEnumEnum {
@JsonValue(r'fish')
fish,
@JsonValue(r'crab')
crab,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
@JsonValue(r'fish')
fish(r'fish'),
@JsonValue(r'crab')
crab(r'crab'),
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const EnumArraysArrayEnumEnum(this.value);

final String value;

@override
String toString() => value;
}


Original file line number Diff line number Diff line change
Expand Up @@ -172,49 +172,77 @@ class EnumTest {


enum EnumTestEnumStringEnum {
@JsonValue(r'UPPER')
UPPER,
@JsonValue(r'lower')
lower,
@JsonValue(r'')
empty,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
@JsonValue(r'UPPER')
UPPER(r'UPPER'),
@JsonValue(r'lower')
lower(r'lower'),
@JsonValue(r'')
empty(r''),
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const EnumTestEnumStringEnum(this.value);

final String value;

@override
String toString() => value;
}



enum EnumTestEnumStringRequiredEnum {
@JsonValue(r'UPPER')
UPPER,
@JsonValue(r'lower')
lower,
@JsonValue(r'')
empty,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
@JsonValue(r'UPPER')
UPPER(r'UPPER'),
@JsonValue(r'lower')
lower(r'lower'),
@JsonValue(r'')
empty(r''),
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const EnumTestEnumStringRequiredEnum(this.value);

final String value;

@override
String toString() => value;
}



enum EnumTestEnumIntegerEnum {
@JsonValue(1)
number1,
@JsonValue(-1)
numberNegative1,
@JsonValue(11184809)
unknownDefaultOpenApi,
@JsonValue(1)
number1('1'),
@JsonValue(-1)
numberNegative1('-1'),
@JsonValue(11184809)
unknownDefaultOpenApi('11184809');

const EnumTestEnumIntegerEnum(this.value);

final String value;

@override
String toString() => value;
}



enum EnumTestEnumNumberEnum {
@JsonValue('1.1')
number1Period1,
@JsonValue('-1.2')
numberNegative1Period2,
@JsonValue('11184809')
unknownDefaultOpenApi,
@JsonValue('1.1')
number1Period1(''1.1''),
@JsonValue('-1.2')
numberNegative1Period2(''-1.2''),
@JsonValue('11184809')
unknownDefaultOpenApi(''11184809'');

const EnumTestEnumNumberEnum(this.value);

final String value;

@override
String toString() => value;
}


Original file line number Diff line number Diff line change
Expand Up @@ -104,12 +104,19 @@ class MapTest {


enum MapTestMapOfEnumStringEnum {
@JsonValue(r'UPPER')
UPPER,
@JsonValue(r'lower')
lower,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
@JsonValue(r'UPPER')
UPPER(r'UPPER'),
@JsonValue(r'lower')
lower(r'lower'),
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const MapTestMapOfEnumStringEnum(this.value);

final String value;

@override
String toString() => value;
}


Original file line number Diff line number Diff line change
Expand Up @@ -137,14 +137,25 @@ class Order {

/// Order Status
enum OrderStatusEnum {
@JsonValue(r'placed')
placed,
@JsonValue(r'approved')
approved,
@JsonValue(r'delivered')
delivered,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
/// Order Status
@JsonValue(r'placed')
placed(r'placed'),
/// Order Status
@JsonValue(r'approved')
approved(r'approved'),
/// Order Status
@JsonValue(r'delivered')
delivered(r'delivered'),
/// Order Status
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const OrderStatusEnum(this.value);

final String value;

@override
String toString() => value;
}


Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,17 @@ class ParentWithNullable {


enum ParentWithNullableTypeEnum {
@JsonValue(r'ChildWithNullable')
childWithNullable,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
@JsonValue(r'ChildWithNullable')
childWithNullable(r'ChildWithNullable'),
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const ParentWithNullableTypeEnum(this.value);

final String value;

@override
String toString() => value;
}


Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,25 @@ class Pet {

/// pet status in the store
enum PetStatusEnum {
@JsonValue(r'available')
available,
@JsonValue(r'pending')
pending,
@JsonValue(r'sold')
sold,
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi,
/// pet status in the store
@JsonValue(r'available')
available(r'available'),
/// pet status in the store
@JsonValue(r'pending')
pending(r'pending'),
/// pet status in the store
@JsonValue(r'sold')
sold(r'sold'),
/// pet status in the store
@JsonValue(r'unknown_default_open_api')
unknownDefaultOpenApi(r'unknown_default_open_api');

const PetStatusEnum(this.value);

final String value;

@override
String toString() => value;
}