safe_bloc
library
Classes
BaseEffect
General parent effect.
Emitter <State >
An Emitter is a class which is capable of emitting new states.
EmptyTrackableError
Use as "error" without actual exception.
ErrorIdService
GeneralTrackableError
ITrackable
ITrackableError
SafeBloc <EVENT , STATE >
An extended class to SafeBlocWithPresentation that uses BaseEffect class as EFFECT.
Additionally, it also emits an UnexpectedErrorEffect if exception occurs during some use action.
SafeBlocBase <STATE , EFFECT >
SafeBlocWithPresentation <EVENT , STATE , EFFECT >
A class that extends Bloc and encapsulates the Emitter with a SafeEmitter that catches all exceptions
using a try-catch block and processes them based on specified parameters.
SafeCubit <STATE >
An extended class to SafeCubitWithPresentation that uses BaseEffect class as EFFECT.
Additionally, it also emits an UnexpectedErrorEffect if exception occurs during some use action.
SafeCubitWithPresentation <STATE , EFFECT >
A class that extends Cubit for a safeCall method that catches all exceptions
using a try-catch block and processes them based on specified parameters.
SafeEmitter <State >
An SafeEmitter is a class which is capable of emitting new states.
Also checks if stateController is not closed before each emit.
TrackableError <T >
TrackingIdService
UnexpectedError
Object that stores information about exceptions thrown in Blocs and Cubits.
UnexpectedErrorBase
API that is implemented by Bloc/Cubit's error states and effects.
UnexpectedErrorEffect
Error effect that is emitted by SafeBloc/SafeCubit if exception in its event handler/method occurs.
UnexpectedErrorHandler <BLOC extends SafeBlocBase <STATE , BaseEffect > , STATE >
Widget that listens to the events and states that implement UnexpectedErrorBase in specified the BLOC.
Subsequently, it calls onErrorAction in case of error event
or displays a errorScreen in case of error state.
Functions
blocPresentationTest <B extends BlocPresentationMixin<State , Event > , State , Event > (String description , {required B build (), AsyncFutureOrVoidCallback ? setUp , State seed ()?, FutureOr <void > act (B bloc )?, Duration ? wait , int skip = 0 , List <State > expect ()?, FutureOr <void > verify (B bloc )?, Matcher errors ()?, AsyncFutureOrVoidCallback ? tearDown , Object ? tags , List <Event > expectEvents ()? })
→ void
Typedefs
AsyncFutureOrVoidCallback
= FutureOr <void > Function()
Callback
= Future <void > Function(String trackingId )
Emit <STATE >
= void Function(STATE state )
ErrorEffectGetter <EFFECT >
= EFFECT Function(UnexpectedError error )
ErrorMapper <STATE >
= STATE? Function(ITrackableError error )
ErrorStateGetter <STATE >
= STATE Function(UnexpectedError error )
InvokeEffect <EFFECT >
= void Function(EFFECT effect )
OnError
= Future <void > Function(ITrackableError error , StackTrace stackTrace , String trackingId )
OnErrorSync
= void Function(ITrackableError error , StackTrace stackTrace , String trackingId )
OnIgnoreError
= Future <void > Function(ITrackableError error , StackTrace stackTrace )
SafeEventHandler <Event , State >
= FutureOr <void > Function(Event event , SafeEmitter <State > emit , {required String trackingId })
An event handler is responsible for reacting to an incoming Event
and can emit zero or more states via the SafeEmitter .
Contains a unique trackingId that can be passed to emitter for tracking the event.
SyncCallback
= void Function(String trackingId )
TrackingId
= String
UnexpectedErrorActionCallback
= Future <void > Function(BuildContext context , UnexpectedError error )
UnexpectedErrorWidgetBuilder
= Widget Function(BuildContext context , UnexpectedError error )