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

Add UdSearchCallback callback

parent 66cc7b62
No related branches found
No related tags found
1 merge request!102Release 1.0.0
import Bindings
import XCTestDynamicOverlay
public struct UdSearchCallback {
public init(handle: @escaping (Result<[Data], NSError>) -> Void) {
self.handle = handle
}
public var handle: (Result<[Data], NSError>) -> Void
}
extension UdSearchCallback {
public static let unimplemented = UdSearchCallback(
handle: XCTUnimplemented("\(Self.self)")
)
}
extension UdSearchCallback {
func makeBindingsUdSearchCallback() -> BindingsUdSearchCallbackProtocol {
class CallbackObject: NSObject, BindingsUdSearchCallbackProtocol {
init(_ callback: UdSearchCallback) {
self.callback = callback
}
let callback: UdSearchCallback
func callback(_ contactListJSON: Data?, err: Error?) {
if let error = err {
callback.handle(.failure(error as NSError))
} else if let data = contactListJSON {
do {
callback.handle(.success(try JSONDecoder().decode([Data].self, from: data)))
} catch {
callback.handle(.failure(error as NSError))
}
} else {
fatalError("BindingsUdSearchCallback received `nil` data and `nil` error")
}
}
}
return CallbackObject(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