From 3f6fa1238383574592fc4311ff3512bff4b9032f Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 20 Jul 2022 16:11:39 +0100 Subject: [PATCH] Add CmixGetId functor --- Sources/ElixxirDAppsSDK/Cmix.swift | 3 +++ Sources/ElixxirDAppsSDK/CmixGetId.swift | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 Sources/ElixxirDAppsSDK/CmixGetId.swift diff --git a/Sources/ElixxirDAppsSDK/Cmix.swift b/Sources/ElixxirDAppsSDK/Cmix.swift index e14292d9..694f585e 100644 --- a/Sources/ElixxirDAppsSDK/Cmix.swift +++ b/Sources/ElixxirDAppsSDK/Cmix.swift @@ -1,12 +1,14 @@ import Bindings public struct Cmix { + public var getId: CmixGetId public var makeReceptionIdentity: MakeReceptionIdentity } extension Cmix { public static func live(_ bindingsCmix: BindingsCmix) -> Cmix { Cmix( + getId: .live(bindingsCmix), makeReceptionIdentity: .live(bindingsCmix) ) } @@ -14,6 +16,7 @@ extension Cmix { extension Cmix { public static let unimplemented = Cmix( + getId: .unimplemented, makeReceptionIdentity: .unimplemented ) } diff --git a/Sources/ElixxirDAppsSDK/CmixGetId.swift b/Sources/ElixxirDAppsSDK/CmixGetId.swift new file mode 100644 index 00000000..2d4a9255 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/CmixGetId.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct CmixGetId { + public var run: () -> Int + + public func callAsFunction() -> Int { + run() + } +} + +extension CmixGetId { + public static func live(_ bindingsCmix: BindingsCmix) -> CmixGetId { + CmixGetId(run: bindingsCmix.getID) + } +} + +extension CmixGetId { + public static let unimplemented = CmixGetId( + run: XCTUnimplemented("\(Self.self)") + ) +} -- GitLab