Skip to content
Snippets Groups Projects
Commit cdeb2d24 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add RegisterLogWriter functor

parent 1697f998
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
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
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)")
)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment