From 6b09d25c02aa3c60026a6f9289ac095edf3c87b0 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Mon, 25 Jul 2022 15:32:28 +0100
Subject: [PATCH] Add E2EPayloadSize functor

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

diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift
index da868b33..1a0617ae 100644
--- a/Sources/ElixxirDAppsSDK/E2E.swift
+++ b/Sources/ElixxirDAppsSDK/E2E.swift
@@ -3,6 +3,7 @@ import Bindings
 public struct E2E {
   public var getId: E2EGetId
   public var getReceptionId: E2EGetReceptionId
+  public var payloadSize: E2EPayloadSize
 
   // TODO:
 }
@@ -11,7 +12,8 @@ extension E2E {
   public static func live(_ bindingsE2E: BindingsE2e) -> E2E {
     E2E(
       getId: .live(bindingsE2E: bindingsE2E),
-      getReceptionId: .live(bindingsE2E: bindingsE2E)
+      getReceptionId: .live(bindingsE2E: bindingsE2E),
+      payloadSize: .live(bindingsE2E: bindingsE2E)
     )
   }
 }
@@ -19,6 +21,7 @@ extension E2E {
 extension E2E {
   public static let unimplemented = E2E(
     getId: .unimplemented,
-    getReceptionId: .unimplemented
+    getReceptionId: .unimplemented,
+    payloadSize: .unimplemented
   )
 }
diff --git a/Sources/ElixxirDAppsSDK/E2EPayloadSize.swift b/Sources/ElixxirDAppsSDK/E2EPayloadSize.swift
new file mode 100644
index 00000000..bf2ee5ab
--- /dev/null
+++ b/Sources/ElixxirDAppsSDK/E2EPayloadSize.swift
@@ -0,0 +1,22 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct E2EPayloadSize {
+  public var run: () -> Int
+
+  public func callAsFunction() -> Int {
+    run()
+  }
+}
+
+extension E2EPayloadSize {
+  public static func live(bindingsE2E: BindingsE2e) -> E2EPayloadSize {
+    E2EPayloadSize(run: bindingsE2E.payloadSize)
+  }
+}
+
+extension E2EPayloadSize {
+  public static let unimplemented = E2EPayloadSize(
+    run: XCTUnimplemented("\(Self.self)")
+  )
+}
-- 
GitLab