resolve method

  1. @override
RouteNode? resolve(
  1. RouteNode routeNode
)
override

Traverses routeNode and returns the first matching node, or null.

Implementation

@override
RouteNode? resolve(RouteNode routeNode) {
  RouteNode? findRouteNode;

  routeNode.traverse(
    (routeNode) {
      findRouteNode = routeNode;
      return true;
    },
    predicate: (routeNode) {
      final isNotFound = findRouteNode == null;
      final isEqualRoute = routeNode.route == _route;
      final isEqualArgs =
          const MapEquality().equals(routeNode.arguments, _arguments);
      return isNotFound && isEqualRoute && isEqualArgs;
    },
  );

  return findRouteNode;
}