From 2fc6d1a4841c78fa870996ed4abebadeb94094af Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Thu, 28 Jul 2022 18:44:53 +0100
Subject: [PATCH] Rename MessageListener to Listener

---
 .../ElixxirDAppsSDK/Callbacks/Listener.swift  | 51 ++++++++++
 .../Callbacks/MessageListener.swift           | 99 -------------------
 .../Functors/ConnectionRegisterListener.swift |  4 +-
 3 files changed, 53 insertions(+), 101 deletions(-)
 create mode 100644 Sources/ElixxirDAppsSDK/Callbacks/Listener.swift
 delete mode 100644 Sources/ElixxirDAppsSDK/Callbacks/MessageListener.swift

diff --git a/Sources/ElixxirDAppsSDK/Callbacks/Listener.swift b/Sources/ElixxirDAppsSDK/Callbacks/Listener.swift
new file mode 100644
index 00000000..d0a6ff9e
--- /dev/null
+++ b/Sources/ElixxirDAppsSDK/Callbacks/Listener.swift
@@ -0,0 +1,51 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct Listener {
+  public init(
+    name: String = "Listener",
+    handle: @escaping (Message) -> Void
+  ) {
+    self.name = name
+    self.handle = handle
+  }
+
+  public var name: String
+  public var handle: (Message) -> Void
+}
+
+extension Listener {
+  public static let unimplemented = Listener(
+    name: "unimplemented",
+    handle: XCTUnimplemented("\(Self.self)")
+  )
+}
+
+extension Listener {
+  func makeBindingsListener() -> BindingsListenerProtocol {
+    class Callback: NSObject, BindingsListenerProtocol {
+      init(_ listener: Listener) {
+        self.listener = listener
+      }
+
+      let listener: Listener
+
+      func hear(_ item: Data?) {
+        guard let item = item else {
+          fatalError("BindingsListener.hear received `nil`")
+        }
+        do {
+          listener.handle(try Message.decode(item))
+        } catch {
+          fatalError("BindingsListener.hear message decoding failed with error: \(error)")
+        }
+      }
+
+      func name() -> String {
+        listener.name
+      }
+    }
+
+    return Callback(self)
+  }
+}
diff --git a/Sources/ElixxirDAppsSDK/Callbacks/MessageListener.swift b/Sources/ElixxirDAppsSDK/Callbacks/MessageListener.swift
deleted file mode 100644
index 9ce1dc02..00000000
--- a/Sources/ElixxirDAppsSDK/Callbacks/MessageListener.swift
+++ /dev/null
@@ -1,99 +0,0 @@
-import Bindings
-import XCTestDynamicOverlay
-
-public struct MessageListener {
-  public init(
-    name: String = "MessageListener",
-    handle: @escaping (Message) -> Void
-  ) {
-    self.name = name
-    self.handle = handle
-  }
-
-  public var name: String
-  public var handle: (Message) -> Void
-}
-
-extension MessageListener {
-  public static let unimplemented = MessageListener(
-    name: "unimplemented",
-    handle: XCTUnimplemented("\(Self.self)")
-  )
-}
-
-extension MessageListener {
-  func makeBindingsListener() -> BindingsListenerProtocol {
-    class Listener: NSObject, BindingsListenerProtocol {
-      init(_ listener: MessageListener) {
-        self.listener = listener
-      }
-
-      let listener: MessageListener
-
-      func hear(_ item: Data?) {
-        guard let item = item else {
-          fatalError("BindingsListener.hear received `nil`")
-        }
-        do {
-          listener.handle(try Message.decode(item))
-        } catch {
-          fatalError("BindingsListener.hear message decoding failed with error: \(error)")
-        }
-      }
-
-      func name() -> String {
-        listener.name
-      }
-    }
-
-    return Listener(self)
-  }
-}
-
-//
-//public struct MessageListener {
-//  public var listen: (Int, String, @escaping (Message) -> Void) -> Void
-//
-//  public func callAsFunction(
-//    messageType: Int,
-//    listenerName: String = "MessageListener",
-//    callback: @escaping (Message) -> Void
-//  ) {
-//    listen(messageType, listenerName, callback)
-//  }
-//}
-//
-//extension MessageListener {
-//  public static func live(
-//    bindingsConnection: BindingsConnection
-//  ) -> MessageListener {
-//    MessageListener.live(
-//      register: bindingsConnection.registerListener(_:newListener:)
-//    )
-//  }
-//
-//  public static func live(
-//    bindingsAuthenticatedConnection: BindingsAuthenticatedConnection
-//  ) -> MessageListener {
-//    MessageListener.live(
-//      register: bindingsAuthenticatedConnection.registerListener(_:newListener:)
-//    )
-//  }
-//
-//  private static func live(
-//    register: @escaping (Int, BindingsListenerProtocol) -> Void
-//  ) -> MessageListener {
-//    MessageListener { messageType, listenerName, callback in
-//      register(messageType, Listener(listenerName: listenerName, onHear: callback))
-//    }
-//  }
-//}
-//
-//
-//#if DEBUG
-//extension MessageListener {
-//  public static let failing = MessageListener { _, _, _ in
-//    fatalError("Not implemented")
-//  }
-//}
-//#endif
diff --git a/Sources/ElixxirDAppsSDK/Connection/Functors/ConnectionRegisterListener.swift b/Sources/ElixxirDAppsSDK/Connection/Functors/ConnectionRegisterListener.swift
index b9218674..d9bd4c39 100644
--- a/Sources/ElixxirDAppsSDK/Connection/Functors/ConnectionRegisterListener.swift
+++ b/Sources/ElixxirDAppsSDK/Connection/Functors/ConnectionRegisterListener.swift
@@ -2,11 +2,11 @@ import Bindings
 import XCTestDynamicOverlay
 
 public struct ConnectionRegisterListener {
-  public var run: (Int, MessageListener) throws -> Void
+  public var run: (Int, Listener) throws -> Void
 
   public func callAsFunction(
     messageType: Int,
-    listener: MessageListener
+    listener: Listener
   ) throws {
     try run(messageType, listener)
   }
-- 
GitLab