@@ -122,8 +122,8 @@ class APIBuilder extends Builder {
122
122
/// Initialize $classFullName .
123
123
const $classFullName ({
124
124
${_getConstructorParameters (methodName , schema , schemaType , properties )}
125
- ${_getSuperClassParameters (schemaType )},
126
- }): super(${ _getSuperClassCallParameters ( schemaType , methodName )},) ;
125
+ ${_getSuperClassConstructorParameters (schemaType , methodName )},
126
+ });
127
127
128
128
${_getFromJsonMethod (classFullName , schema , schemaType , properties )}
129
129
@@ -169,6 +169,7 @@ class APIBuilder extends Builder {
169
169
return '${_isFieldRequired (key , schemaType , property ) ? 'required ' : '' } this.${ReCase (key ).camelCase }' ;
170
170
},
171
171
).join (', ' );
172
+
172
173
return fields.isEmpty ? result : '$result , ' ;
173
174
}
174
175
@@ -380,6 +381,7 @@ class APIBuilder extends Builder {
380
381
fields.map (
381
382
(String key) {
382
383
final String name = ReCase (key).camelCase;
384
+
383
385
return '$name : $name ?? this.$name ' ;
384
386
},
385
387
).join (', ' ),
@@ -388,40 +390,45 @@ class APIBuilder extends Builder {
388
390
..write ('${_getSupperClassAssignments (schemaType )},);' );
389
391
}
390
392
391
- static String _getSuperClassParameters (String ? schemaType) {
393
+ static String _getSuperClassParameters (String schemaType) {
392
394
final Map <String , String > superClassFields =
393
395
_getSuperClassFields (schemaType);
394
396
395
- return superClassFields.keys
396
- .map ((String key) =>
397
- '${typeMap [superClassFields [key ]!]} ${ReCase (key ).camelCase }' )
398
- .join (', ' );
397
+ final Iterable <String > parameters = superClassFields.keys.map ((String key) {
398
+ final String type = typeMap[superClassFields[key]! ] ?? 'dynamic' ;
399
+ final String parameterName = ReCase (key).camelCase;
400
+
401
+ return '$type $parameterName ' ;
402
+ });
403
+
404
+ return parameters.join (', ' );
399
405
}
400
406
401
- static String _getSuperClassCallParameters (
407
+ static String _getSuperClassConstructorParameters (
402
408
String schemaType,
403
409
String methodName,
404
410
) {
405
- final StringBuffer superCallParameters = StringBuffer ();
411
+ final Map <String , String > superClassFields =
412
+ _getSuperClassFields (schemaType);
413
+ final StringBuffer superClassParameters = StringBuffer ();
406
414
407
415
if (schemaType == 'send' ) {
408
- superCallParameters .write ('msgType: \' $methodName \' ,' );
416
+ superClassParameters .write ('super. msgType = \' $methodName \' , ' );
409
417
}
410
418
411
- superCallParameters.write (_getSuperClassFields (schemaType).keys.map (
412
- (String key) {
413
- final String parameterName = ReCase (key).camelCase;
414
- return '$parameterName : $parameterName ' ;
415
- },
416
- ).join (', ' ));
419
+ final Iterable <String > parameters = superClassFields.keys
420
+ .map ((String key) => 'super.${ReCase (key ).camelCase }' );
417
421
418
- return superCallParameters.toString ();
422
+ superClassParameters.write (parameters.join (', ' ));
423
+
424
+ return superClassParameters.toString ();
419
425
}
420
426
421
427
static String _getSupperClassAssignments (String schemaType) =>
422
428
_getSuperClassFields (schemaType).keys.map (
423
429
(String key) {
424
430
final String propertyName = ReCase (key).camelCase;
431
+
425
432
return '$propertyName : $propertyName ?? this.$propertyName ' ;
426
433
},
427
434
).join (', ' );
@@ -458,7 +465,7 @@ class APIBuilder extends Builder {
458
465
}
459
466
}
460
467
461
- class GeneratedResponseJson extends Comparable <GeneratedResponseJson > {
468
+ class GeneratedResponseJson implements Comparable <GeneratedResponseJson > {
462
469
GeneratedResponseJson ({
463
470
this .msgType,
464
471
this .fileName,
0 commit comments