MainBloc<E extends MainBlocEvent, S extends MainBlocState> class
abstract
A base class for all Blocs in the application.
This class extends BaseBlocDelegate and provides a foundation for creating Blocs with specific event and state types.
Type Parameters:
E
: The type of events this Bloc will handle. Must extend MainBlocEvent.S
: The type of states this Bloc will emit. Must extend MainBlocState.
Usage:
class MyBloc extends MainBloc<MyEvent, MyState> {
MyBloc() : super(MyInitialState());
}
- Inheritance
-
- Object
- BaseBlocDelegate<
E, S> - MainBloc
- Implementers
Constructors
- MainBloc(S initialState)
Properties
- commonBloc ↔ CommonBloc
-
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isClosed → bool
-
Whether the bloc is closed.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → S
-
The current state.
no setterinherited
-
stream
→ Stream<
S> -
The current stream of states.
no setterinherited
Methods
-
add(
E event) → void -
Notifies the
Bloc
of a newevent
which triggers all correspondingEventHandler
instances.inherited -
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
error
which triggersonError
with an optional StackTrace.inherited -
blocCatch(
{required Future< void> actions(), bool isLoading = true, String keyLoading = LoadingKeys.global, Future<void> onError(Object error, StackTrace stackTrace)?, Future<void> onFinally()?}) → Future<void> -
Executes a given asynchronous action within a try-catch block, handling loading states.
inherited
-
close(
) → Future< void> -
Closes the
event
andstate
Streams
. This method should be called when aBloc
is no longer needed. Onceclose
is called,events
that areadd
ed will not be processed. In addition, ifclose
is called whileevents
are still being processed, theBloc
will finish processing the pendingevents
.inherited -
emit(
S state) → void -
emit
is only for internal use and should never be called directly outside of tests. TheEmitter
instance provided to eachEventHandler
should be used instead.inherited -
hideLoading(
{String? key = LoadingKeys.global}) → void -
Hides the loading overlay for a specific key.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
on<
E extends Event> (EventHandler< E, S> handler, {EventTransformer<E> ? transformer}) → void -
Register event handler for an event of type
E
. There should only ever be one event handler per event typeE
.inherited -
onChange(
Change< S> change) → void -
Called whenever a
change
occurs with the givenchange
. Achange
occurs when a newstate
is emitted.onChange
is called before thestate
of thecubit
is updated.onChange
is a great spot to add logging/analytics for a specificcubit
.inherited -
onError(
Object error, StackTrace stackTrace) → void -
Called whenever an
error
occurs and notifiesBlocObserver.onError
.inherited -
onEvent(
E event) → void -
Called whenever an
event
isadd
ed to theBloc
. A great spot to add logging/analytics at the individualBloc
level.inherited -
onTransition(
Transition< E, S> transition) → void -
Called whenever a
transition
occurs with the giventransition
. Atransition
occurs when a newevent
is added and a new state isemitted
from a correspondingEventHandler
.inherited -
reset(
S initialState) → void -
Resets the bloc to its initial state.
inherited
-
showLoading(
{String? key = LoadingKeys.global}) → void -
Shows the loading overlay for a specific key.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited