bloc_stream 4.0.3 copy "bloc_stream: ^4.0.3" to clipboard
bloc_stream: ^4.0.3 copied to clipboard

discontinued
outdated

A simple package that helps you to implement the BLoC pattern in your applications.

A simple package that helps you to implement the BLoC pattern in your applications.

The BlocStream class is just a Stream<State> with a couple extra methods added to reduce boilerplate. You can subclass it and add your own methods to implement your business logic.

A BlocStream is also a sink of actions. By calling add with an action function (BlocStreamAction<YourState>), the bloc will then call that action and merge the resulting Stream<State> into the output stream.

Here is an example BLoC that provides a list of events:

import 'package:bloc_stream/bloc_stream.dart';
import 'package:equatable/equatable.dart';
import 'package:example/event_repository.dart';

// Actions
class EventsActions {
  static Stream<List<Event>> fetch (_value, EventsBloc bloc) async* {
    final events = await bloc.repository.list();
    yield events;
  };
}

// Bloc
class EventsBloc extends BlocStream<List<Event>> {
  EventBloc(this.repository);

  final EventRepository repository;

  @override
  int get initialValue => null;
}

Usage with Flutter #

See flutter_bloc_stream.

You can also use this package in combination with Provider and StreamBuilder.

You could also use a StreamProvider from the Provider package.

3
likes
0
pub points
3%
popularity

Publisher

verified publishertimsmart.co

A simple package that helps you to implement the BLoC pattern in your applications.

Repository (GitLab)
View/report issues

License

unknown (LICENSE)

Dependencies

meta, rxdart

More

Packages that depend on bloc_stream