redux_types 0.2.1

  • Readme
  • Changelog
  • Example
  • Installing
  • 74

redux_types #

A package of simple utilities for development with Redux.

It helps you write Redux boilerplate comfortably & cleanly.

This package is fully inspired from Redux.dart 3.0.0+.

Dependencies #

Cleaned types of Redux #

These are more cleaned type matching classes for Redux than TypedReducer & TypedMiddleware of Redux.dart. You can comfortably write type matching classes with IDE support like Android Studio.

  • ReducerOf - A Reducer class for type matching. It's better to write & read with IDE support.
  • MiddlewareOf - A Middleware class for type matching. It's better to write & read with IDE support.

Middleware for dependency injection. #

You can use a dependency in middleware with InjectionMiddlewareOf.

  • InjectionMiddlewareOf - A Middleware class for type matching which can use an injected dependency. It's better to write & read with IDE support.

Usage #

Demonstrate how to use redux_types.

ReducerOf #

final Reducer<AppState> appReducer = combineReducers(
    /// An example of using [ReducerOf]. It provides you
    /// an ease of writing by IDE support and readability.
    ReducerOf<AppState, IncrementAction>(
      callback: (state, action) {
        return state.copyWith(
          counter: state.counter + 1,

MiddlewareOf #

List<Middleware<AppState>> counterMiddleware() {
  return [
    /// An example of using [MiddlewareOf]. It provides you
    /// an ease of writing by IDE support and readability.
    MiddlewareOf<AppState, IncrementAction>(
      callback: (store, action, next) {
        print('IncrementAction was called!');

InjectionMiddlewareOf #

List<Middleware<AppState>> navigatorMiddleware(GlobalKey<NavigatorState> key) {
  return [
    InjectionMiddlewareOf<AppState, ShowDialogAction,
      dependency: key,
      callback: (state, action, next, key) {
          context: key.currentState.overlay.context,
          builder: (context) {
            return const AlertDialog(
              content: Text('Injectable'),


change dependency of meta package.


add InjectionMiddleware.


ported from private repository.


example #

Demonstalte an example of redux_types

Getting Started #

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Use this package as a library

1. Depend on it

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

  redux_types: ^0.2.1

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:redux_types/redux_types.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

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

  • Dart: 2.7.0
  • pana: 0.13.4
  • Flutter: 1.12.13+hotfix.5

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 (redux).


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.2.3 <3.0.0
flutter 0.0.0
redux ^3.0.0 3.0.0 4.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
pedantic_mono ^1.4.0