From 44e39cbce07f215ded6ed127e4b0d720363a6499 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Mon, 8 Aug 2022 11:53:39 +0100 Subject: [PATCH] Add Group object wrapper --- .../Group/Functors/GroupGetCreatedMS.swift | 22 ++++++++++ .../Group/Functors/GroupGetCreatedNano.swift | 22 ++++++++++ .../Group/Functors/GroupGetId.swift | 27 ++++++++++++ .../Group/Functors/GroupGetInitMessage.swift | 27 ++++++++++++ .../Group/Functors/GroupGetMembership.swift | 24 +++++++++++ .../Group/Functors/GroupGetName.swift | 27 ++++++++++++ .../Group/Functors/GroupGetTrackedId.swift | 22 ++++++++++ .../Group/Functors/GroupSerialize.swift | 28 +++++++++++++ Sources/ElixxirDAppsSDK/Group/Group.swift | 41 +++++++++++++++++++ 9 files changed, 240 insertions(+) create mode 100644 Sources/ElixxirDAppsSDK/Group/Functors/GroupGetCreatedMS.swift create mode 100644 Sources/ElixxirDAppsSDK/Group/Functors/GroupGetCreatedNano.swift create mode 100644 Sources/ElixxirDAppsSDK/Group/Functors/GroupGetId.swift create mode 100644 Sources/ElixxirDAppsSDK/Group/Functors/GroupGetInitMessage.swift create mode 100644 Sources/ElixxirDAppsSDK/Group/Functors/GroupGetMembership.swift create mode 100644 Sources/ElixxirDAppsSDK/Group/Functors/GroupGetName.swift create mode 100644 Sources/ElixxirDAppsSDK/Group/Functors/GroupGetTrackedId.swift create mode 100644 Sources/ElixxirDAppsSDK/Group/Functors/GroupSerialize.swift create mode 100644 Sources/ElixxirDAppsSDK/Group/Group.swift diff --git a/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetCreatedMS.swift b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetCreatedMS.swift new file mode 100644 index 00000000..41960aba --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetCreatedMS.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct GroupGetCreatedMS { + public var run: () -> Int64 + + public func callAsFunction() -> Int64 { + run() + } +} + +extension GroupGetCreatedMS { + public static func live(_ bindingsGroup: BindingsGroup) -> GroupGetCreatedMS { + GroupGetCreatedMS(run: bindingsGroup.getCreatedMS) + } +} + +extension GroupGetCreatedMS { + public static let unimplemented = GroupGetCreatedMS( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetCreatedNano.swift b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetCreatedNano.swift new file mode 100644 index 00000000..982c0cc3 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetCreatedNano.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct GroupGetCreatedNano { + public var run: () -> Int64 + + public func callAsFunction() -> Int64 { + run() + } +} + +extension GroupGetCreatedNano { + public static func live(_ bindingsGroup: BindingsGroup) -> GroupGetCreatedNano { + GroupGetCreatedNano(run: bindingsGroup.getCreatedNano) + } +} + +extension GroupGetCreatedNano { + public static let unimplemented = GroupGetCreatedNano( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetId.swift b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetId.swift new file mode 100644 index 00000000..85f7509b --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetId.swift @@ -0,0 +1,27 @@ +import Bindings +import XCTestDynamicOverlay + +public struct GroupGetId { + public var run: () -> Data + + public func callAsFunction() -> Data { + run() + } +} + +extension GroupGetId { + public static func live(_ bindingsGroup: BindingsGroup) -> GroupGetId { + GroupGetId { + guard let data = bindingsGroup.getID() else { + fatalError("BindingsGroup.getID returned `nil`") + } + return data + } + } +} + +extension GroupGetId { + public static let unimplemented = GroupGetId( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetInitMessage.swift b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetInitMessage.swift new file mode 100644 index 00000000..b3ac47d8 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetInitMessage.swift @@ -0,0 +1,27 @@ +import Bindings +import XCTestDynamicOverlay + +public struct GroupGetInitMessage { + public var run: () -> Data + + public func callAsFunction() -> Data { + run() + } +} + +extension GroupGetInitMessage { + public static func live(_ bindingsGroup: BindingsGroup) -> GroupGetInitMessage { + GroupGetInitMessage { + guard let data = bindingsGroup.getInitMessage() else { + fatalError("BindingsGroup.getInitMessage returned `nil`") + } + return data + } + } +} + +extension GroupGetInitMessage { + public static let unimplemented = GroupGetInitMessage( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetMembership.swift b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetMembership.swift new file mode 100644 index 00000000..1d78a248 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetMembership.swift @@ -0,0 +1,24 @@ +import Bindings +import XCTestDynamicOverlay + +public struct GroupGetMembership { + public var run: () throws -> Data + + public func callAsFunction() throws -> Data { + try run() + } +} + +extension GroupGetMembership { + public static func live(_ bindingsGroup: BindingsGroup) -> GroupGetMembership { + GroupGetMembership { + try bindingsGroup.getMembership() + } + } +} + +extension GroupGetMembership { + public static let unimplemented = GroupGetMembership( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetName.swift b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetName.swift new file mode 100644 index 00000000..f355a164 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetName.swift @@ -0,0 +1,27 @@ +import Bindings +import XCTestDynamicOverlay + +public struct GroupGetName { + public var run: () -> Data + + public func callAsFunction() -> Data { + run() + } +} + +extension GroupGetName { + public static func live(_ bindingsGroup: BindingsGroup) -> GroupGetName { + GroupGetName { + guard let data = bindingsGroup.getName() else { + fatalError("BindingsGroup.getName returned `nil`") + } + return data + } + } +} + +extension GroupGetName { + public static let unimplemented = GroupGetName( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetTrackedId.swift b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetTrackedId.swift new file mode 100644 index 00000000..4ec389e0 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Functors/GroupGetTrackedId.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct GroupGetTrackedId { + public var run: () -> Int + + public func callAsFunction() -> Int { + run() + } +} + +extension GroupGetTrackedId { + public static func live(_ bindingsGroup: BindingsGroup) -> GroupGetTrackedId { + GroupGetTrackedId(run: bindingsGroup.getTrackedID) + } +} + +extension GroupGetTrackedId { + public static let unimplemented = GroupGetTrackedId( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Group/Functors/GroupSerialize.swift b/Sources/ElixxirDAppsSDK/Group/Functors/GroupSerialize.swift new file mode 100644 index 00000000..aa6cea1e --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Functors/GroupSerialize.swift @@ -0,0 +1,28 @@ +import Bindings +import XCTestDynamicOverlay + +public struct GroupSerialize { + public var run: () -> Data + + public func callAsFunction() -> Data { + run() + } +} + +extension GroupSerialize { + public static func live(_ bindingsGroup: BindingsGroup) -> GroupSerialize { + GroupSerialize { + guard let data = bindingsGroup.serialize() else { + fatalError("BindingsGroup.serialize returned `nil`") + } + return data + } + } +} + +extension GroupSerialize { + public static let unimplemented = GroupSerialize( + run: XCTUnimplemented("\(Self.self)") + ) +} + diff --git a/Sources/ElixxirDAppsSDK/Group/Group.swift b/Sources/ElixxirDAppsSDK/Group/Group.swift new file mode 100644 index 00000000..8fa75499 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Group/Group.swift @@ -0,0 +1,41 @@ +import Bindings +import XCTestDynamicOverlay + +public struct Group { + public var getCreatedMS: GroupGetCreatedMS + public var getCreatedNano: GroupGetCreatedNano + public var getId: GroupGetId + public var getInitMessage: GroupGetInitMessage + public var getMembership: GroupGetMembership + public var getName: GroupGetName + public var getTrackedID: GroupGetTrackedId + public var serialize: GroupSerialize +} + +extension Group { + public static func live(_ bindingsGroup: BindingsGroup) -> Group { + Group( + getCreatedMS: .live(bindingsGroup), + getCreatedNano: .live(bindingsGroup), + getId: .live(bindingsGroup), + getInitMessage: .live(bindingsGroup), + getMembership: .live(bindingsGroup), + getName: .live(bindingsGroup), + getTrackedID: .live(bindingsGroup), + serialize: .live(bindingsGroup) + ) + } +} + +extension Group { + public static let unimplemented = Group( + getCreatedMS: .unimplemented, + getCreatedNano: .unimplemented, + getId: .unimplemented, + getInitMessage: .unimplemented, + getMembership: .unimplemented, + getName: .unimplemented, + getTrackedID: .unimplemented, + serialize: .unimplemented + ) +} -- GitLab