BidirectionalBloc<E extends BlocEvent, S extends BlocState> class
abstract
Takes a Stream of BlocEvents as input and transforms them into a Stream of BlocStates as output.
- Inheritance
- Implementers
Constructors
-
BidirectionalBloc({BlocStateBuilder<
S> ? initialStateBuilder, S? initialState, int eventStateHistorySize = 50, bool enableForceBuildEvents = false})
Properties
- addEvent → dynamic Function(BlocEvent)
-
Notifies the BloC of a new event which triggers
mapEventToState
. Ifdispose
has already been called, any calls todispatchEvent
will be ignored and will not result in any state changes.no setter -
analyticsEventController
→ BehaviorSubject<
BlocAnalyticsEvent> -
finalinherited
- blocState ↔ S
-
The current BloC's state.
getter/setter pairinherited
-
cancelableOperations
↔ List<
CancelableOperation> -
The list of cancelable operations.
getter/setter pair
- canInitialize → bool
-
Whether the BloC can be initialized.
no setterinherited
- closed ↔ bool
-
Whether the BloC is closed.
getter/setter pairinherited
- currentState → S
-
The current BloC's state.
no setterinherited
- dispatchState → dynamic Function(S)
-
Notifies the BloC of a new state which triggers
onData
.no setterinherited - enableForceBuildEvents → bool
-
Enable force build events, if you want to force the rendering of the
bloc builder.
Indicates if the event-state history should be saved.
final
-
errorController
→ PublishSubject<
BlocError> -
The error controller.
finalinherited
-
eventStateHistory
→ Map<
E, List< String> > -
The history map that stores the event-state history.
final
- eventStateHistorySize → int
-
The maximum size of the history. Set it to null to disable the limit.
final
-
eventSubscriptions
↔ StreamSubscription<
S> -
The event subscriptions.
getter/setter pair
-
externalEventController
→ PublishSubject<
E> -
The external event controller which is used to control the event stream.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- initialState → S?
-
The initial state of the BloC.
finalinherited
-
initialStateBuilder
→ BlocStateBuilder<
S> ? -
The initial state BloC builder.
finalinherited
-
internalEventController
→ PublishSubject<
BlocEvent> -
The internal event controller which is used to control the event stream.
final
- isClosed → bool
-
Whether the BloC is closed for dispatching more events.
no setterinherited
- isInitialized ↔ bool
-
Whether the BloC is initializing.
getter/setter pairinherited
- isInitializing ↔ bool
-
Whether the BloC is initializing.
getter/setter pairinherited
-
onAnalyticsEvents
→ Stream<
BlocAnalyticsEvent> -
no setterinherited
-
onData
→ Stream<
S> -
Called whenever the BloC's state is updated.
no setterinherited
-
onError
→ Stream<
BlocError> -
Called whenever the BloC's state is updated.
no setterinherited
-
onEvent
→ Stream<
E> -
Called whenever an event is added to the BloC.
no setter
-
publishers
→ List<
PublishSubject> -
The list of publishers.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
stateController
→ BehaviorSubject<
S> -
The state controller.
finalinherited
- subxList → SubxList
-
finalinherited
- subxMap → SubxMap
-
finalinherited
Methods
-
canClose(
) → bool -
Whether the BloC can be closed.
Override this method to prevent the BloC from closing.
inherited
-
close(
) → void -
Closes the BloC.
This method should be called when the BloC is no longer needed.
override
-
debounce(
BlocDebounceCallback< BlocEvent> function, {Duration delay = const Duration(milliseconds: 300)}) → BlocDebounceCallback<BlocEvent> -
Creates a debounced function that only invokes
function
after adelay
.inherited -
debounceEvent(
BlocEventCallback< E> function, {Duration delay = const Duration(milliseconds: 300)}) → BlocEventCallback<E> -
Debounces an event. The
function
will not be invoked untildelay
. -
getEventForState(
S state) → E? -
Returns the event related to the given
state
. -
getInitialState(
) → S -
Tries to retreive the initial BloC's state.
inherited
-
handleInternalError(
dynamic error, StackTrace stackTrace) → void - Handles internal errors.
-
initState(
) → S -
Optional callback method to initialize the BloC's state.
inherited
-
mapEventToState(
E event) → Stream< S> -
Must be implemented when a class extends BidirectionalBloc.
mapEventToState
is called whenever an event is added and will convert that event into a new BloC state. It can yield zero, one or several states for an event. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
performCancellableAsyncOperation<
T> (Future< T> opreation) → Future<T?> - Performs an asynchronous operation and cancels it if the BloC is closed.
-
resetBloc(
) → void -
inherited
-
sampleEvent(
BlocEventCallback< E> function, {Duration delay = const Duration(milliseconds: 300)}) → BlocEventCallback<E> -
setState(
S nextState) → void -
Set the BloC state.
inherited
-
shouldProcessEventInOrder(
) → bool -
Determines whether a bloc ensures all
events
are processed in the order in which they are received. -
throttle(
BlocThrottleCallback< BlocEvent> function, {Duration duration = const Duration(milliseconds: 300)}) → BlocThrottleCallback<BlocEvent> -
Creates a throttled function that only invokes
function
at most once per everyduration
.inherited -
throttleEvent(
BlocEventCallback< E> function, {Duration duration = const Duration(milliseconds: 300)}) → BlocEventCallback<E> -
Throttles an event. The event will be ignored if it is dispatched within
the specified
duration
. The last event will be dispatched after theduration
has passed. -
toString(
) → String -
A string representation of this object.
inherited
-
transformError(
dynamic error, StackTrace stackTrace) → BlocError? -
Transforms the error before it is emitted.
inherited
-
updateEventStateHistory(
E event, S nextState) → void - Updates the event-state history. The event-state history is used to determine the event related to a given state.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited