messageOutcome function
Der Ausgang, nach dem der Satz gewaehlt wird:
- ErrorOutcome.unknown, wenn der Fehler ihn selbst so fuehrt
(isOutcomeUnknown); seit 10.4.1 tut das der Transport fuer jeden
Aufruf mit Wirkung (
unknownOutcomeCallsinlib/src/v3.dart), auch fuer Druckjob, Belegmail, Einstellungen und Kopplung; - ErrorOutcome.unknown fuer jede Frist und jeden Netzfehler
(KasseneckHttpError.reasonTimeout, KasseneckHttpError.reasonNetwork)
auf einem Aufruf aus callsWithEffect, auch wenn ein Fehler selbst
rejectedfuehrt (etwa von Hand gebaut): ob die Anfrage vor dem Abriss schon draussen war, sieht das Paket nicht, und ein zweiter Versuch druckte oder mailte doppelt. Die Liste ist eine Teilmenge der Transport-Liste und bleibt als Vertrag der Kassentexte; - sonst der Ausgang des Fehlers,
nullfuer fremde Fehler.
Der Transport behaelt seinen Ausgang; nur die Wahl des Satzes ist vorsichtig.
Implementation
ErrorOutcome? messageOutcome(Object? error) {
if (isOutcomeUnknown(error)) return ErrorOutcome.unknown;
if (error is KasseneckHttpError) {
final netz = error.reason == KasseneckHttpError.reasonTimeout || error.reason == KasseneckHttpError.reasonNetwork;
if (netz && _mitWirkung.contains(error.functionName.split('/').first)) return ErrorOutcome.unknown;
return error.outcome;
}
if (error is KasseneckApiError) return error.outcome;
return null;
}