[dart][dart-dio] More enum fixes for inner types (#8174)

* correctly generate enums from `mostInnerItems`
* use `datatypeWithEnum` which should always be he correct type
* dart generators prefix inner enums with the classname of the containing class, ensure datatypeWithEnum always matches
This commit is contained in:
Peter Leibiger 2020-12-14 16:05:31 +01:00 committed by GitHub
parent c974c512ff
commit e412145a1f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 215 additions and 213 deletions

View File

@ -504,6 +504,25 @@ public class DartClientCodegen extends DefaultCodegen {
return postProcessModelsEnum(objs); return postProcessModelsEnum(objs);
} }
@Override
public void postProcessModelProperty(CodegenModel model, CodegenProperty property) {
super.postProcessModelProperty(model, property);
if (!model.isEnum && property.isEnum) {
// These are inner enums, enums which do not exist as models, just as properties.
// They are handled via the enum_inline template and and are generated in the
// same file as the containing class. To prevent name clashes the inline enum classes
// are prefix with the classname of the containing class in the template.
// Here the datatypeWithEnum template variable gets updated to match that scheme.
// Also taking into account potential collection types e.g. List<JustSymbolEnum> -> List<EnumArraysJustSymbolEnum>
if (property.items != null) {
// basically inner items e.g. map of maps etc.
property.setDatatypeWithEnum(property.datatypeWithEnum.replace(property.items.datatypeWithEnum, model.classname + property.items.datatypeWithEnum));
} else {
property.setDatatypeWithEnum(property.datatypeWithEnum.replace(property.enumName, model.classname + property.enumName));
}
}
}
@Override @Override
public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, List<Server> servers) { public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, List<Server> servers) {
final CodegenOperation op = super.fromOperation(path, httpMethod, operation, servers); final CodegenOperation op = super.fromOperation(path, httpMethod, operation, servers);

View File

@ -11,7 +11,7 @@ abstract class {{classname}} implements Built<{{classname}}, {{classname}}Builde
@nullable @nullable
{{/isNullable}} {{/isNullable}}
@BuiltValueField(wireName: r'{{baseName}}') @BuiltValueField(wireName: r'{{baseName}}')
{{#isEnum}}{{classname}}{{{nameInCamelCase}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}} get {{name}}; {{{datatypeWithEnum}}} get {{name}};
{{#allowableValues}} {{#allowableValues}}
{{#min}}// range from {{min}} to {{max}}{{/min}}//{{^min}} enum {{name}}Enum { {{#values}} {{.}}, {{/values}} };{{/min}} {{#min}}// range from {{min}} to {{max}}{{/min}}//{{^min}} enum {{name}}Enum { {{#values}} {{.}}, {{/values}} };{{/min}}
{{/allowableValues}} {{/allowableValues}}
@ -31,8 +31,15 @@ abstract class {{classname}} implements Built<{{classname}}, {{classname}}Builde
}} }}
{{#vars}} {{#vars}}
{{#isEnum}} {{#isEnum}}
{{^isContainer}}
{{>enum_inline}} {{>enum_inline}}
{{/isContainer}}
{{#isContainer}}
{{#mostInnerItems}}
{{>enum_inline}}
{{/mostInnerItems}}
{{/isContainer}}
{{/isEnum}} {{/isEnum}}
{{/vars}} {{/vars}}

View File

@ -1,4 +1,4 @@
class {{classname}}{{nameInCamelCase}} extends EnumClass { class {{{classname}}}{{{enumName}}} extends EnumClass {
{{#allowableValues}} {{#allowableValues}}
{{#enumVars}} {{#enumVars}}
@ -6,14 +6,14 @@ class {{classname}}{{nameInCamelCase}} extends EnumClass {
/// {{{description}}} /// {{{description}}}
{{/description}} {{/description}}
@BuiltValueEnumConst({{#isInteger}}wireNumber: {{{value}}}{{/isInteger}}{{^isInteger}}wireName: r{{#lambda.escapeBuiltValueEnum}}{{{value}}}{{/lambda.escapeBuiltValueEnum}}{{/isInteger}}) @BuiltValueEnumConst({{#isInteger}}wireNumber: {{{value}}}{{/isInteger}}{{^isInteger}}wireName: r{{#lambda.escapeBuiltValueEnum}}{{{value}}}{{/lambda.escapeBuiltValueEnum}}{{/isInteger}})
static const {{classname}}{{nameInCamelCase}} {{name}} = _${{#lambda.camelcase}}{{classname}}{{nameInCamelCase}}{{/lambda.camelcase}}_{{name}}; static const {{{classname}}}{{{enumName}}} {{name}} = _${{#lambda.camelcase}}{{{classname}}}{{{enumName}}}{{/lambda.camelcase}}_{{name}};
{{/enumVars}} {{/enumVars}}
{{/allowableValues}} {{/allowableValues}}
static Serializer<{{classname}}{{nameInCamelCase}}> get serializer => _${{#lambda.camelcase}}{{classname}}{{nameInCamelCase}}{{/lambda.camelcase}}Serializer; static Serializer<{{{classname}}}{{{enumName}}}> get serializer => _${{#lambda.camelcase}}{{{classname}}}{{{enumName}}}{{/lambda.camelcase}}Serializer;
const {{classname}}{{nameInCamelCase}}._(String name): super(name); const {{{classname}}}{{{enumName}}}._(String name): super(name);
static BuiltSet<{{classname}}{{nameInCamelCase}}> get values => _${{#lambda.camelcase}}{{classname}}{{nameInCamelCase}}{{/lambda.camelcase}}Values; static BuiltSet<{{{classname}}}{{{enumName}}}> get values => _${{#lambda.camelcase}}{{{classname}}}{{{enumName}}}{{/lambda.camelcase}}Values;
static {{classname}}{{nameInCamelCase}} valueOf(String name) => _${{#lambda.camelcase}}{{classname}}{{nameInCamelCase}}{{/lambda.camelcase}}ValueOf(name); static {{{classname}}}{{{enumName}}} valueOf(String name) => _${{#lambda.camelcase}}{{{classname}}}{{{enumName}}}{{/lambda.camelcase}}ValueOf(name);
} }

View File

@ -15,23 +15,8 @@ class {{{classname}}} {
{{#maximum}} {{#maximum}}
// maximum: {{{maximum}}} // maximum: {{{maximum}}}
{{/maximum}} {{/maximum}}
{{{dataType}}} {{{name}}};
{{/isEnum}}
{{#isEnum}}
{{#isContainer}}
{{#isArray}}
List<{{{classname}}}{{{enumName}}}> {{{name}}};
{{/isArray}}
{{#isMap}}
Map<String, dynamic> {{{name}}};
{{/isMap}}
{{/isContainer}}
{{^isContainer}}
{{#allowableValues}}
{{{classname}}}{{{enumName}}} {{{name}}}{{#required}}{{#defaultValue}} = {{{classname}}}{{{enumName}}}._({{{defaultValue}}}){{/defaultValue}}{{/required}};
{{/allowableValues}}
{{/isContainer}}
{{/isEnum}} {{/isEnum}}
{{{datatypeWithEnum}}} {{{name}}};
{{/vars}} {{/vars}}
@override @override
@ -225,8 +210,16 @@ class {{{classname}}} {
} }
} }
{{#vars}} {{#vars}}
{{#isEnum}} {{#isEnum}}
{{^isContainer}}
{{>enum_inline}} {{>enum_inline}}
{{/isEnum}} {{/isContainer}}
{{#isContainer}}
{{#mostInnerItems}}
{{>enum_inline}}
{{/mostInnerItems}}
{{/isContainer}}
{{/isEnum}}
{{/vars}} {{/vars}}

View File

@ -419,7 +419,7 @@ public class DartModelTest {
Assert.assertEquals(property1.baseName, "testStringEnum"); Assert.assertEquals(property1.baseName, "testStringEnum");
Assert.assertEquals(property1.dataType, "String"); Assert.assertEquals(property1.dataType, "String");
Assert.assertEquals(property1.baseType, "String"); Assert.assertEquals(property1.baseType, "String");
Assert.assertEquals(property1.datatypeWithEnum, "TestStringEnumEnum"); Assert.assertEquals(property1.datatypeWithEnum, "SampleTestStringEnumEnum");
Assert.assertEquals(property1.name, "testStringEnum"); Assert.assertEquals(property1.name, "testStringEnum");
Assert.assertTrue(property1.isEnum); Assert.assertTrue(property1.isEnum);
Assert.assertEquals(property1.allowableValues.size(), 2); Assert.assertEquals(property1.allowableValues.size(), 2);
@ -439,7 +439,7 @@ public class DartModelTest {
Assert.assertEquals(property2.baseName, "testIntEnum"); Assert.assertEquals(property2.baseName, "testIntEnum");
Assert.assertEquals(property2.dataType, "int"); Assert.assertEquals(property2.dataType, "int");
Assert.assertEquals(property2.baseType, "int"); Assert.assertEquals(property2.baseType, "int");
Assert.assertEquals(property2.datatypeWithEnum, "TestIntEnumEnum"); Assert.assertEquals(property2.datatypeWithEnum, "SampleTestIntEnumEnum");
Assert.assertEquals(property2.name, "testIntEnum"); Assert.assertEquals(property2.name, "testIntEnum");
Assert.assertTrue(property2.isEnum); Assert.assertTrue(property2.isEnum);
Assert.assertEquals(property2.allowableValues.size(), 2); Assert.assertEquals(property2.allowableValues.size(), 2);
@ -482,7 +482,7 @@ public class DartModelTest {
Assert.assertEquals(property1.baseName, "testIntEnum"); Assert.assertEquals(property1.baseName, "testIntEnum");
Assert.assertEquals(property1.dataType, "int"); Assert.assertEquals(property1.dataType, "int");
Assert.assertEquals(property1.baseType, "int"); Assert.assertEquals(property1.baseType, "int");
Assert.assertEquals(property1.datatypeWithEnum, "TestIntEnumEnum"); Assert.assertEquals(property1.datatypeWithEnum, "SampleTestIntEnumEnum");
Assert.assertEquals(property1.name, "testIntEnum"); Assert.assertEquals(property1.name, "testIntEnum");
Assert.assertTrue(property1.isEnum); Assert.assertTrue(property1.isEnum);
Assert.assertEquals(property1.allowableValues.size(), 2); Assert.assertEquals(property1.allowableValues.size(), 2);

View File

@ -25,7 +25,7 @@ abstract class Order implements Built<Order, OrderBuilder> {
/* Order Status */ /* Order Status */
@nullable @nullable
@BuiltValueField(wireName: r'status') @BuiltValueField(wireName: r'status')
OrderStatus get status; OrderStatusEnum get status;
// enum statusEnum { placed, approved, delivered, }; // enum statusEnum { placed, approved, delivered, };
@nullable @nullable
@ -39,24 +39,23 @@ abstract class Order implements Built<Order, OrderBuilder> {
static Serializer<Order> get serializer => _$orderSerializer; static Serializer<Order> get serializer => _$orderSerializer;
} }
class OrderStatus extends EnumClass { class OrderStatusEnum extends EnumClass {
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'placed') @BuiltValueEnumConst(wireName: r'placed')
static const OrderStatus placed = _$orderStatus_placed; static const OrderStatusEnum placed = _$orderStatusEnum_placed;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'approved') @BuiltValueEnumConst(wireName: r'approved')
static const OrderStatus approved = _$orderStatus_approved; static const OrderStatusEnum approved = _$orderStatusEnum_approved;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'delivered') @BuiltValueEnumConst(wireName: r'delivered')
static const OrderStatus delivered = _$orderStatus_delivered; static const OrderStatusEnum delivered = _$orderStatusEnum_delivered;
static Serializer<OrderStatus> get serializer => _$orderStatusSerializer; static Serializer<OrderStatusEnum> get serializer => _$orderStatusEnumSerializer;
const OrderStatus._(String name): super(name); const OrderStatusEnum._(String name): super(name);
static BuiltSet<OrderStatus> get values => _$orderStatusValues; static BuiltSet<OrderStatusEnum> get values => _$orderStatusEnumValues;
static OrderStatus valueOf(String name) => _$orderStatusValueOf(name); static OrderStatusEnum valueOf(String name) => _$orderStatusEnumValueOf(name);
} }

View File

@ -31,7 +31,7 @@ abstract class Pet implements Built<Pet, PetBuilder> {
/* pet status in the store */ /* pet status in the store */
@nullable @nullable
@BuiltValueField(wireName: r'status') @BuiltValueField(wireName: r'status')
PetStatus get status; PetStatusEnum get status;
// enum statusEnum { available, pending, sold, }; // enum statusEnum { available, pending, sold, };
// Boilerplate code needed to wire-up generated code // Boilerplate code needed to wire-up generated code
@ -41,24 +41,23 @@ abstract class Pet implements Built<Pet, PetBuilder> {
static Serializer<Pet> get serializer => _$petSerializer; static Serializer<Pet> get serializer => _$petSerializer;
} }
class PetStatus extends EnumClass { class PetStatusEnum extends EnumClass {
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'available') @BuiltValueEnumConst(wireName: r'available')
static const PetStatus available = _$petStatus_available; static const PetStatusEnum available = _$petStatusEnum_available;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'pending') @BuiltValueEnumConst(wireName: r'pending')
static const PetStatus pending = _$petStatus_pending; static const PetStatusEnum pending = _$petStatusEnum_pending;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'sold') @BuiltValueEnumConst(wireName: r'sold')
static const PetStatus sold = _$petStatus_sold; static const PetStatusEnum sold = _$petStatusEnum_sold;
static Serializer<PetStatus> get serializer => _$petStatusSerializer; static Serializer<PetStatusEnum> get serializer => _$petStatusEnumSerializer;
const PetStatus._(String name): super(name); const PetStatusEnum._(String name): super(name);
static BuiltSet<PetStatus> get values => _$petStatusValues; static BuiltSet<PetStatusEnum> get values => _$petStatusEnumValues;
static PetStatus valueOf(String name) => _$petStatusValueOf(name); static PetStatusEnum valueOf(String name) => _$petStatusEnumValueOf(name);
} }

View File

@ -25,7 +25,7 @@ abstract class Order implements Built<Order, OrderBuilder> {
/* Order Status */ /* Order Status */
@nullable @nullable
@BuiltValueField(wireName: r'status') @BuiltValueField(wireName: r'status')
OrderStatus get status; OrderStatusEnum get status;
// enum statusEnum { placed, approved, delivered, }; // enum statusEnum { placed, approved, delivered, };
@nullable @nullable
@ -39,24 +39,23 @@ abstract class Order implements Built<Order, OrderBuilder> {
static Serializer<Order> get serializer => _$orderSerializer; static Serializer<Order> get serializer => _$orderSerializer;
} }
class OrderStatus extends EnumClass { class OrderStatusEnum extends EnumClass {
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'placed') @BuiltValueEnumConst(wireName: r'placed')
static const OrderStatus placed = _$orderStatus_placed; static const OrderStatusEnum placed = _$orderStatusEnum_placed;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'approved') @BuiltValueEnumConst(wireName: r'approved')
static const OrderStatus approved = _$orderStatus_approved; static const OrderStatusEnum approved = _$orderStatusEnum_approved;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'delivered') @BuiltValueEnumConst(wireName: r'delivered')
static const OrderStatus delivered = _$orderStatus_delivered; static const OrderStatusEnum delivered = _$orderStatusEnum_delivered;
static Serializer<OrderStatus> get serializer => _$orderStatusSerializer; static Serializer<OrderStatusEnum> get serializer => _$orderStatusEnumSerializer;
const OrderStatus._(String name): super(name); const OrderStatusEnum._(String name): super(name);
static BuiltSet<OrderStatus> get values => _$orderStatusValues; static BuiltSet<OrderStatusEnum> get values => _$orderStatusEnumValues;
static OrderStatus valueOf(String name) => _$orderStatusValueOf(name); static OrderStatusEnum valueOf(String name) => _$orderStatusEnumValueOf(name);
} }

View File

@ -31,7 +31,7 @@ abstract class Pet implements Built<Pet, PetBuilder> {
/* pet status in the store */ /* pet status in the store */
@nullable @nullable
@BuiltValueField(wireName: r'status') @BuiltValueField(wireName: r'status')
PetStatus get status; PetStatusEnum get status;
// enum statusEnum { available, pending, sold, }; // enum statusEnum { available, pending, sold, };
// Boilerplate code needed to wire-up generated code // Boilerplate code needed to wire-up generated code
@ -41,24 +41,23 @@ abstract class Pet implements Built<Pet, PetBuilder> {
static Serializer<Pet> get serializer => _$petSerializer; static Serializer<Pet> get serializer => _$petSerializer;
} }
class PetStatus extends EnumClass { class PetStatusEnum extends EnumClass {
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'available') @BuiltValueEnumConst(wireName: r'available')
static const PetStatus available = _$petStatus_available; static const PetStatusEnum available = _$petStatusEnum_available;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'pending') @BuiltValueEnumConst(wireName: r'pending')
static const PetStatus pending = _$petStatus_pending; static const PetStatusEnum pending = _$petStatusEnum_pending;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'sold') @BuiltValueEnumConst(wireName: r'sold')
static const PetStatus sold = _$petStatus_sold; static const PetStatusEnum sold = _$petStatusEnum_sold;
static Serializer<PetStatus> get serializer => _$petStatusSerializer; static Serializer<PetStatusEnum> get serializer => _$petStatusEnumSerializer;
const PetStatus._(String name): super(name); const PetStatusEnum._(String name): super(name);
static BuiltSet<PetStatus> get values => _$petStatusValues; static BuiltSet<PetStatusEnum> get values => _$petStatusEnumValues;
static PetStatus valueOf(String name) => _$petStatusValueOf(name); static PetStatusEnum valueOf(String name) => _$petStatusEnumValueOf(name);
} }

View File

@ -9,12 +9,12 @@ abstract class EnumArrays implements Built<EnumArrays, EnumArraysBuilder> {
@nullable @nullable
@BuiltValueField(wireName: r'just_symbol') @BuiltValueField(wireName: r'just_symbol')
EnumArraysJustSymbol get justSymbol; EnumArraysJustSymbolEnum get justSymbol;
// enum justSymbolEnum { &gt;&#x3D;, $, }; // enum justSymbolEnum { &gt;&#x3D;, $, };
@nullable @nullable
@BuiltValueField(wireName: r'array_enum') @BuiltValueField(wireName: r'array_enum')
EnumArraysArrayEnum get arrayEnum; BuiltList<EnumArraysArrayEnumEnum> get arrayEnum;
// enum arrayEnumEnum { fish, crab, }; // enum arrayEnumEnum { fish, crab, };
// Boilerplate code needed to wire-up generated code // Boilerplate code needed to wire-up generated code
@ -24,35 +24,33 @@ abstract class EnumArrays implements Built<EnumArrays, EnumArraysBuilder> {
static Serializer<EnumArrays> get serializer => _$enumArraysSerializer; static Serializer<EnumArrays> get serializer => _$enumArraysSerializer;
} }
class EnumArraysJustSymbol extends EnumClass { class EnumArraysJustSymbolEnum extends EnumClass {
@BuiltValueEnumConst(wireName: r'>=') @BuiltValueEnumConst(wireName: r'>=')
static const EnumArraysJustSymbol greaterThanEqual = _$enumArraysJustSymbol_greaterThanEqual; static const EnumArraysJustSymbolEnum greaterThanEqual = _$enumArraysJustSymbolEnum_greaterThanEqual;
@BuiltValueEnumConst(wireName: r'\$') @BuiltValueEnumConst(wireName: r'\$')
static const EnumArraysJustSymbol dollar = _$enumArraysJustSymbol_dollar; static const EnumArraysJustSymbolEnum dollar = _$enumArraysJustSymbolEnum_dollar;
static Serializer<EnumArraysJustSymbol> get serializer => _$enumArraysJustSymbolSerializer; static Serializer<EnumArraysJustSymbolEnum> get serializer => _$enumArraysJustSymbolEnumSerializer;
const EnumArraysJustSymbol._(String name): super(name); const EnumArraysJustSymbolEnum._(String name): super(name);
static BuiltSet<EnumArraysJustSymbol> get values => _$enumArraysJustSymbolValues; static BuiltSet<EnumArraysJustSymbolEnum> get values => _$enumArraysJustSymbolEnumValues;
static EnumArraysJustSymbol valueOf(String name) => _$enumArraysJustSymbolValueOf(name); static EnumArraysJustSymbolEnum valueOf(String name) => _$enumArraysJustSymbolEnumValueOf(name);
} }
class EnumArraysArrayEnumEnum extends EnumClass {
class EnumArraysArrayEnum extends EnumClass {
@BuiltValueEnumConst(wireName: r'fish') @BuiltValueEnumConst(wireName: r'fish')
static const EnumArraysArrayEnum fish = _$enumArraysArrayEnum_fish; static const EnumArraysArrayEnumEnum fish = _$enumArraysArrayEnumEnum_fish;
@BuiltValueEnumConst(wireName: r'crab') @BuiltValueEnumConst(wireName: r'crab')
static const EnumArraysArrayEnum crab = _$enumArraysArrayEnum_crab; static const EnumArraysArrayEnumEnum crab = _$enumArraysArrayEnumEnum_crab;
static Serializer<EnumArraysArrayEnum> get serializer => _$enumArraysArrayEnumSerializer; static Serializer<EnumArraysArrayEnumEnum> get serializer => _$enumArraysArrayEnumEnumSerializer;
const EnumArraysArrayEnum._(String name): super(name); const EnumArraysArrayEnumEnum._(String name): super(name);
static BuiltSet<EnumArraysArrayEnum> get values => _$enumArraysArrayEnumValues; static BuiltSet<EnumArraysArrayEnumEnum> get values => _$enumArraysArrayEnumEnumValues;
static EnumArraysArrayEnum valueOf(String name) => _$enumArraysArrayEnumValueOf(name); static EnumArraysArrayEnumEnum valueOf(String name) => _$enumArraysArrayEnumEnumValueOf(name);
} }

View File

@ -13,22 +13,22 @@ abstract class EnumTest implements Built<EnumTest, EnumTestBuilder> {
@nullable @nullable
@BuiltValueField(wireName: r'enum_string') @BuiltValueField(wireName: r'enum_string')
EnumTestEnumString get enumString; EnumTestEnumStringEnum get enumString;
// enum enumStringEnum { UPPER, lower, , }; // enum enumStringEnum { UPPER, lower, , };
@nullable @nullable
@BuiltValueField(wireName: r'enum_string_required') @BuiltValueField(wireName: r'enum_string_required')
EnumTestEnumStringRequired get enumStringRequired; EnumTestEnumStringRequiredEnum get enumStringRequired;
// enum enumStringRequiredEnum { UPPER, lower, , }; // enum enumStringRequiredEnum { UPPER, lower, , };
@nullable @nullable
@BuiltValueField(wireName: r'enum_integer') @BuiltValueField(wireName: r'enum_integer')
EnumTestEnumInteger get enumInteger; EnumTestEnumIntegerEnum get enumInteger;
// enum enumIntegerEnum { 1, -1, }; // enum enumIntegerEnum { 1, -1, };
@nullable @nullable
@BuiltValueField(wireName: r'enum_number') @BuiltValueField(wireName: r'enum_number')
EnumTestEnumNumber get enumNumber; EnumTestEnumNumberEnum get enumNumber;
// enum enumNumberEnum { 1.1, -1.2, }; // enum enumNumberEnum { 1.1, -1.2, };
@nullable @nullable
@ -58,71 +58,67 @@ abstract class EnumTest implements Built<EnumTest, EnumTestBuilder> {
static Serializer<EnumTest> get serializer => _$enumTestSerializer; static Serializer<EnumTest> get serializer => _$enumTestSerializer;
} }
class EnumTestEnumString extends EnumClass { class EnumTestEnumStringEnum extends EnumClass {
@BuiltValueEnumConst(wireName: r'UPPER') @BuiltValueEnumConst(wireName: r'UPPER')
static const EnumTestEnumString UPPER = _$enumTestEnumString_UPPER; static const EnumTestEnumStringEnum UPPER = _$enumTestEnumStringEnum_UPPER;
@BuiltValueEnumConst(wireName: r'lower') @BuiltValueEnumConst(wireName: r'lower')
static const EnumTestEnumString lower = _$enumTestEnumString_lower; static const EnumTestEnumStringEnum lower = _$enumTestEnumStringEnum_lower;
@BuiltValueEnumConst(wireName: r'') @BuiltValueEnumConst(wireName: r'')
static const EnumTestEnumString empty = _$enumTestEnumString_empty; static const EnumTestEnumStringEnum empty = _$enumTestEnumStringEnum_empty;
static Serializer<EnumTestEnumString> get serializer => _$enumTestEnumStringSerializer; static Serializer<EnumTestEnumStringEnum> get serializer => _$enumTestEnumStringEnumSerializer;
const EnumTestEnumString._(String name): super(name); const EnumTestEnumStringEnum._(String name): super(name);
static BuiltSet<EnumTestEnumString> get values => _$enumTestEnumStringValues; static BuiltSet<EnumTestEnumStringEnum> get values => _$enumTestEnumStringEnumValues;
static EnumTestEnumString valueOf(String name) => _$enumTestEnumStringValueOf(name); static EnumTestEnumStringEnum valueOf(String name) => _$enumTestEnumStringEnumValueOf(name);
} }
class EnumTestEnumStringRequiredEnum extends EnumClass {
class EnumTestEnumStringRequired extends EnumClass {
@BuiltValueEnumConst(wireName: r'UPPER') @BuiltValueEnumConst(wireName: r'UPPER')
static const EnumTestEnumStringRequired UPPER = _$enumTestEnumStringRequired_UPPER; static const EnumTestEnumStringRequiredEnum UPPER = _$enumTestEnumStringRequiredEnum_UPPER;
@BuiltValueEnumConst(wireName: r'lower') @BuiltValueEnumConst(wireName: r'lower')
static const EnumTestEnumStringRequired lower = _$enumTestEnumStringRequired_lower; static const EnumTestEnumStringRequiredEnum lower = _$enumTestEnumStringRequiredEnum_lower;
@BuiltValueEnumConst(wireName: r'') @BuiltValueEnumConst(wireName: r'')
static const EnumTestEnumStringRequired empty = _$enumTestEnumStringRequired_empty; static const EnumTestEnumStringRequiredEnum empty = _$enumTestEnumStringRequiredEnum_empty;
static Serializer<EnumTestEnumStringRequired> get serializer => _$enumTestEnumStringRequiredSerializer; static Serializer<EnumTestEnumStringRequiredEnum> get serializer => _$enumTestEnumStringRequiredEnumSerializer;
const EnumTestEnumStringRequired._(String name): super(name); const EnumTestEnumStringRequiredEnum._(String name): super(name);
static BuiltSet<EnumTestEnumStringRequired> get values => _$enumTestEnumStringRequiredValues; static BuiltSet<EnumTestEnumStringRequiredEnum> get values => _$enumTestEnumStringRequiredEnumValues;
static EnumTestEnumStringRequired valueOf(String name) => _$enumTestEnumStringRequiredValueOf(name); static EnumTestEnumStringRequiredEnum valueOf(String name) => _$enumTestEnumStringRequiredEnumValueOf(name);
} }
class EnumTestEnumIntegerEnum extends EnumClass {
class EnumTestEnumInteger extends EnumClass {
@BuiltValueEnumConst(wireNumber: 1) @BuiltValueEnumConst(wireNumber: 1)
static const EnumTestEnumInteger number1 = _$enumTestEnumInteger_number1; static const EnumTestEnumIntegerEnum number1 = _$enumTestEnumIntegerEnum_number1;
@BuiltValueEnumConst(wireNumber: -1) @BuiltValueEnumConst(wireNumber: -1)
static const EnumTestEnumInteger numberNegative1 = _$enumTestEnumInteger_numberNegative1; static const EnumTestEnumIntegerEnum numberNegative1 = _$enumTestEnumIntegerEnum_numberNegative1;
static Serializer<EnumTestEnumInteger> get serializer => _$enumTestEnumIntegerSerializer; static Serializer<EnumTestEnumIntegerEnum> get serializer => _$enumTestEnumIntegerEnumSerializer;
const EnumTestEnumInteger._(String name): super(name); const EnumTestEnumIntegerEnum._(String name): super(name);
static BuiltSet<EnumTestEnumInteger> get values => _$enumTestEnumIntegerValues; static BuiltSet<EnumTestEnumIntegerEnum> get values => _$enumTestEnumIntegerEnumValues;
static EnumTestEnumInteger valueOf(String name) => _$enumTestEnumIntegerValueOf(name); static EnumTestEnumIntegerEnum valueOf(String name) => _$enumTestEnumIntegerEnumValueOf(name);
} }
class EnumTestEnumNumberEnum extends EnumClass {
class EnumTestEnumNumber extends EnumClass {
@BuiltValueEnumConst(wireName: r'1.1') @BuiltValueEnumConst(wireName: r'1.1')
static const EnumTestEnumNumber number1Period1 = _$enumTestEnumNumber_number1Period1; static const EnumTestEnumNumberEnum number1Period1 = _$enumTestEnumNumberEnum_number1Period1;
@BuiltValueEnumConst(wireName: r'-1.2') @BuiltValueEnumConst(wireName: r'-1.2')
static const EnumTestEnumNumber numberNegative1Period2 = _$enumTestEnumNumber_numberNegative1Period2; static const EnumTestEnumNumberEnum numberNegative1Period2 = _$enumTestEnumNumberEnum_numberNegative1Period2;
static Serializer<EnumTestEnumNumber> get serializer => _$enumTestEnumNumberSerializer; static Serializer<EnumTestEnumNumberEnum> get serializer => _$enumTestEnumNumberEnumSerializer;
const EnumTestEnumNumber._(String name): super(name); const EnumTestEnumNumberEnum._(String name): super(name);
static BuiltSet<EnumTestEnumNumber> get values => _$enumTestEnumNumberValues; static BuiltSet<EnumTestEnumNumberEnum> get values => _$enumTestEnumNumberEnumValues;
static EnumTestEnumNumber valueOf(String name) => _$enumTestEnumNumberValueOf(name); static EnumTestEnumNumberEnum valueOf(String name) => _$enumTestEnumNumberEnumValueOf(name);
} }

View File

@ -9,12 +9,12 @@ abstract class InlineObject2 implements Built<InlineObject2, InlineObject2Builde
/* Form parameter enum test (string array) */ /* Form parameter enum test (string array) */
@nullable @nullable
@BuiltValueField(wireName: r'enum_form_string_array') @BuiltValueField(wireName: r'enum_form_string_array')
InlineObject2EnumFormStringArray get enumFormStringArray; BuiltList<InlineObject2EnumFormStringArrayEnum> get enumFormStringArray;
// enum enumFormStringArrayEnum { &gt;, $, }; // enum enumFormStringArrayEnum { &gt;, $, };
/* Form parameter enum test (string) */ /* Form parameter enum test (string) */
@nullable @nullable
@BuiltValueField(wireName: r'enum_form_string') @BuiltValueField(wireName: r'enum_form_string')
InlineObject2EnumFormString get enumFormString; InlineObject2EnumFormStringEnum get enumFormString;
// enum enumFormStringEnum { _abc, -efg, (xyz), }; // enum enumFormStringEnum { _abc, -efg, (xyz), };
// Boilerplate code needed to wire-up generated code // Boilerplate code needed to wire-up generated code
@ -24,42 +24,38 @@ abstract class InlineObject2 implements Built<InlineObject2, InlineObject2Builde
static Serializer<InlineObject2> get serializer => _$inlineObject2Serializer; static Serializer<InlineObject2> get serializer => _$inlineObject2Serializer;
} }
class InlineObject2EnumFormStringArray extends EnumClass { class InlineObject2EnumFormStringArrayEnum extends EnumClass {
/// Form parameter enum test (string array)
@BuiltValueEnumConst(wireName: r'>') @BuiltValueEnumConst(wireName: r'>')
static const InlineObject2EnumFormStringArray greaterThan = _$inlineObject2EnumFormStringArray_greaterThan; static const InlineObject2EnumFormStringArrayEnum greaterThan = _$inlineObject2EnumFormStringArrayEnum_greaterThan;
/// Form parameter enum test (string array)
@BuiltValueEnumConst(wireName: r'\$') @BuiltValueEnumConst(wireName: r'\$')
static const InlineObject2EnumFormStringArray dollar = _$inlineObject2EnumFormStringArray_dollar; static const InlineObject2EnumFormStringArrayEnum dollar = _$inlineObject2EnumFormStringArrayEnum_dollar;
static Serializer<InlineObject2EnumFormStringArray> get serializer => _$inlineObject2EnumFormStringArraySerializer; static Serializer<InlineObject2EnumFormStringArrayEnum> get serializer => _$inlineObject2EnumFormStringArrayEnumSerializer;
const InlineObject2EnumFormStringArray._(String name): super(name); const InlineObject2EnumFormStringArrayEnum._(String name): super(name);
static BuiltSet<InlineObject2EnumFormStringArray> get values => _$inlineObject2EnumFormStringArrayValues; static BuiltSet<InlineObject2EnumFormStringArrayEnum> get values => _$inlineObject2EnumFormStringArrayEnumValues;
static InlineObject2EnumFormStringArray valueOf(String name) => _$inlineObject2EnumFormStringArrayValueOf(name); static InlineObject2EnumFormStringArrayEnum valueOf(String name) => _$inlineObject2EnumFormStringArrayEnumValueOf(name);
} }
class InlineObject2EnumFormStringEnum extends EnumClass {
class InlineObject2EnumFormString extends EnumClass {
/// Form parameter enum test (string) /// Form parameter enum test (string)
@BuiltValueEnumConst(wireName: r'_abc') @BuiltValueEnumConst(wireName: r'_abc')
static const InlineObject2EnumFormString abc = _$inlineObject2EnumFormString_abc; static const InlineObject2EnumFormStringEnum abc = _$inlineObject2EnumFormStringEnum_abc;
/// Form parameter enum test (string) /// Form parameter enum test (string)
@BuiltValueEnumConst(wireName: r'-efg') @BuiltValueEnumConst(wireName: r'-efg')
static const InlineObject2EnumFormString efg = _$inlineObject2EnumFormString_efg; static const InlineObject2EnumFormStringEnum efg = _$inlineObject2EnumFormStringEnum_efg;
/// Form parameter enum test (string) /// Form parameter enum test (string)
@BuiltValueEnumConst(wireName: r'(xyz)') @BuiltValueEnumConst(wireName: r'(xyz)')
static const InlineObject2EnumFormString leftParenthesisXyzRightParenthesis = _$inlineObject2EnumFormString_leftParenthesisXyzRightParenthesis; static const InlineObject2EnumFormStringEnum leftParenthesisXyzRightParenthesis = _$inlineObject2EnumFormStringEnum_leftParenthesisXyzRightParenthesis;
static Serializer<InlineObject2EnumFormString> get serializer => _$inlineObject2EnumFormStringSerializer; static Serializer<InlineObject2EnumFormStringEnum> get serializer => _$inlineObject2EnumFormStringEnumSerializer;
const InlineObject2EnumFormString._(String name): super(name); const InlineObject2EnumFormStringEnum._(String name): super(name);
static BuiltSet<InlineObject2EnumFormString> get values => _$inlineObject2EnumFormStringValues; static BuiltSet<InlineObject2EnumFormStringEnum> get values => _$inlineObject2EnumFormStringEnumValues;
static InlineObject2EnumFormString valueOf(String name) => _$inlineObject2EnumFormStringValueOf(name); static InlineObject2EnumFormStringEnum valueOf(String name) => _$inlineObject2EnumFormStringEnumValueOf(name);
} }

View File

@ -13,7 +13,7 @@ abstract class MapTest implements Built<MapTest, MapTestBuilder> {
@nullable @nullable
@BuiltValueField(wireName: r'map_of_enum_string') @BuiltValueField(wireName: r'map_of_enum_string')
MapTestMapOfEnumString get mapOfEnumString; BuiltMap<String, MapTestInnerEnum> get mapOfEnumString;
// enum mapOfEnumStringEnum { UPPER, lower, }; // enum mapOfEnumStringEnum { UPPER, lower, };
@nullable @nullable
@ -31,19 +31,18 @@ abstract class MapTest implements Built<MapTest, MapTestBuilder> {
static Serializer<MapTest> get serializer => _$mapTestSerializer; static Serializer<MapTest> get serializer => _$mapTestSerializer;
} }
class MapTestMapOfEnumString extends EnumClass { class MapTestInnerEnum extends EnumClass {
@BuiltValueEnumConst(wireName: r'UPPER') @BuiltValueEnumConst(wireName: r'UPPER')
static const MapTestMapOfEnumString UPPER = _$mapTestMapOfEnumString_UPPER; static const MapTestInnerEnum UPPER = _$mapTestInnerEnum_UPPER;
@BuiltValueEnumConst(wireName: r'lower') @BuiltValueEnumConst(wireName: r'lower')
static const MapTestMapOfEnumString lower = _$mapTestMapOfEnumString_lower; static const MapTestInnerEnum lower = _$mapTestInnerEnum_lower;
static Serializer<MapTestMapOfEnumString> get serializer => _$mapTestMapOfEnumStringSerializer; static Serializer<MapTestInnerEnum> get serializer => _$mapTestInnerEnumSerializer;
const MapTestMapOfEnumString._(String name): super(name); const MapTestInnerEnum._(String name): super(name);
static BuiltSet<MapTestMapOfEnumString> get values => _$mapTestMapOfEnumStringValues; static BuiltSet<MapTestInnerEnum> get values => _$mapTestInnerEnumValues;
static MapTestMapOfEnumString valueOf(String name) => _$mapTestMapOfEnumStringValueOf(name); static MapTestInnerEnum valueOf(String name) => _$mapTestInnerEnumValueOf(name);
} }

View File

@ -25,7 +25,7 @@ abstract class Order implements Built<Order, OrderBuilder> {
/* Order Status */ /* Order Status */
@nullable @nullable
@BuiltValueField(wireName: r'status') @BuiltValueField(wireName: r'status')
OrderStatus get status; OrderStatusEnum get status;
// enum statusEnum { placed, approved, delivered, }; // enum statusEnum { placed, approved, delivered, };
@nullable @nullable
@ -39,24 +39,23 @@ abstract class Order implements Built<Order, OrderBuilder> {
static Serializer<Order> get serializer => _$orderSerializer; static Serializer<Order> get serializer => _$orderSerializer;
} }
class OrderStatus extends EnumClass { class OrderStatusEnum extends EnumClass {
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'placed') @BuiltValueEnumConst(wireName: r'placed')
static const OrderStatus placed = _$orderStatus_placed; static const OrderStatusEnum placed = _$orderStatusEnum_placed;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'approved') @BuiltValueEnumConst(wireName: r'approved')
static const OrderStatus approved = _$orderStatus_approved; static const OrderStatusEnum approved = _$orderStatusEnum_approved;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: r'delivered') @BuiltValueEnumConst(wireName: r'delivered')
static const OrderStatus delivered = _$orderStatus_delivered; static const OrderStatusEnum delivered = _$orderStatusEnum_delivered;
static Serializer<OrderStatus> get serializer => _$orderStatusSerializer; static Serializer<OrderStatusEnum> get serializer => _$orderStatusEnumSerializer;
const OrderStatus._(String name): super(name); const OrderStatusEnum._(String name): super(name);
static BuiltSet<OrderStatus> get values => _$orderStatusValues; static BuiltSet<OrderStatusEnum> get values => _$orderStatusEnumValues;
static OrderStatus valueOf(String name) => _$orderStatusValueOf(name); static OrderStatusEnum valueOf(String name) => _$orderStatusEnumValueOf(name);
} }

View File

@ -31,7 +31,7 @@ abstract class Pet implements Built<Pet, PetBuilder> {
/* pet status in the store */ /* pet status in the store */
@nullable @nullable
@BuiltValueField(wireName: r'status') @BuiltValueField(wireName: r'status')
PetStatus get status; PetStatusEnum get status;
// enum statusEnum { available, pending, sold, }; // enum statusEnum { available, pending, sold, };
// Boilerplate code needed to wire-up generated code // Boilerplate code needed to wire-up generated code
@ -41,24 +41,23 @@ abstract class Pet implements Built<Pet, PetBuilder> {
static Serializer<Pet> get serializer => _$petSerializer; static Serializer<Pet> get serializer => _$petSerializer;
} }
class PetStatus extends EnumClass { class PetStatusEnum extends EnumClass {
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'available') @BuiltValueEnumConst(wireName: r'available')
static const PetStatus available = _$petStatus_available; static const PetStatusEnum available = _$petStatusEnum_available;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'pending') @BuiltValueEnumConst(wireName: r'pending')
static const PetStatus pending = _$petStatus_pending; static const PetStatusEnum pending = _$petStatusEnum_pending;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: r'sold') @BuiltValueEnumConst(wireName: r'sold')
static const PetStatus sold = _$petStatus_sold; static const PetStatusEnum sold = _$petStatusEnum_sold;
static Serializer<PetStatus> get serializer => _$petStatusSerializer; static Serializer<PetStatusEnum> get serializer => _$petStatusEnumSerializer;
const PetStatus._(String name): super(name); const PetStatusEnum._(String name): super(name);
static BuiltSet<PetStatus> get values => _$petStatusValues; static BuiltSet<PetStatusEnum> get values => _$petStatusEnumValues;
static PetStatus valueOf(String name) => _$petStatusValueOf(name); static PetStatusEnum valueOf(String name) => _$petStatusEnumValueOf(name);
} }

View File

@ -159,7 +159,7 @@ class EnumArraysArrayEnumEnum {
const EnumArraysArrayEnumEnum._(this.value); const EnumArraysArrayEnumEnum._(this.value);
/// The underlying value of this enum member. /// The underlying value of this enum member.
final List<String> value; final String value;
@override @override
bool operator ==(Object other) => identical(this, other) || bool operator ==(Object other) => identical(this, other) ||
@ -169,9 +169,9 @@ class EnumArraysArrayEnumEnum {
int get hashCode => toString().hashCode; int get hashCode => toString().hashCode;
@override @override
String toString() => value.toString(); String toString() => value;
List<String> toJson() => value; String toJson() => value;
static const fish = EnumArraysArrayEnumEnum._(r'fish'); static const fish = EnumArraysArrayEnumEnum._(r'fish');
static const crab = EnumArraysArrayEnumEnum._(r'crab'); static const crab = EnumArraysArrayEnumEnum._(r'crab');
@ -193,14 +193,14 @@ class EnumArraysArrayEnumEnum {
.toList(growable: true == growable); .toList(growable: true == growable);
} }
/// Transformation class that can [encode] an instance of [EnumArraysArrayEnumEnum] to List<String>, /// Transformation class that can [encode] an instance of [EnumArraysArrayEnumEnum] to String,
/// and [decode] dynamic data back to [EnumArraysArrayEnumEnum]. /// and [decode] dynamic data back to [EnumArraysArrayEnumEnum].
class EnumArraysArrayEnumEnumTypeTransformer { class EnumArraysArrayEnumEnumTypeTransformer {
const EnumArraysArrayEnumEnumTypeTransformer._(); const EnumArraysArrayEnumEnumTypeTransformer._();
factory EnumArraysArrayEnumEnumTypeTransformer() => _instance ??= EnumArraysArrayEnumEnumTypeTransformer._(); factory EnumArraysArrayEnumEnumTypeTransformer() => _instance ??= EnumArraysArrayEnumEnumTypeTransformer._();
List<String> encode(EnumArraysArrayEnumEnum data) => data.value; String encode(EnumArraysArrayEnumEnum data) => data.value;
/// Decodes a [dynamic value][data] to a EnumArraysArrayEnumEnum. /// Decodes a [dynamic value][data] to a EnumArraysArrayEnumEnum.
/// ///

View File

@ -80,13 +80,13 @@ class InlineObject2 {
} }
} }
/// Form parameter enum test (string array)
class InlineObject2EnumFormStringArrayEnum { class InlineObject2EnumFormStringArrayEnum {
/// Instantiate a new enum with the provided [value]. /// Instantiate a new enum with the provided [value].
const InlineObject2EnumFormStringArrayEnum._(this.value); const InlineObject2EnumFormStringArrayEnum._(this.value);
/// The underlying value of this enum member. /// The underlying value of this enum member.
final List<String> value; final String value;
@override @override
bool operator ==(Object other) => identical(this, other) || bool operator ==(Object other) => identical(this, other) ||
@ -96,9 +96,9 @@ class InlineObject2EnumFormStringArrayEnum {
int get hashCode => toString().hashCode; int get hashCode => toString().hashCode;
@override @override
String toString() => value.toString(); String toString() => value;
List<String> toJson() => value; String toJson() => value;
static const greaterThan = InlineObject2EnumFormStringArrayEnum._(r'>'); static const greaterThan = InlineObject2EnumFormStringArrayEnum._(r'>');
static const dollar = InlineObject2EnumFormStringArrayEnum._(r'$'); static const dollar = InlineObject2EnumFormStringArrayEnum._(r'$');
@ -120,14 +120,14 @@ class InlineObject2EnumFormStringArrayEnum {
.toList(growable: true == growable); .toList(growable: true == growable);
} }
/// Transformation class that can [encode] an instance of [InlineObject2EnumFormStringArrayEnum] to List<String>, /// Transformation class that can [encode] an instance of [InlineObject2EnumFormStringArrayEnum] to String,
/// and [decode] dynamic data back to [InlineObject2EnumFormStringArrayEnum]. /// and [decode] dynamic data back to [InlineObject2EnumFormStringArrayEnum].
class InlineObject2EnumFormStringArrayEnumTypeTransformer { class InlineObject2EnumFormStringArrayEnumTypeTransformer {
const InlineObject2EnumFormStringArrayEnumTypeTransformer._(); const InlineObject2EnumFormStringArrayEnumTypeTransformer._();
factory InlineObject2EnumFormStringArrayEnumTypeTransformer() => _instance ??= InlineObject2EnumFormStringArrayEnumTypeTransformer._(); factory InlineObject2EnumFormStringArrayEnumTypeTransformer() => _instance ??= InlineObject2EnumFormStringArrayEnumTypeTransformer._();
List<String> encode(InlineObject2EnumFormStringArrayEnum data) => data.value; String encode(InlineObject2EnumFormStringArrayEnum data) => data.value;
/// Decodes a [dynamic value][data] to a InlineObject2EnumFormStringArrayEnum. /// Decodes a [dynamic value][data] to a InlineObject2EnumFormStringArrayEnum.
/// ///

View File

@ -22,7 +22,7 @@ class MapTest {
Map<String, Map<String, String>> mapMapOfString; Map<String, Map<String, String>> mapMapOfString;
Map<String, dynamic> mapOfEnumString; Map<String, MapTestInnerEnum> mapOfEnumString;
Map<String, bool> directMap; Map<String, bool> directMap;
@ -109,55 +109,55 @@ class MapTest {
} }
class MapTestMapOfEnumStringEnum { class MapTestInnerEnum {
/// Instantiate a new enum with the provided [value]. /// Instantiate a new enum with the provided [value].
const MapTestMapOfEnumStringEnum._(this.value); const MapTestInnerEnum._(this.value);
/// The underlying value of this enum member. /// The underlying value of this enum member.
final Map<String, String> value; final String value;
@override @override
bool operator ==(Object other) => identical(this, other) || bool operator ==(Object other) => identical(this, other) ||
other is MapTestMapOfEnumStringEnum && other.value == value; other is MapTestInnerEnum && other.value == value;
@override @override
int get hashCode => toString().hashCode; int get hashCode => toString().hashCode;
@override @override
String toString() => value.toString(); String toString() => value;
Map<String, String> toJson() => value; String toJson() => value;
static const UPPER = MapTestMapOfEnumStringEnum._(r'UPPER'); static const UPPER = MapTestInnerEnum._(r'UPPER');
static const lower = MapTestMapOfEnumStringEnum._(r'lower'); static const lower = MapTestInnerEnum._(r'lower');
/// List of all possible values in this [enum][MapTestMapOfEnumStringEnum]. /// List of all possible values in this [enum][MapTestInnerEnum].
static const values = <MapTestMapOfEnumStringEnum>[ static const values = <MapTestInnerEnum>[
UPPER, UPPER,
lower, lower,
]; ];
static MapTestMapOfEnumStringEnum fromJson(dynamic value) => static MapTestInnerEnum fromJson(dynamic value) =>
MapTestMapOfEnumStringEnumTypeTransformer().decode(value); MapTestInnerEnumTypeTransformer().decode(value);
static List<MapTestMapOfEnumStringEnum> listFromJson(List<dynamic> json, {bool emptyIsNull, bool growable,}) => static List<MapTestInnerEnum> listFromJson(List<dynamic> json, {bool emptyIsNull, bool growable,}) =>
json == null || json.isEmpty json == null || json.isEmpty
? true == emptyIsNull ? null : <MapTestMapOfEnumStringEnum>[] ? true == emptyIsNull ? null : <MapTestInnerEnum>[]
: json : json
.map((value) => MapTestMapOfEnumStringEnum.fromJson(value)) .map((value) => MapTestInnerEnum.fromJson(value))
.toList(growable: true == growable); .toList(growable: true == growable);
} }
/// Transformation class that can [encode] an instance of [MapTestMapOfEnumStringEnum] to Map<String, String>, /// Transformation class that can [encode] an instance of [MapTestInnerEnum] to String,
/// and [decode] dynamic data back to [MapTestMapOfEnumStringEnum]. /// and [decode] dynamic data back to [MapTestInnerEnum].
class MapTestMapOfEnumStringEnumTypeTransformer { class MapTestInnerEnumTypeTransformer {
const MapTestMapOfEnumStringEnumTypeTransformer._(); const MapTestInnerEnumTypeTransformer._();
factory MapTestMapOfEnumStringEnumTypeTransformer() => _instance ??= MapTestMapOfEnumStringEnumTypeTransformer._(); factory MapTestInnerEnumTypeTransformer() => _instance ??= MapTestInnerEnumTypeTransformer._();
Map<String, String> encode(MapTestMapOfEnumStringEnum data) => data.value; String encode(MapTestInnerEnum data) => data.value;
/// Decodes a [dynamic value][data] to a MapTestMapOfEnumStringEnum. /// Decodes a [dynamic value][data] to a MapTestInnerEnum.
/// ///
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully, /// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data] /// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
@ -165,10 +165,10 @@ class MapTestMapOfEnumStringEnumTypeTransformer {
/// ///
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed, /// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
/// and users are still using an old app with the old code. /// and users are still using an old app with the old code.
MapTestMapOfEnumStringEnum decode(dynamic data, {bool allowNull}) { MapTestInnerEnum decode(dynamic data, {bool allowNull}) {
switch (data) { switch (data) {
case r'UPPER': return MapTestMapOfEnumStringEnum.UPPER; case r'UPPER': return MapTestInnerEnum.UPPER;
case r'lower': return MapTestMapOfEnumStringEnum.lower; case r'lower': return MapTestInnerEnum.lower;
default: default:
if (allowNull == false) { if (allowNull == false) {
throw ArgumentError('Unknown enum value to decode: $data'); throw ArgumentError('Unknown enum value to decode: $data');
@ -177,7 +177,7 @@ class MapTestMapOfEnumStringEnumTypeTransformer {
return null; return null;
} }
/// Singleton [MapTestMapOfEnumStringEnumTypeTransformer] instance. /// Singleton [MapTestInnerEnumTypeTransformer] instance.
static MapTestMapOfEnumStringEnumTypeTransformer _instance; static MapTestInnerEnumTypeTransformer _instance;
} }