gitextract_al9_2a3r/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ ├── custom.md │ └── feature_request.md ├── .gitignore ├── .metadata ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── analysis_options.yaml ├── doc/ │ ├── README-cn.md │ ├── README.md │ ├── concept/ │ │ ├── action-cn.md │ │ ├── action.md │ │ ├── adapter-cn.md │ │ ├── adapter.md │ │ ├── auto-dispose-cn.md │ │ ├── auto-dispose.md │ │ ├── component-cn.md │ │ ├── component.md │ │ ├── connector-cn.md │ │ ├── connector.md │ │ ├── custom-adapter-cn.md │ │ ├── custom-adapter.md │ │ ├── dependencies-cn.md │ │ ├── dependencies.md │ │ ├── dependent-cn.md │ │ ├── dependent.md │ │ ├── directory-cn.md │ │ ├── directory.md │ │ ├── dynamic-flow-adapter-cn.md │ │ ├── dynamic-flow-adapter.md │ │ ├── effect-cn.md │ │ ├── effect.md │ │ ├── evolution-of-fish-redux.md │ │ ├── features.md │ │ ├── filter-cn.md │ │ ├── filter.md │ │ ├── higher-effect-cn.md │ │ ├── higher-effect.md │ │ ├── lifecycle-cn.md │ │ ├── lifecycle.md │ │ ├── mechanism-cn.md │ │ ├── mechanism.md │ │ ├── middleware-cn.md │ │ ├── middleware.md │ │ ├── on-error-cn.md │ │ ├── on-error.md │ │ ├── oop-cn.md │ │ ├── oop.md │ │ ├── page-cn.md │ │ ├── page.md │ │ ├── reducer-cn.md │ │ ├── reducer.md │ │ ├── redux-cn.md │ │ ├── redux.md │ │ ├── should-update-cn.md │ │ ├── should-update.md │ │ ├── static-flow-adapter-cn.md │ │ ├── static-flow-adapter.md │ │ ├── view-cn.md │ │ ├── view.md │ │ ├── what's-adapter.md │ │ ├── what's-connector.md │ │ ├── what's-the-diiference-cn.md │ │ ├── what's-the-diiference.md │ │ ├── widget-wrapper-cn.md │ │ └── widget-wrapper.md │ └── introduction/ │ ├── README-cn.md │ └── README.md ├── docs/ │ ├── .nojekyll │ ├── README.md │ ├── _navbar.md │ ├── _sidebar.md │ ├── concept/ │ │ ├── _navbar.md │ │ ├── _sidebar.md │ │ ├── action.md │ │ ├── adapter.md │ │ ├── auto-dispose.md │ │ ├── component.md │ │ ├── connector.md │ │ ├── custom-adapter.md │ │ ├── dependencies.md │ │ ├── dependent.md │ │ ├── directory.md │ │ ├── dynamic-flow-adapter.md │ │ ├── effect.md │ │ ├── evolution-of-fish-redux.md │ │ ├── features.md │ │ ├── filter.md │ │ ├── higher-effect.md │ │ ├── lifecycle.md │ │ ├── mechanism.md │ │ ├── middleware-cn.md │ │ ├── middleware.md │ │ ├── on-error.md │ │ ├── oop.md │ │ ├── page.md │ │ ├── reducer.md │ │ ├── redux.md │ │ ├── should-update.md │ │ ├── static-flow-adapter.md │ │ ├── view.md │ │ ├── what's-adapter.md │ │ ├── what's-connector.md │ │ ├── what's-the-diiference.md │ │ └── widget-wrapper.md │ ├── index.html │ └── zh-cn/ │ ├── README.md │ ├── _sidebar.md │ └── concept/ │ ├── _navbar.md │ ├── _sidebar.md │ ├── action.md │ ├── adapter.md │ ├── auto-dispose.md │ ├── component.md │ ├── connector.md │ ├── custom-adapter.md │ ├── dependencies.md │ ├── dependent.md │ ├── directory.md │ ├── dynamic-flow-adapter.md │ ├── effect.md │ ├── filter.md │ ├── higher-effect.md │ ├── lifecycle.md │ ├── mechanism.md │ ├── middleware.md │ ├── on-error.md │ ├── oop.md │ ├── page.md │ ├── reducer.md │ ├── redux.md │ ├── should-update.md │ ├── static-flow-adapter.md │ ├── view.md │ ├── what's-adapter.md │ ├── what's-connector.md │ ├── what's-the-diiference.md │ └── widget-wrapper.md ├── example/ │ ├── .flutter-plugins-dependencies │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── lib/ │ │ ├── app.dart │ │ ├── global_store/ │ │ │ ├── action.dart │ │ │ ├── reducer.dart │ │ │ ├── state.dart │ │ │ └── store.dart │ │ ├── main.dart │ │ ├── todo_edit_page/ │ │ │ ├── action.dart │ │ │ ├── effect.dart │ │ │ ├── page.dart │ │ │ ├── state.dart │ │ │ └── view.dart │ │ └── todo_list_page/ │ │ ├── action.dart │ │ ├── effect.dart │ │ ├── flow_adapter/ │ │ │ ├── adapter.dart │ │ │ ├── connector.dart │ │ │ └── reducer.dart │ │ ├── list_adapter/ │ │ │ ├── action.dart │ │ │ ├── adapter.dart │ │ │ └── reducer.dart │ │ ├── page.dart │ │ ├── reducer.dart │ │ ├── report_component/ │ │ │ ├── component.dart │ │ │ ├── state.dart │ │ │ └── view.dart │ │ ├── state.dart │ │ ├── todo_component/ │ │ │ ├── action.dart │ │ │ ├── component.dart │ │ │ ├── effect.dart │ │ │ ├── reducer.dart │ │ │ ├── state.dart │ │ │ └── view.dart │ │ └── view.dart │ ├── pubspec.yaml │ ├── test/ │ │ └── widget_test.dart │ └── web/ │ ├── index.html │ └── manifest.json ├── fish_redux.iml ├── lib/ │ ├── fish_redux.dart │ └── src/ │ ├── extensions/ │ │ ├── adapter_extensions.dart │ │ ├── component_extensions.dart │ │ ├── connector_extensions.dart │ │ └── extendsions.dart │ ├── redux/ │ │ ├── apply_middleware.dart │ │ ├── basic.dart │ │ ├── combine_reducers.dart │ │ ├── connector.dart │ │ ├── create_store.dart │ │ └── redux.dart │ ├── redux_adapter/ │ │ ├── adapter.dart │ │ ├── dynamic_flow_adapter.dart │ │ ├── flow_adapter.dart │ │ ├── recycle_context.dart │ │ ├── redux_adapter.dart │ │ ├── source_flow_adapter.dart │ │ └── static_flow_adapter.dart │ ├── redux_aop/ │ │ ├── aop.dart │ │ ├── common_aop/ │ │ │ ├── common_aop.dart │ │ │ ├── debounce.dart │ │ │ ├── debug.dart │ │ │ ├── delay.dart │ │ │ ├── log.dart │ │ │ ├── memoize.dart │ │ │ ├── performance.dart │ │ │ ├── throttle.dart │ │ │ └── wait_until.dart │ │ └── redux_aop.dart │ ├── redux_component/ │ │ ├── auto_dispose.dart │ │ ├── basic.dart │ │ ├── batch_store.dart │ │ ├── component.dart │ │ ├── context.dart │ │ ├── dependencies.dart │ │ ├── dependent.dart │ │ ├── dispatch_bus.dart │ │ ├── enhancer.dart │ │ ├── helper.dart │ │ ├── lifecycle.dart │ │ ├── local.dart │ │ ├── logic.dart │ │ ├── page.dart │ │ └── redux_component.dart │ ├── redux_component_mixin/ │ │ ├── keep_alive_mixin.dart │ │ ├── private_reducer_mixin.dart │ │ ├── redux_component_mixin.dart │ │ ├── single_ticker_provider_mixin.dart │ │ ├── ticker_provider_mixin.dart │ │ ├── visible_change_mixin.dart │ │ └── widgets_binding_observer_mixin.dart │ ├── redux_connector/ │ │ ├── connector.dart │ │ ├── generator.dart │ │ ├── helper.dart │ │ ├── map_like.dart │ │ ├── none.dart │ │ ├── op_mixin.dart │ │ ├── redux_connector.dart │ │ └── reselect.dart │ ├── redux_middleware/ │ │ ├── adapter_middleware/ │ │ │ ├── adapter_middleware.dart │ │ │ └── safety_adapter.dart │ │ ├── middleware/ │ │ │ ├── log.dart │ │ │ ├── middleware.dart │ │ │ └── performance.dart │ │ ├── redux_middleware.dart │ │ └── view_middleware/ │ │ ├── safety_view.dart │ │ └── view_middleware.dart │ ├── redux_routes/ │ │ ├── page_routes.dart │ │ └── redux_routes.dart │ └── utils/ │ ├── collections.dart │ ├── debug.dart │ ├── hash.dart │ ├── tuple.dart │ └── utils.dart ├── pubspec.yaml └── test/ ├── lib/ │ ├── all_test.dart │ ├── instrument.dart │ ├── redux/ │ │ ├── redux_test.dart │ │ └── store_test.dart │ ├── redux_adapter/ │ │ ├── adapter_test.dart │ │ ├── dynamic_adapter_test.dart │ │ ├── redux_adapter_test.dart │ │ ├── source_adapter_test.dart │ │ └── static_flow_adapter_test.dart │ ├── redux_aop/ │ │ ├── memoize_test.dart │ │ └── redux_aop_test.dart │ ├── redux_component/ │ │ ├── auto_dispose_test.dart │ │ ├── component_test.dart │ │ ├── lifecycle_test.dart │ │ ├── page_test.dart │ │ └── redux_component_test.dart │ ├── redux_connector/ │ │ ├── map_like_test.dart │ │ ├── redux_connector_test.dart │ │ └── reselect_test.dart │ ├── redux_middleware/ │ │ └── redux_middleware_test.dart │ ├── redux_routes/ │ │ └── redux_routes_test.dart │ ├── track.dart │ └── utils/ │ ├── collections_test.dart │ └── utils_test.dart ├── pubspec.yaml └── test_widgets/ ├── .gitignore ├── lib/ │ ├── adapter/ │ │ ├── action.dart │ │ ├── adapter.dart │ │ ├── page.dart │ │ └── state.dart │ ├── component/ │ │ ├── action.dart │ │ ├── component.dart │ │ ├── page.dart │ │ └── state.dart │ ├── dynamic_flow_adapter/ │ │ ├── action.dart │ │ ├── adapter.dart │ │ ├── component.dart │ │ ├── dynamic_flow_adapter.dart │ │ ├── page.dart │ │ └── state.dart │ ├── main.dart │ ├── page/ │ │ ├── action.dart │ │ ├── exception.dart │ │ ├── page.dart │ │ └── state.dart │ ├── source_flow_adapter/ │ │ ├── action.dart │ │ ├── adapter.dart │ │ ├── component.dart │ │ ├── page.dart │ │ ├── source_flow_adapter.dart │ │ └── state.dart │ ├── static_flow_adapter/ │ │ ├── action.dart │ │ ├── component.dart │ │ ├── page.dart │ │ ├── state.dart │ │ └── static_flow_adapter.dart │ └── test_base.dart └── pubspec.yaml