resolve method

List<ExistingRouteStatus> resolve({
  1. required List<ResolvedRoute> discoveredRoutes,
  2. required String routeContent,
  3. required String routerContent,
  4. required String routerFile,
})

Resolves the status of existing routes.

Returns route status information indicating whether each route has the required definition, import, and registration.

Implementation

List<ExistingRouteStatus> resolve(
    {required List<ResolvedRoute> discoveredRoutes,
    required String routeContent,
    required String routerContent,
    required String routerFile}) {
  final statuses = discoveredRoutes.map((route) {
    final importPath = const RouteImportResolver()
        .resolve(routerFile: routerFile, screenFile: route.file);
    return ExistingRouteStatus(
      route: route,
      hasDefinition:
          _containsRouteDefinition(content: routeContent, route: route),
      hasImport:
          _containsImport(content: routerContent, importPath: importPath),
      hasRegistration:
          _containsRouterRegistration(content: routerContent, route: route),
    );
  });

  return statuses.where((status) => !status.isComplete).toList();
}