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
- Host: GitHub
- URL: https://github.com/serverdriven/screendatanavigation-swift
- Owner: ServerDriven
- License: mit
- Created: 2020-11-17T03:48:10.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-05-07T21:55:42.000Z (about 4 years ago)
- Last Synced: 2025-10-21T08:41:55.536Z (8 months ago)
- Topics: swift
- Language: Swift
- Homepage: https://serverdriven.github.io/ScreenData/
- Size: 502 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 {
// ...
}
```