modelWriterNamed function
The writer in writers that asked names — by ModelWriter.name first,
then by ModelWriter.suffix, with or without its dot, ignoring case — or
null when none does.
A caller that offers more than this package ships passes its own list, builtInModelWriters and its own writers together.
Implementation
ModelWriter? modelWriterNamed(
String asked, {
List<ModelWriter> writers = builtInModelWriters,
}) {
final key = asked.toLowerCase();
for (final ModelWriter writer in writers) {
if (writer.name.toLowerCase() == key) return writer;
}
final suffix = key.startsWith('.') ? key : '.$key';
for (final ModelWriter writer in writers) {
if (writer.suffix == suffix) return writer;
}
return null;
}