openFunction method
void
openFunction({})
Opens a function/method block with arguments.
Implementation
void openFunction({
required String name,
String modifier = '',
String returnType = 'void',
List<(String, String)> positional = const [],
List<(String, String, String?)> named = const [],
}) {
final params = <String>[];
for (final arg in positional) {
params.add('${arg.$1} ${arg.$2}');
}
if (named.isNotEmpty) {
final namedParams = <String>[];
for (final arg in named) {
final type = arg.$1;
final paramName = arg.$2;
final defaultValue = arg.$3;
if (defaultValue != null && defaultValue.isNotEmpty) {
namedParams.add('$type $paramName = $defaultValue');
} else {
namedParams.add('$type $paramName');
}
}
params.add('{${namedParams.join(', ')}}');
}
modifier = modifier.isEmpty ? '' : '$modifier ';
final signature = '$returnType $name(${params.join(', ')}) $modifier{';
openBlock(signature);
}