push<T extends Object?> static method

Future<T?> push<T extends Object?>(
  1. BuildContext context,
  2. GlobalKey<NavigatorState>? navigatorKey,
  3. Route<T> newRoute, {
  4. RoutePredicate? removeRoutesUntilPredicate,
})

Implementation

static Future<T?> push<T extends Object?>(BuildContext context,
    GlobalKey<NavigatorState>? navigatorKey, Route<T> newRoute,
    {RoutePredicate? removeRoutesUntilPredicate}) {
  if (removeRoutesUntilPredicate == null) {
    final push =
        navigatorKey?.currentState?.push ?? Navigator.of(context).push;
    return push(newRoute);
  }

  final pushAndRemoveUntil = navigatorKey?.currentState?.pushAndRemoveUntil ??
      Navigator.of(context).pushAndRemoveUntil;
  return pushAndRemoveUntil(newRoute, removeRoutesUntilPredicate);
}