flutter_multi_bloc_builder 0.0.2

  • Readme
  • Changelog
  • Installing
  • 60

pub license

flutter_ multi_bloc_builder #

A Flutter package that helps implement the BLoC pattern. It is best used as an extension with the flutter_bloc package which already provides MultiBlocProvider and MultiBlocListener.

This package is built to work with bloc.

MultiBlocBuilder #

MultiBlocBuilder is a Flutter widget which requires minimum one Bloc and a builder function. MultiBlocBuilder handles building the widget in response to new states. It is best used in combination with the flutter_bloc package.

The MultiBlocBuilder requires two parameters.

  • blocs: Specify which bloc states the MultiBlocBuilder should observe for building the widget
  • builder: Anonymous function which returnes your custom widget tree that rebuilds on each state change.

How to use: #

final bloc1 = BlocProvider.of<MyBloc1>(context);
final bloc2 = BlocProvider.of<MyBloc2>(context);
final bloc3 = BlocProvider.of<MyBloc2>(context);

MultiBlocBuilder(
    blocs: [bloc1, bloc2, bloc3],
    builder: (context, states) {
        final state1 = states.get<MyBloc1State>();
        final state2 = states.get<MyBloc2State>();
        final state3 = states.get<MyBloc3State>();
        
        if (state1 is Loading || state2 is Loading || state3 is Loading) {
            return Text("Loading");
        } else {
            return Text("SHow some content");
        }
    }
);

0.0.2 #

  • Add tests for MultiBlocBuilder.
  • Update readme

0.0.1 #

Initial version of the library.

  • Includes the MultiBlocBuilder and BlocStates.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  flutter_multi_bloc_builder: ^0.0.2

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:flutter_multi_bloc_builder/flutter_multi_bloc_builder.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
33
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
70
Overall:
Weighted score of the above. [more]
60
Learn more about scoring.

We analyzed this package on Jul 14, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.4
  • pana: 0.13.15
  • Flutter: 1.17.5

Analysis suggestions

Package not compatible with SDK dart

Because:

  • flutter_multi_bloc_builder that is a package requiring null.

Health suggestions

Format lib/flutter_multi_bloc_builder.dart.

Run flutter format to format lib/flutter_multi_bloc_builder.dart.

Maintenance issues and suggestions

Support latest dependencies. (-10 points)

The version constraint in pubspec.yaml does not support the latest published versions for 1 dependency (bloc).

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package.

Common filename patterns include main.dart, example.dart, and flutter_multi_bloc_builder.dart. Packages with multiple examples should provide example/README.md.

For more information see the pub package layout conventions.

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
bloc ^2.0.0 2.0.0 5.0.1
flutter 0.0.0
Transitive dependencies
collection 1.14.12 1.14.13
meta 1.1.8 1.2.2
rxdart 0.22.6 0.24.1
sky_engine 0.0.99
typed_data 1.1.6 1.2.0
vector_math 2.0.8 2.1.0-nullsafety
Dev dependencies
flutter_test