An open API service indexing awesome lists of open source software.

https://github.com/serverdriven/screendatanavigation-swift

Handling ScreenData's Destinations
https://github.com/serverdriven/screendatanavigation-swift

swift

Last synced: 4 months ago
JSON representation

Handling ScreenData's Destinations

Awesome Lists containing this project

README

          

# ScreenDataNavigation

```swift
// MARK: ScreenProviding
// Provide ScreenDataUI with SomeScreen

public protocol ScreenProviding {
func screen(forID id: String) -> AnyPublisher
}

public struct MockScreenProvider: ScreenProviding {
// ...
}

public struct URLScreenProvider: ScreenProviding {
// ...
}

public struct FileScreenProvider: ScreenProviding {
// ...
}

// MARK: ScreenStoring
// Store SomeScreens for later

public protocol ScreenStoring {
func store(screens: [SomeScreen]) -> AnyPublisher
}

public struct FileScreenStore: ScreenStoring {
// ...
}

// MARK: ScreenLoading
public protocol ScreenLoading {
func load(withProvider provider: ScreenProviding) -> AnyPublisher<[SomeScreen], Error>
}

// MARK: ScreenLoading Basic Implementation
extension SomeScreen: ScreenLoading {
// ...
}
```