findErrorRule function
Die Regel fuer einen Fehler, in derselben Reihenfolge wie im Web: zuerst
eine Regel aus errorCodeRules mit passender Art und passendem code,
dann eine aus errorOutcomeRules mit passender Art und passendem
outcome, sonst die eine Regel der Art aus errorRules.
code ist KasseneckApiError.code, outcome der Ausgang aus
messageOutcome. Wer nur errorRules nach der Art durchsucht, zeigt den
Satz von 1.0.0-rc.4: richtig, aber ohne die Verfeinerungen.
Implementation
ErrorRule findErrorRule(ErrorKind kind, {String? code, ErrorOutcome? outcome}) {
if (code != null) {
for (final r in errorCodeRules) {
if (r.kind == kind && r.codes!.contains(code)) return r;
}
}
if (outcome != null) {
for (final r in errorOutcomeRules) {
if (r.kind == kind && r.outcome == outcome) return r;
}
}
return errorRules.firstWhere((r) => r.kind == kind);
}