File tree Expand file tree Collapse file tree 2 files changed +10
-13
lines changed
json_serializable/lib/src Expand file tree Collapse file tree 2 files changed +10
-13
lines changed Original file line number Diff line number Diff line change @@ -145,11 +145,7 @@ JsonEnum _fromAnnotation(DartObject? dartObject) {
145
145
final reader = ConstantReader (dartObject);
146
146
return JsonEnum (
147
147
alwaysCreate: reader.read ('alwaysCreate' ).literalValue as bool ,
148
- fieldRename: enumValueForDartObject (
149
- reader.read ('fieldRename' ).objectValue,
150
- FieldRename .values,
151
- (f) => f.toString ().split ('.' )[1 ],
152
- ),
148
+ fieldRename: readEnum (reader.read ('fieldRename' ), FieldRename .values)! ,
153
149
valueField: reader.read ('valueField' ).literalValue as String ? ,
154
150
);
155
151
}
Original file line number Diff line number Diff line change @@ -32,13 +32,14 @@ Never throwUnsupported(FieldElement element, String message) =>
32
32
element: element,
33
33
);
34
34
35
- FieldRename ? _fromDartObject (ConstantReader reader) => reader.isNull
36
- ? null
37
- : enumValueForDartObject (
38
- reader.objectValue,
39
- FieldRename .values,
40
- (f) => f.toString ().split ('.' )[1 ],
41
- );
35
+ T ? readEnum <T extends Enum >(ConstantReader reader, List <T > values) =>
36
+ reader.isNull
37
+ ? null
38
+ : enumValueForDartObject <T >(
39
+ reader.objectValue,
40
+ values,
41
+ (f) => f.name,
42
+ );
42
43
43
44
T enumValueForDartObject <T >(
44
45
DartObject source,
@@ -62,7 +63,7 @@ JsonSerializable _valueForAnnotation(ConstantReader reader) => JsonSerializable(
62
63
disallowUnrecognizedKeys:
63
64
reader.read ('disallowUnrecognizedKeys' ).literalValue as bool ? ,
64
65
explicitToJson: reader.read ('explicitToJson' ).literalValue as bool ? ,
65
- fieldRename: _fromDartObject (reader.read ('fieldRename' )),
66
+ fieldRename: readEnum (reader.read ('fieldRename' ), FieldRename .values ),
66
67
genericArgumentFactories:
67
68
reader.read ('genericArgumentFactories' ).literalValue as bool ? ,
68
69
ignoreUnannotated: reader.read ('ignoreUnannotated' ).literalValue as bool ? ,
You can’t perform that action at this time.
0 commit comments