parseFeats static method
Parses Gender, Number, and Degree from a FEATS string in one pass, e.g. "Case=Nom|Gender=Masc|Number=Sing|Degree=Pos".
Implementation
static ({String? gender, String? number, String? degree}) parseFeats(String feats) {
if (feats == '_') return (gender: null, number: null, degree: null);
String? gender, number, degree;
for (final part in feats.split('|')) {
final idx = part.indexOf('=');
if (idx == -1) continue;
switch (part.substring(0, idx)) {
case 'Gender': gender = part.substring(idx + 1);
case 'Number': number = part.substring(idx + 1);
case 'Degree': degree = part.substring(idx + 1);
}
}
return (gender: gender, number: number, degree: degree);
}