From 81a125fa6f065921269c6c6ec6a0ce0a2f4c6d3b Mon Sep 17 00:00:00 2001 From: Matthew Shipton Date: Mon, 9 May 2022 19:17:33 +0100 Subject: [PATCH] Prevent serialization of non-nullable enums using _$xxxEnumMap from incorrectly producing nullable string types. For example, before this change serializing a class member of type Map produced a type Map where Map should have been produced. Nullable enums should still produce nullable types, eg. serializing List should produce List fixes 1145 --- _test_yaml/test/src/build_config.g.dart | 2 +- .../lib/src/type_helpers/enum_helper.dart | 6 +- .../test/default_value/default_value.g.dart | 2 +- .../default_value.g_any_map__checked.g.dart | 2 +- .../implicit_default_value.g.dart | 2 +- .../test/integration/integration_test.dart | 17 +++ .../test/integration/json_enum_example.dart | 32 ++++ .../test/integration/json_enum_example.g.dart | 21 +++ .../test/integration/json_test_example.g.dart | 6 +- .../json_test_example.g_any_map.g.dart | 6 +- .../input.type_enumtype.g.dart | 4 +- .../input.type_iterable.g.dart | 4 +- .../supported_types/input.type_list.g.dart | 4 +- .../supported_types/input.type_map.g.dart | 144 ++++++++++-------- .../supported_types/input.type_set.g.dart | 4 +- 15 files changed, 173 insertions(+), 83 deletions(-) diff --git a/_test_yaml/test/src/build_config.g.dart b/_test_yaml/test/src/build_config.g.dart index 72cbe0034..332000dd1 100644 --- a/_test_yaml/test/src/build_config.g.dart +++ b/_test_yaml/test/src/build_config.g.dart @@ -34,7 +34,7 @@ Config _$ConfigFromJson(Map json) => $checkedCreate( Map _$ConfigToJson(Config instance) => { 'builders': instance.builders, 'weights': - instance.weights?.map((k, e) => MapEntry(_$AutoApplyEnumMap[k], e)), + instance.weights?.map((k, e) => MapEntry(_$AutoApplyEnumMap[k]!, e)), }; const _$AutoApplyEnumMap = { diff --git a/json_serializable/lib/src/type_helpers/enum_helper.dart b/json_serializable/lib/src/type_helpers/enum_helper.dart index 40fb6997c..2d8e91765 100644 --- a/json_serializable/lib/src/type_helpers/enum_helper.dart +++ b/json_serializable/lib/src/type_helpers/enum_helper.dart @@ -29,7 +29,11 @@ class EnumHelper extends TypeHelper { context.addMember(memberContent); - return '${constMapName(targetType)}[$expression]'; + if (targetType.isNullableType) { + return '${constMapName(targetType)}[$expression]'; + } else { + return '${constMapName(targetType)}[$expression]!'; + } } @override diff --git a/json_serializable/test/default_value/default_value.g.dart b/json_serializable/test/default_value/default_value.g.dart index a923dc624..36088a33f 100644 --- a/json_serializable/test/default_value/default_value.g.dart +++ b/json_serializable/test/default_value/default_value.g.dart @@ -61,7 +61,7 @@ Map _$DefaultValueToJson(DefaultValue instance) => 'fieldSetSimple': instance.fieldSetSimple.toList(), 'fieldMapSimple': instance.fieldMapSimple, 'fieldMapListString': instance.fieldMapListString, - 'fieldEnum': _$GreekEnumMap[instance.fieldEnum], + 'fieldEnum': _$GreekEnumMap[instance.fieldEnum]!, 'constClass': instance.constClass, 'valueFromConverter': const ConstClassConverter().toJson(instance.valueFromConverter), diff --git a/json_serializable/test/default_value/default_value.g_any_map__checked.g.dart b/json_serializable/test/default_value/default_value.g_any_map__checked.g.dart index 0004ac0bc..f2ab42ae8 100644 --- a/json_serializable/test/default_value/default_value.g_any_map__checked.g.dart +++ b/json_serializable/test/default_value/default_value.g_any_map__checked.g.dart @@ -84,7 +84,7 @@ Map _$DefaultValueToJson(DefaultValue instance) => 'fieldSetSimple': instance.fieldSetSimple.toList(), 'fieldMapSimple': instance.fieldMapSimple, 'fieldMapListString': instance.fieldMapListString, - 'fieldEnum': _$GreekEnumMap[instance.fieldEnum], + 'fieldEnum': _$GreekEnumMap[instance.fieldEnum]!, 'constClass': instance.constClass, 'valueFromConverter': const ConstClassConverter().toJson(instance.valueFromConverter), diff --git a/json_serializable/test/default_value/implicit_default_value.g.dart b/json_serializable/test/default_value/implicit_default_value.g.dart index 5b92c2607..ab9ec52bb 100644 --- a/json_serializable/test/default_value/implicit_default_value.g.dart +++ b/json_serializable/test/default_value/implicit_default_value.g.dart @@ -67,7 +67,7 @@ Map _$DefaultValueImplicitToJson( 'fieldSetSimple': instance.fieldSetSimple.toList(), 'fieldMapSimple': instance.fieldMapSimple, 'fieldMapListString': instance.fieldMapListString, - 'fieldEnum': _$GreekEnumMap[instance.fieldEnum], + 'fieldEnum': _$GreekEnumMap[instance.fieldEnum]!, 'constClass': instance.constClass, 'valueFromConverter': const ConstClassConverter().toJson(instance.valueFromConverter), diff --git a/json_serializable/test/integration/integration_test.dart b/json_serializable/test/integration/integration_test.dart index 22dc186aa..2d47f61ae 100644 --- a/json_serializable/test/integration/integration_test.dart +++ b/json_serializable/test/integration/integration_test.dart @@ -304,6 +304,23 @@ void main() { expect(dayTypeEnumValues, ['no-good', 'rotten', 'very-bad']); }); + test( + 'serializing a non-nullable enum as a key in a map should produce a ' + 'non-nullable string key', () { + final cls = + Issue1145RegressionA(status: {Issue1145RegressionEnum.gamma: true}); + // Prior to issue 1145 resulted in Map + expect(cls.toJson()['status'], const TypeMatcher>()); + }); + + test( + 'serializing a nullable enum in a list should produce a list with' + ' nullable entries', () { + final cls = Issue1145RegressionB(status: [Issue1145RegressionEnum.gamma]); + // Prior to issue 1145 resulted in Map + expect(cls.toJson()['status'], const TypeMatcher>()); + }); + test('unknown as null for enum', () { expect( () => Issue559Regression.fromJson({}).status, diff --git a/json_serializable/test/integration/json_enum_example.dart b/json_serializable/test/integration/json_enum_example.dart index 5b25001f8..90f6e2006 100644 --- a/json_serializable/test/integration/json_enum_example.dart +++ b/json_serializable/test/integration/json_enum_example.dart @@ -49,3 +49,35 @@ enum Issue559RegressionEnum { beta, gamma, } + +enum Issue1145RegressionEnum { + alpha, + beta, + gamma, +} + +@JsonSerializable( + createFactory: false, +) +class Issue1145RegressionA { + Issue1145RegressionA({ + required this.status, + }); + + Map toJson() => _$Issue1145RegressionAToJson(this); + + final Map status; +} + +@JsonSerializable( + createFactory: false, +) +class Issue1145RegressionB { + Issue1145RegressionB({ + required this.status, + }); + + Map toJson() => _$Issue1145RegressionBToJson(this); + + final List status; +} diff --git a/json_serializable/test/integration/json_enum_example.g.dart b/json_serializable/test/integration/json_enum_example.g.dart index a41a825af..609cdd9c9 100644 --- a/json_serializable/test/integration/json_enum_example.g.dart +++ b/json_serializable/test/integration/json_enum_example.g.dart @@ -26,6 +26,27 @@ const _$Issue559RegressionEnumEnumMap = { Issue559RegressionEnum.gamma: 'gamma', }; +Map _$Issue1145RegressionAToJson( + Issue1145RegressionA instance) => + { + 'status': instance.status + .map((k, e) => MapEntry(_$Issue1145RegressionEnumEnumMap[k]!, e)), + }; + +const _$Issue1145RegressionEnumEnumMap = { + Issue1145RegressionEnum.alpha: 'alpha', + Issue1145RegressionEnum.beta: 'beta', + Issue1145RegressionEnum.gamma: 'gamma', +}; + +Map _$Issue1145RegressionBToJson( + Issue1145RegressionB instance) => + { + 'status': instance.status + .map((e) => _$Issue1145RegressionEnumEnumMap[e]) + .toList(), + }; + const _$StandAloneEnumEnumMap = { StandAloneEnum.alpha: 'a', StandAloneEnum.beta: 'b', diff --git a/json_serializable/test/integration/json_test_example.g.dart b/json_serializable/test/integration/json_test_example.g.dart index b4ac755e8..432455f76 100644 --- a/json_serializable/test/integration/json_test_example.g.dart +++ b/json_serializable/test/integration/json_test_example.g.dart @@ -37,13 +37,13 @@ Map _$PersonToJson(Person instance) => { 'lastName': instance.lastName, 'middleName': instance.middleName, 'dateOfBirth': instance.dateOfBirth?.toIso8601String(), - r'$house': _$CategoryEnumMap[instance.house], + r'$house': _$CategoryEnumMap[instance.house]!, 'order': instance.order, 'customOrders': instance.customOrders, 'houseMap': - instance.houseMap?.map((k, e) => MapEntry(k, _$CategoryEnumMap[e])), + instance.houseMap?.map((k, e) => MapEntry(k, _$CategoryEnumMap[e]!)), 'categoryCounts': instance.categoryCounts - ?.map((k, e) => MapEntry(_$CategoryEnumMap[k], e)), + ?.map((k, e) => MapEntry(_$CategoryEnumMap[k]!, e)), }; const _$CategoryEnumMap = { diff --git a/json_serializable/test/integration/json_test_example.g_any_map.g.dart b/json_serializable/test/integration/json_test_example.g_any_map.g.dart index cf1e068dd..13390d797 100644 --- a/json_serializable/test/integration/json_test_example.g_any_map.g.dart +++ b/json_serializable/test/integration/json_test_example.g_any_map.g.dart @@ -37,13 +37,13 @@ Map _$PersonToJson(Person instance) => { 'lastName': instance.lastName, 'middleName': instance.middleName, 'dateOfBirth': instance.dateOfBirth?.toIso8601String(), - r'$house': _$CategoryEnumMap[instance.house], + r'$house': _$CategoryEnumMap[instance.house]!, 'order': instance.order, 'customOrders': instance.customOrders, 'houseMap': - instance.houseMap?.map((k, e) => MapEntry(k, _$CategoryEnumMap[e])), + instance.houseMap?.map((k, e) => MapEntry(k, _$CategoryEnumMap[e]!)), 'categoryCounts': instance.categoryCounts - ?.map((k, e) => MapEntry(_$CategoryEnumMap[k], e)), + ?.map((k, e) => MapEntry(_$CategoryEnumMap[k]!, e)), }; const _$CategoryEnumMap = { diff --git a/json_serializable/test/supported_types/input.type_enumtype.g.dart b/json_serializable/test/supported_types/input.type_enumtype.g.dart index 6f8fa4a70..b8f1901fc 100644 --- a/json_serializable/test/supported_types/input.type_enumtype.g.dart +++ b/json_serializable/test/supported_types/input.type_enumtype.g.dart @@ -16,8 +16,8 @@ SimpleClass _$SimpleClassFromJson(Map json) => SimpleClass( Map _$SimpleClassToJson(SimpleClass instance) => { - 'value': _$EnumTypeEnumMap[instance.value], - 'withDefault': _$EnumTypeEnumMap[instance.withDefault], + 'value': _$EnumTypeEnumMap[instance.value]!, + 'withDefault': _$EnumTypeEnumMap[instance.withDefault]!, }; const _$EnumTypeEnumMap = { diff --git a/json_serializable/test/supported_types/input.type_iterable.g.dart b/json_serializable/test/supported_types/input.type_iterable.g.dart index 388702120..1433484ec 100644 --- a/json_serializable/test/supported_types/input.type_iterable.g.dart +++ b/json_serializable/test/supported_types/input.type_iterable.g.dart @@ -314,7 +314,7 @@ SimpleClassOfEnumType _$SimpleClassOfEnumTypeFromJson( Map _$SimpleClassOfEnumTypeToJson( SimpleClassOfEnumType instance) => { - 'value': instance.value.map((e) => _$EnumTypeEnumMap[e]).toList(), + 'value': instance.value.map((e) => _$EnumTypeEnumMap[e]!).toList(), }; const _$EnumTypeEnumMap = { @@ -334,7 +334,7 @@ SimpleClassNullableOfEnumType _$SimpleClassNullableOfEnumTypeFromJson( Map _$SimpleClassNullableOfEnumTypeToJson( SimpleClassNullableOfEnumType instance) => { - 'value': instance.value?.map((e) => _$EnumTypeEnumMap[e]).toList(), + 'value': instance.value?.map((e) => _$EnumTypeEnumMap[e]!).toList(), }; SimpleClassOfEnumTypeNullable _$SimpleClassOfEnumTypeNullableFromJson( diff --git a/json_serializable/test/supported_types/input.type_list.g.dart b/json_serializable/test/supported_types/input.type_list.g.dart index b20b902e4..9c6a1fe88 100644 --- a/json_serializable/test/supported_types/input.type_list.g.dart +++ b/json_serializable/test/supported_types/input.type_list.g.dart @@ -337,7 +337,7 @@ SimpleClassOfEnumType _$SimpleClassOfEnumTypeFromJson( Map _$SimpleClassOfEnumTypeToJson( SimpleClassOfEnumType instance) => { - 'value': instance.value.map((e) => _$EnumTypeEnumMap[e]).toList(), + 'value': instance.value.map((e) => _$EnumTypeEnumMap[e]!).toList(), }; const _$EnumTypeEnumMap = { @@ -358,7 +358,7 @@ SimpleClassNullableOfEnumType _$SimpleClassNullableOfEnumTypeFromJson( Map _$SimpleClassNullableOfEnumTypeToJson( SimpleClassNullableOfEnumType instance) => { - 'value': instance.value?.map((e) => _$EnumTypeEnumMap[e]).toList(), + 'value': instance.value?.map((e) => _$EnumTypeEnumMap[e]!).toList(), }; SimpleClassOfEnumTypeNullable _$SimpleClassOfEnumTypeNullableFromJson( diff --git a/json_serializable/test/supported_types/input.type_map.g.dart b/json_serializable/test/supported_types/input.type_map.g.dart index 3e78f5f8b..82b579e23 100644 --- a/json_serializable/test/supported_types/input.type_map.g.dart +++ b/json_serializable/test/supported_types/input.type_map.g.dart @@ -134,7 +134,7 @@ Map _$SimpleClassOfEnumTypeToBigIntToJson( SimpleClassOfEnumTypeToBigInt instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e.toString())), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e.toString())), }; const _$EnumTypeEnumMap = { @@ -158,7 +158,7 @@ Map _$SimpleClassNullableOfEnumTypeToBigIntToJson( SimpleClassNullableOfEnumTypeToBigInt instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e.toString())), + ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e.toString())), }; SimpleClassOfIntToBigInt _$SimpleClassOfIntToBigIntFromJson( @@ -387,7 +387,7 @@ Map _$SimpleClassOfEnumTypeToBigIntNullableToJson( SimpleClassOfEnumTypeToBigIntNullable instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e?.toString())), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e?.toString())), }; SimpleClassNullableOfEnumTypeToBigIntNullable @@ -404,7 +404,7 @@ Map _$SimpleClassNullableOfEnumTypeToBigIntNullableToJson( SimpleClassNullableOfEnumTypeToBigIntNullable instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e?.toString())), + ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e?.toString())), }; SimpleClassOfIntToBigIntNullable _$SimpleClassOfIntToBigIntNullableFromJson( @@ -624,7 +624,7 @@ SimpleClassOfEnumTypeToBool _$SimpleClassOfEnumTypeToBoolFromJson( Map _$SimpleClassOfEnumTypeToBoolToJson( SimpleClassOfEnumTypeToBool instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToBool @@ -638,7 +638,8 @@ SimpleClassNullableOfEnumTypeToBool Map _$SimpleClassNullableOfEnumTypeToBoolToJson( SimpleClassNullableOfEnumTypeToBool instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToBool _$SimpleClassOfIntToBoolFromJson( @@ -845,7 +846,7 @@ SimpleClassOfEnumTypeToBoolNullable Map _$SimpleClassOfEnumTypeToBoolNullableToJson( SimpleClassOfEnumTypeToBoolNullable instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToBoolNullable @@ -860,7 +861,8 @@ SimpleClassNullableOfEnumTypeToBoolNullable Map _$SimpleClassNullableOfEnumTypeToBoolNullableToJson( SimpleClassNullableOfEnumTypeToBoolNullable instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToBoolNullable _$SimpleClassOfIntToBoolNullableFromJson( @@ -1079,7 +1081,7 @@ Map _$SimpleClassOfEnumTypeToDateTimeToJson( SimpleClassOfEnumTypeToDateTime instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e.toIso8601String())), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e.toIso8601String())), }; SimpleClassNullableOfEnumTypeToDateTime @@ -1096,7 +1098,7 @@ Map _$SimpleClassNullableOfEnumTypeToDateTimeToJson( SimpleClassNullableOfEnumTypeToDateTime instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e.toIso8601String())), + ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e.toIso8601String())), }; SimpleClassOfIntToDateTime _$SimpleClassOfIntToDateTimeFromJson( @@ -1331,7 +1333,7 @@ Map _$SimpleClassOfEnumTypeToDateTimeNullableToJson( SimpleClassOfEnumTypeToDateTimeNullable instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e?.toIso8601String())), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e?.toIso8601String())), }; SimpleClassNullableOfEnumTypeToDateTimeNullable @@ -1347,8 +1349,8 @@ SimpleClassNullableOfEnumTypeToDateTimeNullable Map _$SimpleClassNullableOfEnumTypeToDateTimeNullableToJson( SimpleClassNullableOfEnumTypeToDateTimeNullable instance) => { - 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e?.toIso8601String())), + 'value': instance.value?.map( + (k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e?.toIso8601String())), }; SimpleClassOfIntToDateTimeNullable _$SimpleClassOfIntToDateTimeNullableFromJson( @@ -1578,7 +1580,7 @@ SimpleClassOfEnumTypeToDouble _$SimpleClassOfEnumTypeToDoubleFromJson( Map _$SimpleClassOfEnumTypeToDoubleToJson( SimpleClassOfEnumTypeToDouble instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToDouble @@ -1594,7 +1596,8 @@ SimpleClassNullableOfEnumTypeToDouble Map _$SimpleClassNullableOfEnumTypeToDoubleToJson( SimpleClassNullableOfEnumTypeToDouble instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToDouble _$SimpleClassOfIntToDoubleFromJson( @@ -1810,7 +1813,7 @@ SimpleClassOfEnumTypeToDoubleNullable Map _$SimpleClassOfEnumTypeToDoubleNullableToJson( SimpleClassOfEnumTypeToDoubleNullable instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToDoubleNullable @@ -1826,7 +1829,8 @@ SimpleClassNullableOfEnumTypeToDoubleNullable Map _$SimpleClassNullableOfEnumTypeToDoubleNullableToJson( SimpleClassNullableOfEnumTypeToDoubleNullable instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToDoubleNullable _$SimpleClassOfIntToDoubleNullableFromJson( @@ -2051,7 +2055,7 @@ Map _$SimpleClassOfEnumTypeToDurationToJson( SimpleClassOfEnumTypeToDuration instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e.inMicroseconds)), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e.inMicroseconds)), }; SimpleClassNullableOfEnumTypeToDuration @@ -2068,7 +2072,7 @@ Map _$SimpleClassNullableOfEnumTypeToDurationToJson( SimpleClassNullableOfEnumTypeToDuration instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e.inMicroseconds)), + ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e.inMicroseconds)), }; SimpleClassOfIntToDuration _$SimpleClassOfIntToDurationFromJson( @@ -2303,7 +2307,7 @@ Map _$SimpleClassOfEnumTypeToDurationNullableToJson( SimpleClassOfEnumTypeToDurationNullable instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e?.inMicroseconds)), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e?.inMicroseconds)), }; SimpleClassNullableOfEnumTypeToDurationNullable @@ -2320,7 +2324,7 @@ Map _$SimpleClassNullableOfEnumTypeToDurationNullableToJson( SimpleClassNullableOfEnumTypeToDurationNullable instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e?.inMicroseconds)), + ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e?.inMicroseconds)), }; SimpleClassOfIntToDurationNullable _$SimpleClassOfIntToDurationNullableFromJson( @@ -2546,7 +2550,7 @@ SimpleClassOfEnumTypeToDynamic _$SimpleClassOfEnumTypeToDynamicFromJson( Map _$SimpleClassOfEnumTypeToDynamicToJson( SimpleClassOfEnumTypeToDynamic instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToDynamic @@ -2561,7 +2565,8 @@ SimpleClassNullableOfEnumTypeToDynamic Map _$SimpleClassNullableOfEnumTypeToDynamicToJson( SimpleClassNullableOfEnumTypeToDynamic instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToDynamic _$SimpleClassOfIntToDynamicFromJson( @@ -2680,7 +2685,7 @@ Map _$SimpleClassOfBigIntToEnumTypeToJson( SimpleClassOfBigIntToEnumType instance) => { 'value': instance.value - .map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e])), + .map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e]!)), }; SimpleClassNullableOfBigIntToEnumType @@ -2697,7 +2702,7 @@ Map _$SimpleClassNullableOfBigIntToEnumTypeToJson( SimpleClassNullableOfBigIntToEnumType instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e])), + ?.map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e]!)), }; SimpleClassOfDateTimeToEnumType _$SimpleClassOfDateTimeToEnumTypeFromJson( @@ -2713,7 +2718,7 @@ Map _$SimpleClassOfDateTimeToEnumTypeToJson( SimpleClassOfDateTimeToEnumType instance) => { 'value': instance.value - .map((k, e) => MapEntry(k.toIso8601String(), _$EnumTypeEnumMap[e])), + .map((k, e) => MapEntry(k.toIso8601String(), _$EnumTypeEnumMap[e]!)), }; SimpleClassNullableOfDateTimeToEnumType @@ -2730,7 +2735,7 @@ Map _$SimpleClassNullableOfDateTimeToEnumTypeToJson( SimpleClassNullableOfDateTimeToEnumType instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(k.toIso8601String(), _$EnumTypeEnumMap[e])), + ?.map((k, e) => MapEntry(k.toIso8601String(), _$EnumTypeEnumMap[e]!)), }; SimpleClassOfDynamicToEnumType _$SimpleClassOfDynamicToEnumTypeFromJson( @@ -2744,7 +2749,7 @@ SimpleClassOfDynamicToEnumType _$SimpleClassOfDynamicToEnumTypeFromJson( Map _$SimpleClassOfDynamicToEnumTypeToJson( SimpleClassOfDynamicToEnumType instance) => { - 'value': instance.value.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e])), + 'value': instance.value.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e]!)), }; SimpleClassNullableOfDynamicToEnumType @@ -2759,7 +2764,8 @@ SimpleClassNullableOfDynamicToEnumType Map _$SimpleClassNullableOfDynamicToEnumTypeToJson( SimpleClassNullableOfDynamicToEnumType instance) => { - 'value': instance.value?.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e])), + 'value': + instance.value?.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e]!)), }; SimpleClassOfEnumTypeToEnumType _$SimpleClassOfEnumTypeToEnumTypeFromJson( @@ -2774,8 +2780,8 @@ SimpleClassOfEnumTypeToEnumType _$SimpleClassOfEnumTypeToEnumTypeFromJson( Map _$SimpleClassOfEnumTypeToEnumTypeToJson( SimpleClassOfEnumTypeToEnumType instance) => { - 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], _$EnumTypeEnumMap[e])), + 'value': instance.value.map( + (k, e) => MapEntry(_$EnumTypeEnumMap[k]!, _$EnumTypeEnumMap[e]!)), }; SimpleClassNullableOfEnumTypeToEnumType @@ -2791,8 +2797,8 @@ SimpleClassNullableOfEnumTypeToEnumType Map _$SimpleClassNullableOfEnumTypeToEnumTypeToJson( SimpleClassNullableOfEnumTypeToEnumType instance) => { - 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], _$EnumTypeEnumMap[e])), + 'value': instance.value?.map( + (k, e) => MapEntry(_$EnumTypeEnumMap[k]!, _$EnumTypeEnumMap[e]!)), }; SimpleClassOfIntToEnumType _$SimpleClassOfIntToEnumTypeFromJson( @@ -2807,7 +2813,7 @@ Map _$SimpleClassOfIntToEnumTypeToJson( SimpleClassOfIntToEnumType instance) => { 'value': instance.value - .map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e])), + .map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e]!)), }; SimpleClassNullableOfIntToEnumType _$SimpleClassNullableOfIntToEnumTypeFromJson( @@ -2822,7 +2828,7 @@ Map _$SimpleClassNullableOfIntToEnumTypeToJson( SimpleClassNullableOfIntToEnumType instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e])), + ?.map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e]!)), }; SimpleClassOfObjectToEnumType _$SimpleClassOfObjectToEnumTypeFromJson( @@ -2836,7 +2842,7 @@ SimpleClassOfObjectToEnumType _$SimpleClassOfObjectToEnumTypeFromJson( Map _$SimpleClassOfObjectToEnumTypeToJson( SimpleClassOfObjectToEnumType instance) => { - 'value': instance.value.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e])), + 'value': instance.value.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e]!)), }; SimpleClassNullableOfObjectToEnumType @@ -2851,7 +2857,8 @@ SimpleClassNullableOfObjectToEnumType Map _$SimpleClassNullableOfObjectToEnumTypeToJson( SimpleClassNullableOfObjectToEnumType instance) => { - 'value': instance.value?.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e])), + 'value': + instance.value?.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e]!)), }; SimpleClassOfStringToEnumType _$SimpleClassOfStringToEnumTypeFromJson( @@ -2865,7 +2872,7 @@ SimpleClassOfStringToEnumType _$SimpleClassOfStringToEnumTypeFromJson( Map _$SimpleClassOfStringToEnumTypeToJson( SimpleClassOfStringToEnumType instance) => { - 'value': instance.value.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e])), + 'value': instance.value.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e]!)), }; SimpleClassNullableOfStringToEnumType @@ -2880,7 +2887,8 @@ SimpleClassNullableOfStringToEnumType Map _$SimpleClassNullableOfStringToEnumTypeToJson( SimpleClassNullableOfStringToEnumType instance) => { - 'value': instance.value?.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e])), + 'value': + instance.value?.map((k, e) => MapEntry(k, _$EnumTypeEnumMap[e]!)), }; SimpleClassOfUriToEnumType _$SimpleClassOfUriToEnumTypeFromJson( @@ -2895,7 +2903,7 @@ Map _$SimpleClassOfUriToEnumTypeToJson( SimpleClassOfUriToEnumType instance) => { 'value': instance.value - .map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e])), + .map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e]!)), }; SimpleClassNullableOfUriToEnumType _$SimpleClassNullableOfUriToEnumTypeFromJson( @@ -2910,7 +2918,7 @@ Map _$SimpleClassNullableOfUriToEnumTypeToJson( SimpleClassNullableOfUriToEnumType instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e])), + ?.map((k, e) => MapEntry(k.toString(), _$EnumTypeEnumMap[e]!)), }; SimpleClassOfBigIntToEnumTypeNullable @@ -3025,7 +3033,7 @@ Map _$SimpleClassOfEnumTypeToEnumTypeNullableToJson( SimpleClassOfEnumTypeToEnumTypeNullable instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], _$EnumTypeEnumMap[e])), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, _$EnumTypeEnumMap[e])), }; SimpleClassNullableOfEnumTypeToEnumTypeNullable @@ -3041,8 +3049,8 @@ SimpleClassNullableOfEnumTypeToEnumTypeNullable Map _$SimpleClassNullableOfEnumTypeToEnumTypeNullableToJson( SimpleClassNullableOfEnumTypeToEnumTypeNullable instance) => { - 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], _$EnumTypeEnumMap[e])), + 'value': instance.value?.map( + (k, e) => MapEntry(_$EnumTypeEnumMap[k]!, _$EnumTypeEnumMap[e])), }; SimpleClassOfIntToEnumTypeNullable _$SimpleClassOfIntToEnumTypeNullableFromJson( @@ -3264,7 +3272,7 @@ SimpleClassOfEnumTypeToInt _$SimpleClassOfEnumTypeToIntFromJson( Map _$SimpleClassOfEnumTypeToIntToJson( SimpleClassOfEnumTypeToInt instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToInt _$SimpleClassNullableOfEnumTypeToIntFromJson( @@ -3278,7 +3286,8 @@ SimpleClassNullableOfEnumTypeToInt _$SimpleClassNullableOfEnumTypeToIntFromJson( Map _$SimpleClassNullableOfEnumTypeToIntToJson( SimpleClassNullableOfEnumTypeToInt instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToInt _$SimpleClassOfIntToIntFromJson( @@ -3485,7 +3494,7 @@ SimpleClassOfEnumTypeToIntNullable _$SimpleClassOfEnumTypeToIntNullableFromJson( Map _$SimpleClassOfEnumTypeToIntNullableToJson( SimpleClassOfEnumTypeToIntNullable instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToIntNullable @@ -3500,7 +3509,8 @@ SimpleClassNullableOfEnumTypeToIntNullable Map _$SimpleClassNullableOfEnumTypeToIntNullableToJson( SimpleClassNullableOfEnumTypeToIntNullable instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToIntNullable _$SimpleClassOfIntToIntNullableFromJson( @@ -3708,7 +3718,7 @@ SimpleClassOfEnumTypeToNum _$SimpleClassOfEnumTypeToNumFromJson( Map _$SimpleClassOfEnumTypeToNumToJson( SimpleClassOfEnumTypeToNum instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToNum _$SimpleClassNullableOfEnumTypeToNumFromJson( @@ -3722,7 +3732,8 @@ SimpleClassNullableOfEnumTypeToNum _$SimpleClassNullableOfEnumTypeToNumFromJson( Map _$SimpleClassNullableOfEnumTypeToNumToJson( SimpleClassNullableOfEnumTypeToNum instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToNum _$SimpleClassOfIntToNumFromJson( @@ -3929,7 +3940,7 @@ SimpleClassOfEnumTypeToNumNullable _$SimpleClassOfEnumTypeToNumNullableFromJson( Map _$SimpleClassOfEnumTypeToNumNullableToJson( SimpleClassOfEnumTypeToNumNullable instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToNumNullable @@ -3944,7 +3955,8 @@ SimpleClassNullableOfEnumTypeToNumNullable Map _$SimpleClassNullableOfEnumTypeToNumNullableToJson( SimpleClassNullableOfEnumTypeToNumNullable instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToNumNullable _$SimpleClassOfIntToNumNullableFromJson( @@ -4155,7 +4167,7 @@ SimpleClassOfEnumTypeToObject _$SimpleClassOfEnumTypeToObjectFromJson( Map _$SimpleClassOfEnumTypeToObjectToJson( SimpleClassOfEnumTypeToObject instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToObject @@ -4170,7 +4182,8 @@ SimpleClassNullableOfEnumTypeToObject Map _$SimpleClassNullableOfEnumTypeToObjectToJson( SimpleClassNullableOfEnumTypeToObject instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToObject _$SimpleClassOfIntToObjectFromJson( @@ -4381,7 +4394,7 @@ SimpleClassOfEnumTypeToObjectNullable Map _$SimpleClassOfEnumTypeToObjectNullableToJson( SimpleClassOfEnumTypeToObjectNullable instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToObjectNullable @@ -4396,7 +4409,8 @@ SimpleClassNullableOfEnumTypeToObjectNullable Map _$SimpleClassNullableOfEnumTypeToObjectNullableToJson( SimpleClassNullableOfEnumTypeToObjectNullable instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToObjectNullable _$SimpleClassOfIntToObjectNullableFromJson( @@ -4601,7 +4615,7 @@ SimpleClassOfEnumTypeToString _$SimpleClassOfEnumTypeToStringFromJson( Map _$SimpleClassOfEnumTypeToStringToJson( SimpleClassOfEnumTypeToString instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToString @@ -4616,7 +4630,8 @@ SimpleClassNullableOfEnumTypeToString Map _$SimpleClassNullableOfEnumTypeToStringToJson( SimpleClassNullableOfEnumTypeToString instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToString _$SimpleClassOfIntToStringFromJson( @@ -4825,7 +4840,7 @@ SimpleClassOfEnumTypeToStringNullable Map _$SimpleClassOfEnumTypeToStringNullableToJson( SimpleClassOfEnumTypeToStringNullable instance) => { - 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': instance.value.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassNullableOfEnumTypeToStringNullable @@ -4840,7 +4855,8 @@ SimpleClassNullableOfEnumTypeToStringNullable Map _$SimpleClassNullableOfEnumTypeToStringNullableToJson( SimpleClassNullableOfEnumTypeToStringNullable instance) => { - 'value': instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e)), + 'value': + instance.value?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e)), }; SimpleClassOfIntToStringNullable _$SimpleClassOfIntToStringNullableFromJson( @@ -5056,7 +5072,7 @@ Map _$SimpleClassOfEnumTypeToUriToJson( SimpleClassOfEnumTypeToUri instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e.toString())), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e.toString())), }; SimpleClassNullableOfEnumTypeToUri _$SimpleClassNullableOfEnumTypeToUriFromJson( @@ -5072,7 +5088,7 @@ Map _$SimpleClassNullableOfEnumTypeToUriToJson( SimpleClassNullableOfEnumTypeToUri instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e.toString())), + ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e.toString())), }; SimpleClassOfIntToUri _$SimpleClassOfIntToUriFromJson( @@ -5299,7 +5315,7 @@ Map _$SimpleClassOfEnumTypeToUriNullableToJson( SimpleClassOfEnumTypeToUriNullable instance) => { 'value': instance.value - .map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e?.toString())), + .map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e?.toString())), }; SimpleClassNullableOfEnumTypeToUriNullable @@ -5316,7 +5332,7 @@ Map _$SimpleClassNullableOfEnumTypeToUriNullableToJson( SimpleClassNullableOfEnumTypeToUriNullable instance) => { 'value': instance.value - ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k], e?.toString())), + ?.map((k, e) => MapEntry(_$EnumTypeEnumMap[k]!, e?.toString())), }; SimpleClassOfIntToUriNullable _$SimpleClassOfIntToUriNullableFromJson( diff --git a/json_serializable/test/supported_types/input.type_set.g.dart b/json_serializable/test/supported_types/input.type_set.g.dart index f46938826..38f681536 100644 --- a/json_serializable/test/supported_types/input.type_set.g.dart +++ b/json_serializable/test/supported_types/input.type_set.g.dart @@ -339,7 +339,7 @@ SimpleClassOfEnumType _$SimpleClassOfEnumTypeFromJson( Map _$SimpleClassOfEnumTypeToJson( SimpleClassOfEnumType instance) => { - 'value': instance.value.map((e) => _$EnumTypeEnumMap[e]).toList(), + 'value': instance.value.map((e) => _$EnumTypeEnumMap[e]!).toList(), }; const _$EnumTypeEnumMap = { @@ -360,7 +360,7 @@ SimpleClassNullableOfEnumType _$SimpleClassNullableOfEnumTypeFromJson( Map _$SimpleClassNullableOfEnumTypeToJson( SimpleClassNullableOfEnumType instance) => { - 'value': instance.value?.map((e) => _$EnumTypeEnumMap[e]).toList(), + 'value': instance.value?.map((e) => _$EnumTypeEnumMap[e]!).toList(), }; SimpleClassOfEnumTypeNullable _$SimpleClassOfEnumTypeNullableFromJson(