SingleNavigationRouter
@MainActor
public struct SingleNavigationRouter<R> : Router where R : Router
extension SingleNavigationRouter: InterceptableRouter where R: InterceptableRouter
The 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
SingleNavigationLockinstanceDeclaration
Swift
@MainActor public let lock: SingleNavigationLock
-
Constructor
Declaration
Swift
@MainActor public init(router: R, lock: SingleNavigationLock)Parameters
routerRouterinstance to proxy.lockShared
SingleNavigationLockinstance. -
Declaration
Swift
@MainActor public func navigate<Context>(to step: DestinationStep<some UIViewController, Context>, with context: Context, animated: Bool, completion: ((RoutingResult) -> Void)?) throws
-
Declaration
Swift
@MainActor public mutating func add<RI>(_ interceptor: RI) where RI : RoutingInterceptor, RI.Context == Any? -
Declaration
Swift
@MainActor public mutating func add<CT>(_ contextTask: CT) where CT : ContextTask, CT.Context == Any?, CT.ViewController == UIViewController -
Declaration
Swift
@MainActor public mutating func add<PT>(_ postTask: PT) where PT : PostRoutingTask, PT.Context == Any?