FLUTTER ECOSYSTEM

felangel/broadcast_bloc

Eine Erweiterung der bloc-Bibliothek für den Zustandsmanagement, die Unterstützung für die Übertragung von Zustandsänderungen an Stream-Kanäle hinzufügt.

Projektcover von broadcast_bloc
Stars
26
Forks
0
Letzter Push (UTC)
13.04.2026
Projektstatus
Aktiv
Felix Angelov GitHub avatar
GITHUB User

Felix Angelov ↗

software engineer by day, software engineer by night.

SprachenDart

Von diesem Repository veröffentlichte Pakete

Verwendete Abhängigkeiten

Abhängigkeiten 5 Einträge

Original-README

Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.

Projekt-README ein-/ausklappen

Broadcast Bloc

build coverage pub package style: bloc lint License: MIT

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

Learn more at bloclibrary.dev!


Sponsors

Our top sponsors are shown below! [Become a Sponsor]

https://raw.githubusercontent.com/felangel/bloc/master/assets/sponsors/shorebird.png https://raw.githubusercontent.com/felangel/bloc/master/assets/sponsors/stream.png https://raw.githubusercontent.com/felangel/bloc/master/assets/sponsors/rettel.png

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();
}