TF-1631 Add abstract class FcmBaseController
(cherry picked from commit 920093f24785669fe5267dca95de8754a26096f3)
This commit is contained in:
@@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
import 'package:core/presentation/state/failure.dart';
|
||||||
|
import 'package:core/presentation/state/success.dart';
|
||||||
|
import 'package:core/utils/app_logger.dart';
|
||||||
|
import 'package:dartz/dartz.dart';
|
||||||
|
|
||||||
|
abstract class FcmBaseController {
|
||||||
|
|
||||||
|
void consumeState(Stream<Either<Failure, Success>> newStateStream) {
|
||||||
|
newStateStream.listen(
|
||||||
|
_handleStateStream,
|
||||||
|
onError: (error, stackTrace) {
|
||||||
|
logError('FcmBaseController::consumeState():onError:error: $error | stackTrace: $stackTrace');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _handleStateStream(Either<Failure, Success> newState) {
|
||||||
|
newState.fold(handleFailureViewState, handleSuccessViewState);
|
||||||
|
}
|
||||||
|
|
||||||
|
void handleFailureViewState(Failure failure);
|
||||||
|
|
||||||
|
void handleSuccessViewState(Success success);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user