diff --git a/Sources/ElixxirDAppsSDK/Legacy/LogsListener.swift b/Sources/ElixxirDAppsSDK/Legacy/LogsListener.swift deleted file mode 100644 index 2b070877dbac36f8cb170fbd5ecb7af3271fbc74..0000000000000000000000000000000000000000 --- a/Sources/ElixxirDAppsSDK/Legacy/LogsListener.swift +++ /dev/null @@ -1,40 +0,0 @@ -import Bindings - -public struct LogsListener { - public var listen: (@escaping (String) -> Void) -> Void - - public func callAsFunction(callback: @escaping (String) -> Void) { - listen(callback) - } -} - -extension LogsListener { - public static let live = LogsListener { callback in - let listener = Listener(onLog: callback) - BindingsRegisterLogWriter(listener) - } -} - -private final class Listener: NSObject, BindingsLogWriterProtocol { - init(onLog: @escaping (String) -> Void) { - self.onLog = onLog - super.init() - } - - let onLog: (String) -> Void - - func log(_ p0: String?) { - guard let p0 = p0 else { - fatalError("BindingsLogWriter.log received `nil`") - } - onLog(p0) - } -} - -#if DEBUG -extension LogsListener { - public static let failing = LogsListener { _ in - fatalError("Not implemented") - } -} -#endif diff --git a/Sources/ElixxirDAppsSDK/RegisterLogWriter.swift b/Sources/ElixxirDAppsSDK/RegisterLogWriter.swift new file mode 100644 index 0000000000000000000000000000000000000000..f025bb59cd053ef58f7e6bac9f53b23eb3bad5d5 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/RegisterLogWriter.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct RegisterLogWriter { + public var run: (LogWriter) -> Void + + public func callAsFunction(_ writer: LogWriter) { + run(writer) + } +} + +extension RegisterLogWriter { + public static let live = RegisterLogWriter { writer in + BindingsRegisterLogWriter(writer.makeBindingsLogWriter()) + } +} + +extension RegisterLogWriter { + public static let unimplemented = RegisterLogWriter( + run: XCTUnimplemented("\(Self.self)") + ) +}