@@ -25,15 +25,15 @@ abstract class DecodeHelper implements HelperCore {
25
25
Map <String , FieldElement > accessibleFields,
26
26
Map <String , String > unavailableReasons,
27
27
) {
28
- assert (config.createFactory);
28
+ assert (config.createFactory! );
29
29
final buffer = StringBuffer ();
30
30
31
- final mapType = config.anyMap ? 'Map' : 'Map<String, dynamic>' ;
31
+ final mapType = config.anyMap! ? 'Map' : 'Map<String, dynamic>' ;
32
32
buffer.write ('$targetClassReference '
33
33
'${prefix }FromJson${genericClassArgumentsImpl (true )}'
34
34
'($mapType json' );
35
35
36
- if (config.genericArgumentFactories) {
36
+ if (config.genericArgumentFactories! ) {
37
37
for (var arg in element.typeParameters) {
38
38
final helperName = fromJsonForType (
39
39
arg.instantiate (nullabilitySuffix: NullabilitySuffix .none),
@@ -49,8 +49,8 @@ abstract class DecodeHelper implements HelperCore {
49
49
buffer.write (') {\n ' );
50
50
51
51
String deserializeFun (String paramOrFieldName,
52
- {ParameterElement ctorParam}) =>
53
- _deserializeForField (accessibleFields[paramOrFieldName],
52
+ {ParameterElement ? ctorParam}) =>
53
+ _deserializeForField (accessibleFields[paramOrFieldName]! ,
54
54
ctorParam: ctorParam);
55
55
56
56
final data = _writeConstructorInvocation (
@@ -72,7 +72,7 @@ abstract class DecodeHelper implements HelperCore {
72
72
final checks = _checkKeys (accessibleFields.values
73
73
.where ((fe) => data.usedCtorParamsAndFields.contains (fe.name)));
74
74
75
- if (config.checked) {
75
+ if (config.checked! ) {
76
76
final classLiteral = escapeDartString (element.name);
77
77
78
78
buffer..write ('''
@@ -84,12 +84,12 @@ abstract class DecodeHelper implements HelperCore {
84
84
85
85
for (final field in data.fieldsToSet) {
86
86
buffer.writeln ();
87
- final safeName = safeNameAccess (accessibleFields[field]);
87
+ final safeName = safeNameAccess (accessibleFields[field]! );
88
88
buffer
89
89
..write ('''
90
90
\$ checkedConvert(json, $safeName , (v) => ''' )
91
91
..write ('val.$field = ' )
92
- ..write (_deserializeForField (accessibleFields[field],
92
+ ..write (_deserializeForField (accessibleFields[field]! ,
93
93
checkedProperty: true ))
94
94
..write (');' );
95
95
}
@@ -98,7 +98,7 @@ abstract class DecodeHelper implements HelperCore {
98
98
}''' );
99
99
100
100
final fieldKeyMap = Map .fromEntries (data.usedCtorParamsAndFields
101
- .map ((k) => MapEntry (k, nameAccess (accessibleFields[k])))
101
+ .map ((k) => MapEntry (k, nameAccess (accessibleFields[k]! )))
102
102
.where ((me) => me.key != me.value));
103
103
104
104
String fieldKeyMapArg;
@@ -131,22 +131,22 @@ abstract class DecodeHelper implements HelperCore {
131
131
String constantList (Iterable <FieldElement > things) =>
132
132
'const ${jsonLiteralAsDart (things .map (nameAccess ).toList ())}' ;
133
133
134
- if (config.disallowUnrecognizedKeys) {
134
+ if (config.disallowUnrecognizedKeys! ) {
135
135
final allowKeysLiteral = constantList (accessibleFields);
136
136
137
137
args.add ('allowedKeys: $allowKeysLiteral ' );
138
138
}
139
139
140
140
final requiredKeys =
141
- accessibleFields.where ((fe) => jsonKeyFor (fe).required ).toList ();
141
+ accessibleFields.where ((fe) => jsonKeyFor (fe).required ! ).toList ();
142
142
if (requiredKeys.isNotEmpty) {
143
143
final requiredKeyLiteral = constantList (requiredKeys);
144
144
145
145
args.add ('requiredKeys: $requiredKeyLiteral ' );
146
146
}
147
147
148
148
final disallowNullKeys = accessibleFields
149
- .where ((fe) => jsonKeyFor (fe).disallowNullValue)
149
+ .where ((fe) => jsonKeyFor (fe).disallowNullValue! )
150
150
.toList ();
151
151
if (disallowNullKeys.isNotEmpty) {
152
152
final disallowNullKeyLiteral = constantList (disallowNullKeys);
@@ -163,18 +163,17 @@ abstract class DecodeHelper implements HelperCore {
163
163
164
164
String _deserializeForField (
165
165
FieldElement field, {
166
- ParameterElement ctorParam,
167
- bool checkedProperty,
166
+ ParameterElement ? ctorParam,
167
+ bool checkedProperty = false ,
168
168
}) {
169
- checkedProperty ?? = false ;
170
169
final jsonKeyName = safeNameAccess (field);
171
170
final targetType = ctorParam? .type ?? field.type;
172
171
final contextHelper = getHelperContext (field);
173
172
final defaultProvided = jsonKeyFor (field).defaultValue != null ;
174
173
175
174
String value;
176
175
try {
177
- if (config.checked) {
176
+ if (config.checked! ) {
178
177
value = contextHelper
179
178
.deserialize (
180
179
targetType,
@@ -205,7 +204,7 @@ abstract class DecodeHelper implements HelperCore {
205
204
final jsonKey = jsonKeyFor (field);
206
205
final defaultValue = jsonKey.defaultValue;
207
206
if (defaultValue != null ) {
208
- if (jsonKey.disallowNullValue && jsonKey.required ) {
207
+ if (jsonKey.disallowNullValue! && jsonKey.required ! ) {
209
208
log.warning ('The `defaultValue` on field `${field .name }` will have no '
210
209
'effect because both `disallowNullValue` and `required` are set to '
211
210
'`true`.' );
0 commit comments