The following structures are available globally.

  • Used by a RoutableWithConfiguration inside its RoutableWithConfiguration.navigationConfiguration to describe the kind of navigation action (Show, Hide) to handle.

       extension ListViewController: RoutableWithConfiguration {
         // needed by the `Routable` protocol
         // to identify this ViewController in the hierarchy
         var routeIdentifier: RouteElementIdentifier {
           return "listScreen"
         // the `NavigationRequest`s that this ViewController is handling
         // with the `NavigationInstruction` to execute
         var navigationConfiguration: [NavigationRequest: NavigationInstruction] {
           return [
             .show("addItemScreen"): .presentModally({ [unowned self] _ in
               let vc = AddItemViewController(store:
               return vc
    See more



    public struct NavigationRequest: Hashable