Currently all navigation actions require an ID to navigate. As Screen Objects are hashable and therefore can be used as unique identifiers (or built in such a way that they are unique), let's add navigation via Screen objects.
Methods to be added:
go<S: Screen, Parent: Screen>(to screen: S, on parent: Parent)go<Parent: Screen>(to path: [AnyScreen], on parent: Parent)dismiss<S: Screen>(screen: S)dismissSuccessor<Parent: Screen>(of parent: Parent)
Currently all navigation actions require an ID to navigate. As Screen Objects are hashable and therefore can be used as unique identifiers (or built in such a way that they are unique), let's add navigation via Screen objects.
Methods to be added:
go<S: Screen, Parent: Screen>(to screen: S, on parent: Parent)
go<Parent: Screen>(to path: [AnyScreen], on parent: Parent)
dismiss<S: Screen>(screen: S)
dismissSuccessor<Parent: Screen>(of parent: Parent)