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<NyRouteGuard>? 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<NyRouteGuard>? 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;
}