Showing
1 changed file
with
7 additions
and
14 deletions
@@ -36,30 +36,22 @@ class ParseRouteTree { | @@ -36,30 +36,22 @@ class ParseRouteTree { | ||
36 | } | 36 | } |
37 | 37 | ||
38 | final treeBranch = cumulativePaths | 38 | final treeBranch = cumulativePaths |
39 | - .map( | ||
40 | - (p) { | ||
41 | - final res = _findRoute(p); | ||
42 | - //change GetPage name from the regex to the actual name | ||
43 | - return res?.copy( | ||
44 | - name: p, | ||
45 | - ); | ||
46 | - }, | ||
47 | - ) | ||
48 | - .where((element) => element != null) | ||
49 | - .cast<GetPage>() | 39 | + .map((e) => MapEntry(e, _findRoute(e))) |
40 | + .where((element) => element.value != null) | ||
50 | .toList(); | 41 | .toList(); |
42 | + | ||
51 | final params = Map<String, String>.from(uri.queryParameters); | 43 | final params = Map<String, String>.from(uri.queryParameters); |
52 | if (treeBranch.isNotEmpty) { | 44 | if (treeBranch.isNotEmpty) { |
53 | //route is found, do further parsing to get nested query params | 45 | //route is found, do further parsing to get nested query params |
54 | final lastRoute = treeBranch.last; | 46 | final lastRoute = treeBranch.last; |
55 | - final parsedParams = _parseParams(name, lastRoute.path); | 47 | + final parsedParams = _parseParams(name, lastRoute.value!.path); |
56 | if (parsedParams.isNotEmpty) { | 48 | if (parsedParams.isNotEmpty) { |
57 | params.addAll(parsedParams); | 49 | params.addAll(parsedParams); |
58 | } | 50 | } |
59 | //copy parameters to all pages. | 51 | //copy parameters to all pages. |
60 | final mappedTreeBranch = treeBranch | 52 | final mappedTreeBranch = treeBranch |
61 | .map( | 53 | .map( |
62 | - (e) => e.copy( | 54 | + (e) => e.value!.copy( |
63 | parameter: params, | 55 | parameter: params, |
64 | ), | 56 | ), |
65 | ) | 57 | ) |
@@ -72,7 +64,7 @@ class ParseRouteTree { | @@ -72,7 +64,7 @@ class ParseRouteTree { | ||
72 | 64 | ||
73 | //route not found | 65 | //route not found |
74 | return RouteDecoder( | 66 | return RouteDecoder( |
75 | - treeBranch, | 67 | + treeBranch.map((e) => e.value!).toList(), |
76 | params, | 68 | params, |
77 | ); | 69 | ); |
78 | } | 70 | } |
@@ -132,6 +124,7 @@ class ParseRouteTree { | @@ -132,6 +124,7 @@ class ParseRouteTree { | ||
132 | opaque: origin.opaque, | 124 | opaque: origin.opaque, |
133 | parameter: origin.parameter, | 125 | parameter: origin.parameter, |
134 | popGesture: origin.popGesture, | 126 | popGesture: origin.popGesture, |
127 | + | ||
135 | // settings: origin.settings, | 128 | // settings: origin.settings, |
136 | transitionDuration: origin.transitionDuration, | 129 | transitionDuration: origin.transitionDuration, |
137 | middlewares: middlewares, | 130 | middlewares: middlewares, |
-
Please register or login to post a comment