IsolateBloc<Event, State> class
abstract
Takes a Stream
of Events
as input
and transforms them into a Stream
of States
as output.
It must be created:
- from UI with createBloc<Bloc, State> function
or with
IsolateBlocProvider<Bloc, State>()
widget. - from Isolate with getBloc
You shouldn't create in manually and use it standalone.
- Inheritance
-
- Object
- IsolateBlocBase<
Event, State> - IsolateBloc
Constructors
- IsolateBloc(State state)
-
Takes a
Stream
ofEvents
as input and transforms them into aStream
ofStates
as output.
Properties
- emitted → bool
-
Whether or not first emit is called
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- id ↔ String?
-
This is bloc's id. Every IsolateBlocBase have it's own unique id used to
communicate with it's own IsolateBlocWrapper.
getter/setter pairinherited
- isClosed → bool
-
Whether the bloc is closed.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → State
-
The current state.
no setterinherited
-
stream
→ Stream<
State> -
The current state stream.
no setterinherited
Methods
-
add(
Event event) → void -
Notifies the IsolateBlocBase of a new event and calls onEventReceived.
inherited
-
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
error
which triggers onError with an optional StackTrace.inherited -
close(
) → Future< void> -
Closes the
event
andstate
Streams
. This method should be called when a IsolateBloc is no longer needed. Once close is called,events
that are added will not be processed. In addition, if close is called whileevents
are still being processed, the IsolateBloc will finish processing the pendingevents
.override -
emit(
State state) → void -
emit should never be used outside of tests.
override
-
mapEventToState(
Event event) → Stream< State> -
Must be implemented when a class extends IsolateBloc.
mapEventToState is called whenever an
event
is added and is responsible for converting thatevent
into a new state. mapEventToState canyield
zero, one, or multiple states for an event. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onChange(
Change< State> 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 notifies IsolateBlocObserver.onError.inherited -
onEvent(
Event event) → void -
Called whenever an
event
is added to the IsolateBloc. A great spot to add logging/analytics at the individual IsolateBloc level.inherited -
onEventReceived(
Event event) → void -
Called whenever new
event
received.override -
onTransition(
Transition< Event, State> transition) → void -
Called whenever a
transition
occurs with the giventransition
. Atransition
occurs when a newevent
is added and mapEventToState executed. onTransition is called before a IsolateBloc's state has been updated. A great spot to add logging/analytics at the individual IsolateBloc level. -
toString(
) → String -
A string representation of this object.
inherited
-
transformEvents(
Stream< Event> events, TransitionFunction<Event, State> transitionFn) → Stream<Transition< Event, State> > -
Transforms the
events
stream along with atransitionFn
function into aStream<Transition>
. Events that should be processed by mapEventToState need to be passed totransitionFn
. By defaultasyncExpand
is used to ensure allevents
are processed in the order in which they are received. You can override transformEvents for advanced usage in order to manipulate the frequency and specificity with which mapEventToState is called as well as whichevents
are processed. -
transformTransitions(
Stream< Transition< transitions) → Stream<Event, State> >Transition< Event, State> > -
Transforms the
Stream<Transition>
into a newStream<Transition>
. By default transformTransitions returns the incomingStream<Transition>
. You can override transformTransitions for advanced usage in order to manipulate the frequency and specificity at whichtransitions
(state changes) occur.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- observer ↔ IsolateBlocObserver?
-
The current IsolateBlocObserver instance.
getter/setter pair