This commit is contained in:
2025-05-25 15:21:57 +03:00
parent e2f91225d4
commit 5c0a959b62
4 changed files with 8 additions and 5 deletions

View File

@@ -11,6 +11,7 @@ class SnapshotHelper {
T? data = snapshot.data;
T? previousData = lastFetchedData;
dynamic error = snapshot.error;
StackTrace? errorST = snapshot.stackTrace;
dynamic previousError = lastError;
//
bool hasError = error != null && snapshot.hasError;
@@ -83,7 +84,7 @@ class SnapshotHelper {
} else {
//S2 -- Done loading but there is NO data! (errored)
rState = AstromicPresenterState.error;
rModel = PresenterFailureReturnModel<T>(error: error, initialData: previousData, oldBatchId: oldBatchId, batchId: currentBatchId);
rModel = PresenterFailureReturnModel<T>(error: error, errorST: errorST, initialData: previousData, oldBatchId: oldBatchId, batchId: currentBatchId);
}
}
//

View File

@@ -4,19 +4,21 @@ class PresenterReturnModel<T> {
final T? initialData; // The old data if exists
final T? data; // New data if exists
final dynamic error; // Errors if exists
final StackTrace? errorST; // StackTrace for that error.
PresenterReturnModel({
required this.batchId,
this.oldBatchId,
this.error,
this.data,
this.initialData,
this.errorST,
});
}
class PresenterSuccessReturnModel<T> extends PresenterReturnModel<T> {
PresenterSuccessReturnModel({super.initialData, super.data, super.error, required super.batchId, super.oldBatchId});
PresenterSuccessReturnModel({super.initialData, super.data, super.error, super.errorST, required super.batchId, super.oldBatchId});
}
class PresenterFailureReturnModel<T> extends PresenterReturnModel<T> {
PresenterFailureReturnModel({super.initialData, super.data, super.error, required super.batchId, super.oldBatchId});
PresenterFailureReturnModel({super.initialData, super.data, super.error, super.errorST, required super.batchId, super.oldBatchId});
}

View File

@@ -172,7 +172,7 @@ class _AstromicFuturePresenterState<T> extends State<AstromicFuturePresenter<T>>
}
//
if (returnedState == AstromicPresenterState.error && returnedModel?.error != null) {
log('Got this error in the future presenter `${widget.id}`: ${returnedModel?.error}');
log('Got this error in the future presenter `${widget.id}`', error: returnedModel?.error, stackTrace: returnedModel?.errorST);
}
//
return widget.stateBuilder != null

View File

@@ -167,7 +167,7 @@ class _AstromicStreamPresenterState<T> extends State<AstromicStreamPresenter<T>>
}
//
if (returnedState == AstromicPresenterState.error && returnedModel?.error != null) {
log('Got this error in the stream presenter `${widget.id}`: ${returnedModel?.error}');
log('Got this error in the stream presenter `${widget.id}`', error: returnedModel?.error, stackTrace: returnedModel?.errorST);
}
//
return widget.stateBuilder != null