Skip to content

Commit bade7d0

Browse files
committed
include early breaks
1 parent f01954d commit bade7d0

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

packages/spanner/lib/src/tree/tree.dart

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,18 +204,20 @@ class Spanner {
204204
final childNode = rootNode.maybeChild(routePart) ??
205205
parametricNode?.maybeChild(routePart);
206206

207+
if (childNode is StaticNode && isLastPart) {
208+
rootNode = childNode;
209+
break;
210+
}
211+
207212
wildcardNode = childNode?.wildcardNode ?? wildcardNode;
208213

209214
if (childNode == null && parametricNode == null) {
210215
if (wildcardNode == null) {
211216
return RouteResult(resolvedParams, getResults(null));
212217
}
213218

214-
return RouteResult(
215-
resolvedParams,
216-
getResults(wildcardNode.getHandler(method)),
217-
actual: wildcardNode,
218-
);
219+
rootNode = wildcardNode;
220+
break;
219221
}
220222

221223
rootNode = (childNode ?? parametricNode)!;
@@ -249,6 +251,8 @@ class Spanner {
249251
}
250252
}
251253

254+
resolvedHandlers.addAll(rootNode.middlewares);
255+
252256
return !rootNode.terminal
253257
? RouteResult(resolvedParams, getResults(null), actual: null)
254258
: RouteResult(

0 commit comments

Comments
 (0)