Skip to content
Snippets Groups Projects
Commit 9883ad72 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add ClientIdProvider

parent a6a7cbad
No related branches found
No related tags found
1 merge request!2Bindings API wrapper
import Bindings
public struct Client {
public var getId: ClientIdProvider
public var networkFollower: NetworkFollower
public var waitForNetwork: NetworkWaiter
public var isNetworkHealthy: NetworkHealthProvider
......@@ -14,6 +15,7 @@ public struct Client {
extension Client {
public static func live(bindingsClient: BindingsClient) -> Client {
Client(
getId: .live(bindingsClient: bindingsClient),
networkFollower: .live(bindingsClient: bindingsClient),
waitForNetwork: .live(bindingsClient: bindingsClient),
isNetworkHealthy: .live(bindingsClient: bindingsClient),
......@@ -29,6 +31,7 @@ extension Client {
#if DEBUG
extension Client {
public static let failing = Client(
getId: .failing,
networkFollower: .failing,
waitForNetwork: .failing,
isNetworkHealthy: .failing,
......
import Bindings
public struct ClientIdProvider {
public var get: () -> Int
public func callAsFunction() -> Int {
get()
}
}
extension ClientIdProvider {
public static func live(bindingsClient: BindingsClient) -> ClientIdProvider {
ClientIdProvider(get: bindingsClient.getID)
}
}
#if DEBUG
extension ClientIdProvider {
public static let failing = ClientIdProvider {
fatalError("Not implemented")
}
}
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment