From eccadfed77c7f1a9c056d4bc42343517f4687cbf Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Thu, 21 Jul 2022 18:45:56 +0100 Subject: [PATCH] Add CmixWaitForNetwork functor --- Sources/ElixxirDAppsSDK/Cmix.swift | 7 ++++-- .../ElixxirDAppsSDK/CmixWaitForNetwork.swift | 22 ++++++++++++++++ .../Legacy/NetworkWaiter.swift | 25 ------------------- 3 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 Sources/ElixxirDAppsSDK/CmixWaitForNetwork.swift delete mode 100644 Sources/ElixxirDAppsSDK/Legacy/NetworkWaiter.swift diff --git a/Sources/ElixxirDAppsSDK/Cmix.swift b/Sources/ElixxirDAppsSDK/Cmix.swift index c9518d30..092cff8b 100644 --- a/Sources/ElixxirDAppsSDK/Cmix.swift +++ b/Sources/ElixxirDAppsSDK/Cmix.swift @@ -9,6 +9,7 @@ public struct Cmix { public var networkFollowerStatus: CmixNetworkFollowerStatus public var startNetworkFollower: CmixStartNetworkFollower public var stopNetworkFollower: CmixStopNetworkFollower + public var waitForNetwork: CmixWaitForNetwork } extension Cmix { @@ -21,7 +22,8 @@ extension Cmix { hasRunningProcesses: .live(bindingsCmix), networkFollowerStatus: .live(bindingsCmix), startNetworkFollower: .live(bindingsCmix), - stopNetworkFollower: .live(bindingsCmix) + stopNetworkFollower: .live(bindingsCmix), + waitForNetwork: .live(bindingsCmix) ) } } @@ -35,6 +37,7 @@ extension Cmix { hasRunningProcesses: .unimplemented, networkFollowerStatus: .unimplemented, startNetworkFollower: .unimplemented, - stopNetworkFollower: .unimplemented + stopNetworkFollower: .unimplemented, + waitForNetwork: .unimplemented ) } diff --git a/Sources/ElixxirDAppsSDK/CmixWaitForNetwork.swift b/Sources/ElixxirDAppsSDK/CmixWaitForNetwork.swift new file mode 100644 index 00000000..3174c69f --- /dev/null +++ b/Sources/ElixxirDAppsSDK/CmixWaitForNetwork.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct CmixWaitForNetwork { + public var run: (Int) -> Bool + + public func callAsFunction(timeoutMS: Int) -> Bool { + run(timeoutMS) + } +} + +extension CmixWaitForNetwork { + public static func live(_ bindingsCmix: BindingsCmix) -> CmixWaitForNetwork { + CmixWaitForNetwork(run: bindingsCmix.wait(forNetwork:)) + } +} + +extension CmixWaitForNetwork { + public static let unimplemented = CmixWaitForNetwork( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Legacy/NetworkWaiter.swift b/Sources/ElixxirDAppsSDK/Legacy/NetworkWaiter.swift deleted file mode 100644 index 4782ab90..00000000 --- a/Sources/ElixxirDAppsSDK/Legacy/NetworkWaiter.swift +++ /dev/null @@ -1,25 +0,0 @@ -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: BindingsCmix) -> NetworkWaiter { - NetworkWaiter { timeoutMS in - bindingsClient.wait(forNetwork: timeoutMS) - } - } -} - -#if DEBUG -extension NetworkWaiter { - public static let failing = NetworkWaiter { _ in - fatalError("Not implemented") - } -} -#endif -- GitLab