Line data Source code
1 : import 'package:fast_immutable_collections/fast_immutable_collections.dart';
2 : import 'package:redux/redux.dart';
3 :
4 : import '../../../types.dart';
5 : import '../../navigation/actions/pop_all_pages_action.dart';
6 :
7 : class PopAllPagesReducer<T extends RedFireState>
8 : extends TypedReducer<T, PopAllPagesAction> {
9 0 : PopAllPagesReducer()
10 0 : : super((state, action) {
11 : try {
12 0 : state = (state as dynamic).copyWith(pages: [state.pages.first].lock)
13 : as T; // lock
14 : } catch (error, trace) {
15 0 : var problem = ProblemInfo('$error', '$trace');
16 0 : var newProblems = state.problems.add(problem);
17 0 : var newPages = state.pages.add(ProblemPageData(problem));
18 : state = (state as dynamic)
19 0 : .copyWith(problems: newProblems, pages: newPages) as T;
20 : }
21 : return state;
22 : });
23 : }
|