pushRoutesAndRemoveUntil method

void pushRoutesAndRemoveUntil(
  1. List<SMRouteName> routeNames,
  2. SMRoutePredicate predicate
)

Implementation

void pushRoutesAndRemoveUntil(List<SMRouteName> routeNames, SMRoutePredicate predicate) {
  assert(routeNames.isNotEmpty, "pushRoutesAndRemoveUntil: routeNames must not be empty");
  var index = _stack.lastIndexWhere(predicate);
  if (index != -1) {
    _stack.removeRange(index + 1, _stack.length);
  }
  return _pushRoutes(routeNames);
}