bloc library
A predictable state management library for Dart.
Get started at bloclibrary.dev 🚀
Classes
-
Bloc<
Event, State> -
Takes a
Stream
ofEvents
as input and transforms them into aStream
ofStates
as output. -
BlocBase<
State> - An interface for the core functionality implemented by both Bloc and Cubit.
- BlocObserver
- An interface for observing the behavior of Bloc instances.
-
Change<
State> -
A Change represents the change from one
State
to another. A Change consists of the currentState and nextState. -
Cubit<
State> - A Cubit is similar to Bloc but has no notion of events and relies on methods to emit new states.
-
Emitter<
State> - An Emitter is a class which is capable of emitting new states.
-
Transition<
Event, State> - A Transition is the change from one state to another. Consists of the currentState, an event, and the nextState.
Typedefs
-
EventHandler<
Event, State> = FutureOr< void> Function(Event event, Emitter<State> emit) -
An event handler is responsible for reacting to an incoming
Event
and can emit zero or more states via the Emitter. -
EventMapper<
Event> = Stream< Event> Function(Event event) - Signature for a function which converts an incoming event into an outbound stream of events. Used when defining custom EventTransformers.
-
EventTransformer<
Event> = Stream< Event> Function(Stream<Event> events, EventMapper<Event> mapper) - Used to change how events are processed. By default events are processed concurrently.
-
TransitionFunction<
Event, State> = Stream< Transition< Function(Event)Event, State> > -
@Deprecated - Use
on<Event>
with anEventTransformer
instead. Will be removed in v8.0.0
Exceptions / Errors
- BlocUnhandledErrorException
- Exception thrown when an unhandled error occurs within a bloc.