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

Add NetworkWaiter

parent a44341bb
No related branches found
No related tags found
1 merge request!2Bindings API wrapper
...@@ -2,12 +2,14 @@ import Bindings ...@@ -2,12 +2,14 @@ import Bindings
public struct Client { public struct Client {
public var networkFollower: NetworkFollower public var networkFollower: NetworkFollower
public var waitForNetwork: NetworkWaiter
} }
extension Client { extension Client {
public static func live(bindingsClient: BindingsClient) -> Client { public static func live(bindingsClient: BindingsClient) -> Client {
Client( Client(
networkFollower: .live(bindingsClient: bindingsClient) networkFollower: .live(bindingsClient: bindingsClient),
waitForNetwork: .live(bindingsClient: bindingsClient)
) )
} }
} }
...@@ -15,7 +17,8 @@ extension Client { ...@@ -15,7 +17,8 @@ extension Client {
#if DEBUG #if DEBUG
extension Client { extension Client {
public static let failing = Client( public static let failing = Client(
networkFollower: .failing networkFollower: .failing,
waitForNetwork: .failing
) )
} }
#endif #endif
import Bindings
public struct NetworkWaiter {
public var wait: (_ timeoutMS: Int) -> Bool
public func callAsFunction(timeoutMS: Int) -> Bool {
wait(timeoutMS)
}
}
extension NetworkWaiter {
public static func live(bindingsClient: BindingsClient) -> NetworkWaiter {
NetworkWaiter { timeoutMS in
bindingsClient.wait(forNetwork: timeoutMS)
}
}
}
#if DEBUG
extension NetworkWaiter {
public static let failing = NetworkWaiter { _ in
false
}
}
#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