From f6ddefd806dc2cb7bad9444b2b1cbdf3b88fa6e9 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Thu, 21 Jul 2022 17:49:46 +0100 Subject: [PATCH] Add CmixStopNetworkFollower functor --- Sources/ElixxirDAppsSDK/Cmix.swift | 7 ++++-- .../CmixStopNetworkFollower.swift | 22 +++++++++++++++++ .../Legacy/NetworkFollowerStopper.swift | 24 ------------------- 3 files changed, 27 insertions(+), 26 deletions(-) create mode 100644 Sources/ElixxirDAppsSDK/CmixStopNetworkFollower.swift delete mode 100644 Sources/ElixxirDAppsSDK/Legacy/NetworkFollowerStopper.swift diff --git a/Sources/ElixxirDAppsSDK/Cmix.swift b/Sources/ElixxirDAppsSDK/Cmix.swift index 2e8fd4af..d98031d6 100644 --- a/Sources/ElixxirDAppsSDK/Cmix.swift +++ b/Sources/ElixxirDAppsSDK/Cmix.swift @@ -7,6 +7,7 @@ public struct Cmix { public var hasRunningProcesses: CmixHasRunningProcesses public var networkFollowerStatus: CmixNetworkFollowerStatus public var startNetworkFollower: CmixStartNetworkFollower + public var stopNetworkFollower: CmixStopNetworkFollower } extension Cmix { @@ -17,7 +18,8 @@ extension Cmix { isHealthy: .live(bindingsCmix), hasRunningProcesses: .live(bindingsCmix), networkFollowerStatus: .live(bindingsCmix), - startNetworkFollower: .live(bindingsCmix) + startNetworkFollower: .live(bindingsCmix), + stopNetworkFollower: .live(bindingsCmix) ) } } @@ -29,6 +31,7 @@ extension Cmix { isHealthy: .unimplemented, hasRunningProcesses: .unimplemented, networkFollowerStatus: .unimplemented, - startNetworkFollower: .unimplemented + startNetworkFollower: .unimplemented, + stopNetworkFollower: .unimplemented ) } diff --git a/Sources/ElixxirDAppsSDK/CmixStopNetworkFollower.swift b/Sources/ElixxirDAppsSDK/CmixStopNetworkFollower.swift new file mode 100644 index 00000000..140a415e --- /dev/null +++ b/Sources/ElixxirDAppsSDK/CmixStopNetworkFollower.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct CmixStopNetworkFollower { + public var run: () throws -> Void + + public func callAsFunction() throws { + try run() + } +} + +extension CmixStopNetworkFollower { + public static func live(_ bindingsCmix: BindingsCmix) -> CmixStopNetworkFollower { + CmixStopNetworkFollower(run: bindingsCmix.stopNetworkFollower) + } +} + +extension CmixStopNetworkFollower { + public static let unimplemented = CmixStopNetworkFollower( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Legacy/NetworkFollowerStopper.swift b/Sources/ElixxirDAppsSDK/Legacy/NetworkFollowerStopper.swift deleted file mode 100644 index 1b8ed6ab..00000000 --- a/Sources/ElixxirDAppsSDK/Legacy/NetworkFollowerStopper.swift +++ /dev/null @@ -1,24 +0,0 @@ -import Bindings - -public struct NetworkFollowerStopper { - public var stop: () throws -> Void - - public func callAsFunction() throws { - try stop() - } -} - -extension NetworkFollowerStopper { - public static func live(bindingsClient: BindingsCmix) -> NetworkFollowerStopper { - NetworkFollowerStopper(stop: bindingsClient.stopNetworkFollower) - } -} - -#if DEBUG -extension NetworkFollowerStopper { - public static let failing = NetworkFollowerStopper { - struct NotImplemented: Error {} - throw NotImplemented() - } -} -#endif -- GitLab