onGenerateRoute function

Route onGenerateRoute({
  1. required RouteSettings settings,
  2. required GetRouteSettings getRouteSettings,
  3. PageBuilder? notFoundPageBuilder,
  4. Map<String, dynamic>? arguments,
  5. RouteSettingsWrapper? routeSettingsWrapper,
})

onGenerateRoute for Navigator 1.0

Implementation

Route<dynamic> onGenerateRoute({
  required RouteSettings settings,
  required GetRouteSettings getRouteSettings,
  PageBuilder? notFoundPageBuilder,
  Map<String, dynamic>? arguments,
  RouteSettingsWrapper? routeSettingsWrapper,
}) {
  arguments ??= settings.arguments as Map<String, dynamic>?;

  FFRouteSettings routeSettings = getRouteSettings(
    name: settings.name!,
    arguments: arguments,
  );

  if (routeSettingsWrapper != null) {
    routeSettings = routeSettingsWrapper(routeSettings);
  }
  if (notFoundPageBuilder != null &&
      routeSettings.name == FFRoute.notFoundName) {
    routeSettings = routeSettings.copyWith(builder: notFoundPageBuilder);
  }
  // final Widget? page = routeSettings.widget ?? notFoundWidget;
  // if (page == null) {
  //   throw Exception(
  //     '''Route "${settings.name}" returned null. Route Widget must never return null,
  //         maybe the reason is that route name did not match with right path.
  //         You can use parameter[notFoundFallback] to avoid this ugly error.''',
  //   );
  // }

  // if (routeSettings.widget == null) {
  //   routeSettings = routeSettings.copyWith(widget: page);
  // }

  return routeSettings.createRoute();
}