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

Constructors

IsolateBloc(State state)
Takes a Stream of Events as input and transforms them into a Stream of States 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 and state 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 while events are still being processed, the IsolateBloc will finish processing the pending events.
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 that event into a new state. mapEventToState can yield 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 given change. A change occurs when a new state is emitted. onChange is called before the state of the cubit is updated. onChange is a great spot to add logging/analytics for a specific cubit.
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 given transition. A transition occurs when a new event 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 a transitionFn function into a Stream<Transition>. Events that should be processed by mapEventToState need to be passed to transitionFn. By default asyncExpand is used to ensure all events 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 which events are processed.
transformTransitions(Stream<Transition<Event, State>> transitions) Stream<Transition<Event, State>>
Transforms the Stream<Transition> into a new Stream<Transition>. By default transformTransitions returns the incoming Stream<Transition>. You can override transformTransitions for advanced usage in order to manipulate the frequency and specificity at which transitions (state changes) occur.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

observer IsolateBlocObserver?
The current IsolateBlocObserver instance.
getter/setter pair