execute method

Future execute(
  1. NavigatorRoute route
)

Implementation

Future<dynamic> execute(NavigatorRoute route) async {
  dynamic result;
  dynamic maybeFuture;
  {
    final info = route;
    dynamic res = route.handler(this);
    if (res is Future) res = await res;
    if (res is Widget) {
      result = ((BuildContext context) => res as Widget);
    } else if (res is WidgetBuilder || res is Redirect) {
      result = res;
    } else {
      if (info.responseProcessor != null) {
        maybeFuture = info.responseProcessor!(this, res);
        if (maybeFuture is Future) {
          result = await maybeFuture;
        } else {
          result = maybeFuture;
        }
      }
    }
  }
  return result;
}