pop method

void pop({
  1. String? until,
})

Back page (until: patternPath)

Implementation

void pop({String? until}) {
  if (state.value.pageRoutes.length <= 1) return;
  final patternPathToPop = until ??
      state.value.pageRoutes[state.value.pageRoutes.length - 2].patternPath;
  final index = state.value.pageRoutes
      .indexWhere((e) => e.patternPath == patternPathToPop);
  if (index < 0) return;
  final newStack = state.value.pageRoutes.sublist(0, index + 1);
  final newState = UiRouterState(
    pageRoutes: newStack,
    dialogRoutes: state.value.dialogRoutes,
    tasks: state.value.tasks,
  );
  state.value = newState;
}