21 lines
393 B
Swift
21 lines
393 B
Swift
import Foundation
|
|
|
|
protocol ServerProviding {
|
|
var server: Server { get }
|
|
}
|
|
|
|
final class ServerProvider {
|
|
@Dependency private var stateProvider: StateProviding
|
|
}
|
|
|
|
extension ServerProvider: ServerProviding {
|
|
var server: Server {
|
|
switch stateProvider.state {
|
|
case .loggedIn(let server):
|
|
return server
|
|
case .loggedOut:
|
|
fatalError("Attempt to get server while logged out.")
|
|
}
|
|
}
|
|
}
|