routeGenerator method

Route? routeGenerator(
  1. RouteSettings? settings, [
  2. Map<String, WidgetBuilder>? routeMap
])
inherited

Attempt to generate a Rout from the App's list of Route if any

Implementation

Route<dynamic>? routeGenerator(RouteSettings? settings,
    [Map<String, WidgetBuilder>? routeMap]) {
  Route<dynamic>? route;
  if (settings != null) {
    // Unlike Flutter, this allows you to use tha List of Routes even with a Delegate!
    final routes = routeMap ?? onRoutes();
    if (routes != null) {
      final widgetBuilder = routes[settings.name];
      if (widgetBuilder != null) {
        if (settings.arguments != null &&
            settings.arguments is ReturnRouteFunctionType) {
          route = (settings.arguments as ReturnRouteFunctionType)
              .call(widgetBuilder, settings);
        } else if (App.useMaterial) {
          route = MaterialPageRoute<dynamic>(
              settings: settings, builder: widgetBuilder);
        } else {
          route = CupertinoPageRoute<dynamic>(
              settings: settings, builder: widgetBuilder);
        }
      }
    }
  }
  return route;
}