NavigationBuilder

class NavigationBuilder(storeAccessor: StoreAccessor, encoder: DualNavigationParameterEncoder = DualNavigationParameterEncoder())(source)

Builder for creating atomic navigation operations.

Provides a DSL for chaining multiple navigation actions into a single atomic operation. All operations are validated and executed together to ensure consistent navigation state.

Example usage:

store.navigation {
clearBackStack()
navigateTo("home")
navigateTo<ProfileScreen> { param("userId", "123") }
}

Parameters

storeAccessor

Accessor for the store to execute operations

encoder

Parameter encoder for serialization

Constructors

Link copied to clipboard
constructor(storeAccessor: StoreAccessor, encoder: DualNavigationParameterEncoder = DualNavigationParameterEncoder())

Properties

Link copied to clipboard

Get the full path for a Navigatable within the navigation builder context.

Functions

Link copied to clipboard
Link copied to clipboard

Dismiss any active modals as part of all navigation operations in this block

Link copied to clipboard
Link copied to clipboard
inline suspend fun <T : Screen> navigateTo(replaceCurrent: Boolean = false, synthesizeBackstack: Boolean = false): NavigationBuilder

fun navigateTo(navigatable: Navigatable, replaceCurrent: Boolean = false, synthesizeBackstack: Boolean = false): NavigationBuilder

Navigate to a Navigatable instance with full-path resolution.

inline suspend fun <T : Navigatable> navigateTo(replaceCurrent: Boolean = false, preferredGraphId: String? = null, synthesizeBackstack: Boolean = false, noinline paramBuilder: NavigationParameterBuilder.() -> Unit? = null): NavigationBuilder

Navigate to a screen type with optional parameters.

fun navigateTo(path: String, replaceCurrent: Boolean = false, synthesizeBackstack: Boolean = false, paramBuilder: NavigationParameterBuilder.() -> Unit? = null): NavigationBuilder

Navigate to a path with optional parameters.

Link copied to clipboard
fun param(key: String, value: Any): NavigationBuilder
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T : Navigatable> popUpTo(inclusive: Boolean = false, preferredGraphId: String? = null, fallback: String? = null): NavigationBuilder

Pop back to a specific screen type in the navigation stack.

fun popUpTo(path: String, inclusive: Boolean = false, fallback: String? = null): NavigationBuilder

Pop back to a specific route in the navigation stack.

Link copied to clipboard
inline fun <T : Any> put(key: String, value: T): NavigationBuilder
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun putInt(key: String, value: Int): NavigationBuilder
Link copied to clipboard
Link copied to clipboard
fun putRaw(key: String, value: Any): NavigationBuilder
Link copied to clipboard
Link copied to clipboard

Resume the pending navigation stored by GuardResult.PendAndRedirectTo, expanding it into a synthesized backstack at the point this operation appears in the chain.