FLUTTER ECOSYSTEM

felangel/broadcast_bloc

Uma extensão para a biblioteca de gerenciamento de estado bloc que adiciona suporte para transmitir mudanças de estado para canais de fluxo.

Capa do projeto broadcast_bloc
Stars
26
Forks
0
Último push (UTC)
13 de abr. de 2026
Status do projeto
Ativo
Felix Angelov GitHub avatar
GITHUB User

Felix Angelov ↗

software engineer by day, software engineer by night.

LinguagensDart

Pacotes publicados por este repositório

Dependências usadas

Lista de dependências 5 itens

README original

Texto original em inglês. Visite o GitHub para a versão atual.

Expandir / recolher README

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