findErrorRule function

ErrorRule findErrorRule(
  1. ErrorKind kind, {
  2. String? code,
  3. ErrorOutcome? outcome,
})

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);
}