route method

NyRouterRoute route(
  1. String name,
  2. NyRouteView view, {
  3. TransitionType? transitionType,
  4. @Deprecated('Use transitionType instead to specify the page transition type.\nE.g. TransitionType.fadeIn()') PageTransitionType? transition,
  5. @Deprecated('Use transitionType instead to specify the page transition settings.\nE.g. TransitionType.fadeIn(curve: Curves.easeIn)') PageTransitionSettings? pageTransitionSettings,
  6. List<RouteGuard>? routeGuards,
  7. bool initialRoute = false,
  8. bool unknownRoute = false,
  9. bool authenticatedRoute = false,
})

Add a new route with a widget.

Implementation

NyRouterRoute route(
  String name,
  NyRouteView view, {
  TransitionType? transitionType,
  @Deprecated(
    'Use transitionType instead to specify the page transition type.\nE.g. TransitionType.fadeIn()',
  )
  PageTransitionType? transition,
  @Deprecated(
    'Use transitionType instead to specify the page transition settings.\nE.g. TransitionType.fadeIn(curve: Curves.easeIn)',
  )
  PageTransitionSettings? pageTransitionSettings,
  List<RouteGuard>? routeGuards,
  bool initialRoute = false,
  bool unknownRoute = false,
  bool authenticatedRoute = false,
}) {
  if (transitionType != null) {
    transition = transitionType.pageTransitionType;
    pageTransitionSettings = transitionType.pageTransitionSettings;
  }

  NyRouterRoute nyRouterRoute = NyRouterRoute(
    name: name,
    view: view,
    transitionType: transitionType,
    pageTransitionType: transition,
    pageTransitionSettings: pageTransitionSettings,
    routeGuards: routeGuards,
    initialRoute: initialRoute,
    unknownRoute: unknownRoute,
    authPage: authenticatedRoute,
  );
  _addRoute(nyRouterRoute, unknownRoute: unknownRoute);

  assert(
    _routeNameMappings.entries
            .where((element) => element.value.getInitialRoute() == true)
            .length <=
        1,
    'Your project has more than one initial route defined, please check your router file.',
  );

  return nyRouterRoute;
}