broadcast_bloc 0.1.0-dev.2 copy "broadcast_bloc: ^0.1.0-dev.2" to clipboard
broadcast_bloc: ^0.1.0-dev.2 copied to clipboard

An extension to the bloc state management library which adds support for broadcasting state changes to stream channels.

Broadcast Bloc #

build coverage pub package style: very good analysis License: MIT

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();
}
22
likes
140
pub points
74%
popularity

Publisher

verified publisherfelangel.dev

An extension to the bloc state management library which adds support for broadcasting state changes to stream channels.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

bloc, stream_channel

More

Packages that depend on broadcast_bloc