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
public struct Client {
public var networkFollower: NetworkFollower
public var waitForNetwork: NetworkWaiter
}
extension Client {
public static func live(bindingsClient: BindingsClient) -> Client {
Client(
networkFollower: .live(bindingsClient: bindingsClient)
networkFollower: .live(bindingsClient: bindingsClient),
waitForNetwork: .live(bindingsClient: bindingsClient)
)
}
}
......@@ -15,7 +17,8 @@ extension Client {
#if DEBUG
extension Client {
public static let failing = Client(
networkFollower: .failing
networkFollower: .failing,
waitForNetwork: .failing
)
}
#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