diff --git a/bin/configs/dart-petstore-client-lib.yaml b/bin/configs/dart-petstore-client-lib.yaml index 8b4a6deefd7..5ea43560581 100644 --- a/bin/configs/dart-petstore-client-lib.yaml +++ b/bin/configs/dart-petstore-client-lib.yaml @@ -4,3 +4,5 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/dart2 additionalProperties: hideGenerationTimestamp: "true" +enumNameMappings: + delivered: shipped diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java index 1e1dc710026..62c55f904d8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java @@ -712,6 +712,10 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { @Override public String toEnumVarName(String value, String datatype) { + if (enumNameMapping.containsKey(value)) { + return enumNameMapping.get(value); + } + if (value.length() == 0) { return "empty"; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/order.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/order.dart index 4871871516f..75f8dbee224 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/order.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/order.dart @@ -201,13 +201,13 @@ class OrderStatusEnum { static const placed = OrderStatusEnum._(r'placed'); static const approved = OrderStatusEnum._(r'approved'); - static const delivered = OrderStatusEnum._(r'delivered'); + static const shipped = OrderStatusEnum._(r'delivered'); /// List of all possible values in this [enum][OrderStatusEnum]. static const values = [ placed, approved, - delivered, + shipped, ]; static OrderStatusEnum? fromJson(dynamic value) => OrderStatusEnumTypeTransformer().decode(value); @@ -248,7 +248,7 @@ class OrderStatusEnumTypeTransformer { switch (data) { case r'placed': return OrderStatusEnum.placed; case r'approved': return OrderStatusEnum.approved; - case r'delivered': return OrderStatusEnum.delivered; + case r'delivered': return OrderStatusEnum.shipped; default: if (!allowNull) { throw ArgumentError('Unknown enum value to decode: $data');