popAndPushNamed method

AFRouteStateSegments popAndPushNamed(
  1. AFScreenID screen,
  2. AFRouteParam param,
  3. List<AFRouteParam>? children,
  4. AFCreateDefaultChildParamDelegate? createDefaultChildParam,
)

Removes the current leaf from the route, and adds the specified screen and data in its place.

Implementation

AFRouteStateSegments popAndPushNamed(AFScreenID screen, AFRouteParam param, List<AFRouteParam>? children, AFCreateDefaultChildParamDelegate? createDefaultChildParam) {
  final revised = copyActive();
  final priorLastSegment = _cyclePrior(revised, 1);

  revised.add(AFRouteSegment.withParam(param, children, createDefaultChildParam));
  return copyWith(
    active: revised,
    prior: priorLastSegment
  );
}