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