hydrated_bloc library Null safety
Get started at bloclibrary.dev 🚀
Eventsas input and transforms them into a
- An interface for the core functionality implemented by both Bloc and Cubit.
Event extends Object?>
- An ErrorSink that supports adding events.
- An interface for observing the behavior of Bloc instances.
- This class facilitates overriding BlocObserver and EventTransformer. It should be extended by another class in client code with overrides that construct a custom implementation. The implementation in this class defaults to the base blocObserver and eventTransformer implementation. For example:
A Change represents the change from one
Stateto another. A Change consists of the currentState and nextState.
- An object that must be closed when no longer in use.
- A Cubit is similar to Bloc but has no notion of events and relies on methods to emit new states.
State extends Object?>
- An object that can emit new states.
- An Emitter is a class which is capable of emitting new states.
- A generic destination for errors.
- Default encryption algorithm. Uses AES256 CBC with PKCS7 padding.
- Specialized Bloc which handles initializing the Bloc state based on the persisted state. This allows state to be persisted across hot restarts as well as complete app restarts.
- Abstract cipher can be implemented to customize encryption.
- Specialized Cubit which handles initializing the Cubit state based on the persisted state. This allows state to be persisted across application restarts.
- Implementation of Storage which uses package:hive to persist and retrieve state changes from the local device.
- A Streamable that provides synchronous access to the current state.
- A StateStreamable that must be closed when no longer in use.
- Interface which is used to persist and retrieve state changes.
State extends Object?>
- An object that provides access to a stream of states over time.
- A Transition is the change from one state to another. Consists of the currentState, an event, and the nextState.
Event, State> = FutureOr< void>Function(Event event, Emitter< State>emit)
An event handler is responsible for reacting to an incoming
Eventand can emit zero or more states via the Emitter.
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.
Event> = Stream< Event>Function(Stream< Event>events, EventMapper< Event>mapper)
- Used to change how events are processed. By default events are processed concurrently.
Exceptions / Errors
- Reports that an object could not be serialized due to cyclic references. When the cycle is detected, a HydratedCyclicError is thrown.
- Reports that an object could not be serialized. The unsupportedObject field holds object that failed to be serialized.
- Exception thrown if there was no HydratedStorage specified. This is most likely due to forgetting to setup the HydratedStorage: