broadcast_bloc 0.1.0-dev.1 broadcast_bloc: ^0.1.0-dev.1 copied to clipboard
An extension to the bloc state management library which adds support for broadcasting state changes to stream channels.
Broadcast Bloc #
An extension to the bloc state management library which adds support for broadcasting state changes to stream channels.
Quick Start 🚀 #
// Extend `BroadcastCubit` instead of `Cubit`.
// The package also exports:
// * `BroadcastBloc`
// * `BroadcastMixin`
class CounterCubit extends BroadcastCubit<int> {
CounterCubit() : super(0);
void increment() => emit(state + 1);
}
void main() {
final controller = StreamController<String>(sync: true);
final subscription = controller.stream.listen(print);
final channel = StreamChannel(controller.stream, controller.sink);
// Create an instance of the cubit.
final cubit = CounterCubit()
// Subscribe the channel.
..subscribe(channel)
// Trigger a state change which will be broadcast to subscribed channels.
..increment()
// Unsubscribe channel.
..unsubscribe(channel);
subscription.cancel();
cubit.close();
}