From 4c45aa355c2f35c89c3e9c44a1ef60137071940d Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Thu, 21 Jul 2022 17:35:34 +0100
Subject: [PATCH] Add CmixIsHealthy functor

---
 Sources/ElixxirDAppsSDK/Cmix.swift          |  7 +++++--
 Sources/ElixxirDAppsSDK/CmixIsHealthy.swift | 22 +++++++++++++++++++++
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 Sources/ElixxirDAppsSDK/CmixIsHealthy.swift

diff --git a/Sources/ElixxirDAppsSDK/Cmix.swift b/Sources/ElixxirDAppsSDK/Cmix.swift
index 694f585e..d2b55665 100644
--- a/Sources/ElixxirDAppsSDK/Cmix.swift
+++ b/Sources/ElixxirDAppsSDK/Cmix.swift
@@ -3,13 +3,15 @@ import Bindings
 public struct Cmix {
   public var getId: CmixGetId
   public var makeReceptionIdentity: MakeReceptionIdentity
+  public var isHealthy: CmixIsHealthy
 }
 
 extension Cmix {
   public static func live(_ bindingsCmix: BindingsCmix) -> Cmix {
     Cmix(
       getId: .live(bindingsCmix),
-      makeReceptionIdentity: .live(bindingsCmix)
+      makeReceptionIdentity: .live(bindingsCmix),
+      isHealthy: .live(bindingsCmix)
     )
   }
 }
@@ -17,6 +19,7 @@ extension Cmix {
 extension Cmix {
   public static let unimplemented = Cmix(
     getId: .unimplemented,
-    makeReceptionIdentity: .unimplemented
+    makeReceptionIdentity: .unimplemented,
+    isHealthy: .unimplemented
   )
 }
diff --git a/Sources/ElixxirDAppsSDK/CmixIsHealthy.swift b/Sources/ElixxirDAppsSDK/CmixIsHealthy.swift
new file mode 100644
index 00000000..bdf89b84
--- /dev/null
+++ b/Sources/ElixxirDAppsSDK/CmixIsHealthy.swift
@@ -0,0 +1,22 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct CmixIsHealthy {
+  public var run: () -> Bool
+
+  public func callAsFunction() -> Bool {
+    run()
+  }
+}
+
+extension CmixIsHealthy {
+  public static func live(_ bindingsCmix: BindingsCmix) -> CmixIsHealthy {
+    CmixIsHealthy(run: bindingsCmix.isHealthy)
+  }
+}
+
+extension CmixIsHealthy {
+  public static let unimplemented = CmixIsHealthy(
+    run: XCTUnimplemented("\(Self.self)")
+  )
+}
-- 
GitLab