Skip to content

Commit

Permalink
Rename Dependencies.list to Dependencies.adapter back.
Browse files Browse the repository at this point in the history
  • Loading branch information
zjuwjf committed Jun 28, 2019
1 parent 7a16998 commit 38fc570
Show file tree
Hide file tree
Showing 10 changed files with 23 additions and 39 deletions.
2 changes: 1 addition & 1 deletion example/lib/todo_list_page/page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class ToDoListPage extends Page<PageState, Map<String, dynamic>> {
reducer: buildReducer(),
view: buildView,
dependencies: Dependencies<PageState>(
list: NoneConn<PageState>() + ToDoListAdapter(),
adapter: NoneConn<PageState>() + ToDoListAdapter(),
slots: <String, Dependent<PageState>>{
'report': ReportConnector() + ReportComponent()
}),
Expand Down
2 changes: 1 addition & 1 deletion lib/src/redux_adapter/adapter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ abstract class Adapter<T> extends Logic<T> implements AbstractAdapter<T> {
Dependencies<T> dependencies,
Object Function(T) key,
}) : assert(adapter != null),
assert(dependencies?.list == null,
assert(dependencies?.adapter == null,
'Unexpected dependencies.list for Adapter.'),
_adapter = adapter,
super(
Expand Down
30 changes: 7 additions & 23 deletions lib/src/redux_component/dependencies.dart
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
import '../redux/redux.dart';
import 'basic.dart';
import 'dependent.dart';

class Dependencies<T> {
final Map<String, Dependent<T>> slots;
final Dependent<T> list;
final Dependent<T> adapter;

/// Use [list: NoneConn<T>() + Adapter<T>()] instead of [adapter: Adapter<T>()],
/// Use [adapter: NoneConn<T>() + Adapter<T>()] instead of [adapter: Adapter<T>()],
/// Which is better reusability and consistency.
Dependencies({
this.slots,
@deprecated AbstractAdapter<T> adapter,
Dependent<T> list,
}) : assert(list == null || list.isAdapter(),
'The dependent must contains adapter.'),
assert(list == null || adapter == null,
'Only one style of adapter could be applied.'),
list = list ?? (_NoneConn<T>() + adapter);
this.adapter,
}) : assert(adapter == null || adapter.isAdapter(),
'The dependent must contains adapter.');

Reducer<T> get reducer {
final List<SubReducer<T>> subs = <SubReducer<T>>[];
Expand All @@ -27,23 +22,12 @@ class Dependencies<T> {
));
}

if (list != null) {
subs.add(list.createSubReducer());
if (adapter != null) {
subs.add(adapter.createSubReducer());
}

return combineReducers(<Reducer<T>>[combineSubReducers(subs)]);
}

Dependent<T> slot(String type) => slots[type];
}

class _NoneConn<T> extends ImmutableConn<T, T> {
@override
T get(T state) => state;

@override
T set(T state, T subState) => subState;

Dependent<T> operator +(AbstractLogic<T> logic) =>
createDependent<T, T>(this, logic);
}
2 changes: 1 addition & 1 deletion lib/src/redux_component/logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -109,5 +109,5 @@ abstract class Logic<T> implements AbstractLogic<T> {
Dependent<T> slot(String type) => protectedDependencies?.slot(type);

@override
Dependent<T> adapterDep() => protectedDependencies?.list;
Dependent<T> adapterDep() => protectedDependencies?.adapter;
}
12 changes: 6 additions & 6 deletions test/lib/redux_adapter/adapter_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ void main() {
initState: initState,
view: pageView,
dependencies: Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestAdapter<ToDoList>(
adapter: toDoListAdapter,
reducer: toDoListReducer,
Expand All @@ -33,7 +33,7 @@ void main() {
initState: initState,
view: pageView,
dependencies: Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestAdapter<ToDoList>(
adapter: toDoListAdapter,
reducer: toDoListReducer,
Expand Down Expand Up @@ -77,7 +77,7 @@ void main() {
track.append('build', state.clone());
}),
dependencies: Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestAdapter<ToDoList>(
adapter: toDoListAdapter,
reducer: instrumentReducer<ToDoList>(toDoListReducer,
Expand Down Expand Up @@ -163,7 +163,7 @@ void main() {
track.append('build', state.clone());
}),
dependencies: Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestAdapter<ToDoList>(
adapter: toDoListAdapter,
reducer: instrumentReducer<ToDoList>(toDoListReducer,
Expand Down Expand Up @@ -240,7 +240,7 @@ void main() {
track.append('build', state.clone());
}),
dependencies: Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestAdapter<ToDoList>(
adapter: toDoListAdapter,
reducer: instrumentReducer<ToDoList>(toDoListReducer,
Expand Down Expand Up @@ -317,7 +317,7 @@ void main() {
track.append('build', state.clone());
}),
dependencies: Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestAdapter<ToDoList>(
adapter: toDoListAdapter,
reducer: instrumentReducer<ToDoList>(toDoListReducer,
Expand Down
2 changes: 1 addition & 1 deletion test/lib/redux_adapter/dynamic_adapter_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class ToDoComponentNoReducer extends TestComponent<Todo> {
Dependencies<ToDoList> toDoListDependencies(final Track track,
{bool noReducer = false}) =>
Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestDynamicFlowAdapter<ToDoList>(
pool: <String, AbstractLogic<Todo>>{
'toDo': ToDoComponentInstrument(track),
Expand Down
2 changes: 1 addition & 1 deletion test/lib/redux_adapter/static_flow_adapter_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class Adapter3 extends ToDoAdapterInstrument {

Dependencies<ToDoList> toDoListDependencies(final Track track) =>
Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestStaticFlowAdapter<ToDoList>(
slots: [
ConnOp<ToDoList, Todo>(
Expand Down
2 changes: 1 addition & 1 deletion test/test_widgets/lib/adapter/page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Widget createAdapterWidget(BuildContext context) {
initState: initState,
view: pageView,
dependencies: Dependencies<ToDoList>(
list: NoneConn<ToDoList>() +
adapter: NoneConn<ToDoList>() +
TestAdapter<ToDoList>(
adapter: toDoListAdapter,
reducer: toDoListReducer,
Expand Down
4 changes: 2 additions & 2 deletions test/test_widgets/lib/dynamic_flow_adapter/page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Widget createDynamicAdapterWidget(BuildContext context) {
view: pageView,
initState: initState,
effect: pageEffect,
dependencies:
Dependencies<ToDoList>(list: NoneConn<ToDoList>() + testAdapter))
dependencies: Dependencies<ToDoList>(
adapter: NoneConn<ToDoList>() + testAdapter))
.buildPage(pageInitParams);
}
4 changes: 2 additions & 2 deletions test/test_widgets/lib/static_flow_adapter/page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Widget createStaticAdapterWidget(BuildContext context) {
return TestPage<ToDoList, Map>(
initState: initState,
view: pageView,
dependencies:
Dependencies<ToDoList>(list: NoneConn<ToDoList>() + testAdapter))
dependencies: Dependencies<ToDoList>(
adapter: NoneConn<ToDoList>() + testAdapter))
.buildPage(pageInitParams);
}

0 comments on commit 38fc570

Please sign in to comment.