generateParameterClass function

String generateParameterClass(
  1. ClassElement c
)

Implementation

String generateParameterClass(ClassElement c) {
  final params = c.defaultConstructor.parameters;

  if (params.isEmpty) return '';

  final parameterList = params.toThisParameterList();
  final paramFields = params.map((p) {
    return '''
final ${p.type} ${p.displayName};
''';
  }).join();
  final keys = params.map((p) => p.displayName).join(',');

  return '''
class ${c.parameterClassName} with SaveEquitable {
  const ${c.parameterClassName}($parameterList);

  $paramFields

  @override
  List<Object?> get \$keys => [$keys];
}
''';
}