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. If dispose has already been called, any calls to dispatchEvent 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 a delay.
inherited
debounceEvent(BlocEventCallback<E> function, {Duration delay = const Duration(milliseconds: 300)}) BlocEventCallback<E>
Debounces an event. The function will not be invoked until delay.
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 every duration.
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 the duration 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