prepareProps method

Map<String, dynamic> prepareProps(
  1. Route route, {
  2. String? previousRouteName,
})

Implementation

Map<String, dynamic> prepareProps(Route<dynamic> route,
    {String? previousRouteName}) {
  final name = route.settings.name;
  final Map<String, dynamic> props = {'screenName': name};
  final settings = route.settings;
  if (settings is CustomMaterialPage) {
    props.addAll(settings.eventProps);
  } else {
    final arguments = settings.arguments;

    if (settings is MaterialPage && settings.child is Error404Screen) {
      return {
        'previousScreenName': previousRouteName,
        'screenName': 'error_404',
      }..addAll(arguments is Map<String, dynamic> ? arguments : {});
    }

    if (arguments is Map<String, dynamic>) {
      props.addAll(arguments);
    }
  }

  if (previousRouteName is String) {
    props['previousScreenName'] = previousRouteName;
  }
  return props;
}