diff --git a/Sources/ElixxirDAppsSDK/Cmix.swift b/Sources/ElixxirDAppsSDK/Cmix.swift index e0c71e8538711ebbb3b431186ae5786094f6353c..e14292d9c8274b1dd6dea0d00c481a2290484a34 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 0000000000000000000000000000000000000000..65b4592f5b23965892ff766347d4a35c63b1c5b3 --- /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)") + ) +}