Bahn-X / swift-composable-navigator

An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind
MIT License
581 stars 25 forks source link

Introduces NavigationPathElement #70

Closed ohitsdaniel closed 3 years ago

ohitsdaniel commented 3 years ago

In preparation of #19.

Problem

Currently, the NavigationPath is a list of IdentifiedScreens. However, we will need to store more information in NavigationPathElements in the future to enable Tabbed screens and overlays. Also, paths need to be 'split-able' into multiple levels, allowing path elements to contain paths

Solution

Introduce the Either type NavigationPathElement that exposes a common interface that all navigation path elements need to implement. This PR does not contain any work towards tabbed path builders but is only preparing the transition.