createCopyWith static method
Implementation
static String createCopyWith({
required String className,
required Map<String, String> fields,
}) {
final args = StringBuffer();
args.write('{');
for (var element in fields.entries) {
final value = element.value;
args.write(value);
if (value[value.length - 1] != '?') args.write('?');
args.write(' ');
args.write(element.key + ',');
}
args.write('}');
final code = StringBuffer();
code.write('return $className(');
for (var element in fields.entries) {
final key = element.key;
code.write(key);
code.write(':');
code.write('$key ?? this.$key,');
}
code.write(');');
return createFunc(
returns: '// ignore: unused_element\n' + className,
name: 'copyWith',
args: args.toString(),
code: code.toString(),
private: false,
isGenerated: false,
);
}