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