From b7b43996279c4a94b8d2dceb360581d2f90606bf Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 20 Jul 2022 12:15:30 +0100 Subject: [PATCH] Add MakeReceptionIdentity functor --- Sources/ElixxirDAppsSDK/Cmix.swift | 10 ++++++--- .../MakeReceptionIdentity.swift | 22 +++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 Sources/ElixxirDAppsSDK/MakeReceptionIdentity.swift diff --git a/Sources/ElixxirDAppsSDK/Cmix.swift b/Sources/ElixxirDAppsSDK/Cmix.swift index e0c71e85..e14292d9 100644 --- a/Sources/ElixxirDAppsSDK/Cmix.swift +++ b/Sources/ElixxirDAppsSDK/Cmix.swift @@ -1,15 +1,19 @@ import Bindings public struct Cmix { - // TODO: + public var makeReceptionIdentity: MakeReceptionIdentity } extension Cmix { public static func live(_ bindingsCmix: BindingsCmix) -> Cmix { - Cmix() + Cmix( + makeReceptionIdentity: .live(bindingsCmix) + ) } } extension Cmix { - public static let unimplemented = Cmix() + public static let unimplemented = Cmix( + makeReceptionIdentity: .unimplemented + ) } diff --git a/Sources/ElixxirDAppsSDK/MakeReceptionIdentity.swift b/Sources/ElixxirDAppsSDK/MakeReceptionIdentity.swift new file mode 100644 index 00000000..65b4592f --- /dev/null +++ b/Sources/ElixxirDAppsSDK/MakeReceptionIdentity.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct MakeReceptionIdentity { + public var run: () throws -> Data + + public func callAsFunction() throws -> Data { + try run() + } +} + +extension MakeReceptionIdentity { + public static func live(_ bindingsCmix: BindingsCmix) -> MakeReceptionIdentity { + MakeReceptionIdentity(run: bindingsCmix.makeReceptionIdentity) + } +} + +extension MakeReceptionIdentity { + public static let unimplemented = MakeReceptionIdentity( + run: XCTUnimplemented("\(Self.self)") + ) +} -- GitLab