diff --git a/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache b/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache index 07d0b317dd38..0b9caba4af83 100644 --- a/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache +++ b/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache @@ -4,7 +4,7 @@ description: {{pubDescription}} homepage: {{pubHomepage}} environment: - sdk: '>=2.15.0 <3.0.0' + sdk: '>={{#useJsonSerializable}}2.17.0{{/useJsonSerializable}}{{^useJsonSerializable}}2.15.0{{/useJsonSerializable}} <3.0.0' dependencies: dio: '^5.0.0' diff --git a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/enum.mustache b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/enum.mustache index dbb1ed2cd22a..118fb8fc573b 100644 --- a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/enum.mustache +++ b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/enum.mustache @@ -11,7 +11,14 @@ enum {{{classname}}} { /// {{{.}}} {{/description}} @JsonValue({{#isString}}r{{/isString}}{{{value}}}) - {{{name}}}, + {{{name}}}({{^isString}}'{{/isString}}{{#isString}}r{{/isString}}{{{value}}}{{^isString}}'{{/isString}}){{^-last}},{{/-last}}{{#-last}};{{/-last}} {{/enumVars}} {{/allowableValues}} + + const {{{classname}}}(this.value); + + final String value; + + @override + String toString() => value; } \ No newline at end of file diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/model_enum_class.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/model_enum_class.dart index 8abf107d98e6..2cecd3b9c72c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/model_enum_class.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/model_enum_class.dart @@ -8,11 +8,18 @@ import 'package:json_annotation/json_annotation.dart'; enum ModelEnumClass { @JsonValue(r'_abc') - abc, + abc(r'_abc'), @JsonValue(r'-efg') - efg, + efg(r'-efg'), @JsonValue(r'(xyz)') - leftParenthesisXyzRightParenthesis, + leftParenthesisXyzRightParenthesis(r'(xyz)'), @JsonValue(r'unknown_default_open_api') - unknownDefaultOpenApi, + unknownDefaultOpenApi(r'unknown_default_open_api'); + + const ModelEnumClass(this.value); + + final String value; + + @override + String toString() => value; } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum.dart index 514507968c66..c3ba7b26a6b6 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum.dart @@ -8,11 +8,18 @@ import 'package:json_annotation/json_annotation.dart'; enum OuterEnum { @JsonValue(r'placed') - placed, + placed(r'placed'), @JsonValue(r'approved') - approved, + approved(r'approved'), @JsonValue(r'delivered') - delivered, + delivered(r'delivered'), @JsonValue(r'unknown_default_open_api') - unknownDefaultOpenApi, + unknownDefaultOpenApi(r'unknown_default_open_api'); + + const OuterEnum(this.value); + + final String value; + + @override + String toString() => value; } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_default_value.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_default_value.dart index 0c8116edea96..955683b929b3 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_default_value.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_default_value.dart @@ -8,11 +8,18 @@ import 'package:json_annotation/json_annotation.dart'; enum OuterEnumDefaultValue { @JsonValue(r'placed') - placed, + placed(r'placed'), @JsonValue(r'approved') - approved, + approved(r'approved'), @JsonValue(r'delivered') - delivered, + delivered(r'delivered'), @JsonValue(r'unknown_default_open_api') - unknownDefaultOpenApi, + unknownDefaultOpenApi(r'unknown_default_open_api'); + + const OuterEnumDefaultValue(this.value); + + final String value; + + @override + String toString() => value; } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_integer.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_integer.dart index 34268d0e9c53..b1464c0dda3c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_integer.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_integer.dart @@ -8,11 +8,18 @@ import 'package:json_annotation/json_annotation.dart'; enum OuterEnumInteger { @JsonValue(0) - number0, + number0('0'), @JsonValue(1) - number1, + number1('1'), @JsonValue(2) - number2, + number2('2'), @JsonValue(11184809) - unknownDefaultOpenApi, + unknownDefaultOpenApi('11184809'); + + const OuterEnumInteger(this.value); + + final String value; + + @override + String toString() => value; } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_integer_default_value.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_integer_default_value.dart index 97b325938828..64c416abec7c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_integer_default_value.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/outer_enum_integer_default_value.dart @@ -8,11 +8,18 @@ import 'package:json_annotation/json_annotation.dart'; enum OuterEnumIntegerDefaultValue { @JsonValue(0) - number0, + number0('0'), @JsonValue(1) - number1, + number1('1'), @JsonValue(2) - number2, + number2('2'), @JsonValue(11184809) - unknownDefaultOpenApi, + unknownDefaultOpenApi('11184809'); + + const OuterEnumIntegerDefaultValue(this.value); + + final String value; + + @override + String toString() => value; } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/single_ref_type.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/single_ref_type.dart index ca56d9841a5a..9ee2644bf813 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/single_ref_type.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/single_ref_type.dart @@ -8,9 +8,16 @@ import 'package:json_annotation/json_annotation.dart'; enum SingleRefType { @JsonValue(r'admin') - admin, + admin(r'admin'), @JsonValue(r'user') - user, + user(r'user'), @JsonValue(r'unknown_default_open_api') - unknownDefaultOpenApi, + unknownDefaultOpenApi(r'unknown_default_open_api'); + + const SingleRefType(this.value); + + final String value; + + @override + String toString() => value; } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/pubspec.yaml b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/pubspec.yaml index b8c8318dedc8..d183111a884f 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/pubspec.yaml +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/pubspec.yaml @@ -4,7 +4,7 @@ description: OpenAPI API client homepage: homepage environment: - sdk: '>=2.15.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' dependencies: dio: '^5.0.0'