SingleNavigationRouter
@MainActor
public struct SingleNavigationRouter<R> : Router where R : Routerextension SingleNavigationRouter: InterceptableRouter where R: InterceptableRouterThe Router proxy guarantees that not more than one navigation will happen simultaneously.
It is useful to avoid situations when the application can not control the amount of navigations (for example, a navigation triggered by the push notifications)
- 
                  
                  Shared SingleNavigationLockinstanceDeclarationSwift @MainActor public let lock: SingleNavigationLock
- 
                  
                  Constructor DeclarationSwift @MainActor public init(router: R, lock: SingleNavigationLock)ParametersrouterRouterinstance to proxy.lockShared SingleNavigationLockinstance.
- 
                  
                  DeclarationSwift @MainActor public func navigate<Context>(to step: DestinationStep<some UIViewController, Context>, with context: Context, animated: Bool, completion: ((RoutingResult) -> Void)?) throws
- 
                  
                  DeclarationSwift @MainActor public mutating func add<RI>(_ interceptor: RI) where RI : RoutingInterceptor, RI.Context == Any?
- 
                  
                  DeclarationSwift @MainActor public mutating func add<CT>(_ contextTask: CT) where CT : ContextTask, CT.Context == Any?, CT.ViewController == UIViewController
- 
                  
                  DeclarationSwift @MainActor public mutating func add<PT>(_ postTask: PT) where PT : PostRoutingTask, PT.Context == Any?
