RouteDefinerRouter constructor

RouteDefinerRouter({
  1. String initialRoute = '/',
  2. String appTitle = '',
  3. required Widget loadingBuilder(
    1. CurrentRoute
    ),
  4. required Widget deniedBuilder(
    1. BuildContext,
    2. CurrentRoute
    ),
  5. required Widget notFoundBuilder(
    1. BuildContext,
    2. RouteState
    ),
  6. required Widget errorBuilder(
    1. BuildContext,
    2. RouteFailure,
    3. VoidCallback
    ),
  7. void onError(
    1. RouteFailure
    )?,
  8. Duration? resolutionTimeout,
  9. int redirectLimit = 5,
  10. RouteOptions defaultRouteOptions = const RouteOptions(),
  11. DefinedRouteFactory? routeFactory,
  12. required Iterable<RouteDefiner> routes,
  13. GlobalKey<NavigatorState>? navigatorKey,
  14. List<NavigatorObserver> observers = const [],
  15. String? restorationScopeId,
  16. RouteArgumentsCodec argumentsCodec = const JsonRouteArgumentsCodec(),
  17. Listenable? refreshListenable,
  18. BackButtonDispatcher? backButtonDispatcher,
  19. int historyLimit = 0,
  20. NavigationDiagnostics? diagnostics,
})

Implementation

RouteDefinerRouter({
  this.initialRoute = '/',
  this.appTitle = '',
  required this.loadingBuilder,
  required this.deniedBuilder,
  required this.notFoundBuilder,
  required this.errorBuilder,
  this.onError,
  this.resolutionTimeout,
  this.redirectLimit = 5,
  this.defaultRouteOptions = const RouteOptions(),
  this.routeFactory,
  required Iterable<RouteDefiner<dynamic>> routes,
  GlobalKey<NavigatorState>? navigatorKey,
  List<NavigatorObserver> observers = const [],
  this.restorationScopeId,
  this.argumentsCodec = const JsonRouteArgumentsCodec(),
  Listenable? refreshListenable,
  this.backButtonDispatcher,
  this.historyLimit = 0,
  this.diagnostics,
})  : _registry = RouteRegistry(routes),
      navigatorKey = navigatorKey ?? GlobalKey<NavigatorState>(),
      _observers = List.unmodifiable(observers),
      _refreshListenable = refreshListenable {
  if (redirectLimit < 1) {
    throw ArgumentError.value(redirectLimit, 'redirectLimit');
  }
  if (historyLimit < 0) {
    throw ArgumentError.value(historyLimit, 'historyLimit');
  }
  parseRouteUri(initialRoute);
  _refreshListenable?.addListener(refresh);
  _entries = _canonicalStack(parseRouteUri(initialRoute));
  _record(NavigationAction.initialize, source: null, subject: _entries.last);
}