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

Use MakeContact in UdSearchCallback

parent bb6ac412
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!42Update Bindings
......@@ -16,13 +16,20 @@ extension UdSearchCallback {
}
extension UdSearchCallback {
func makeBindingsUdSearchCallback() -> BindingsUdSearchCallbackProtocol {
func makeBindingsUdSearchCallback(
makeContact: MakeContact = .live()
) -> BindingsUdSearchCallbackProtocol {
class CallbackObject: NSObject, BindingsUdSearchCallbackProtocol {
init(_ callback: UdSearchCallback) {
init(
callback: UdSearchCallback,
makeContact: MakeContact
) {
self.callback = callback
self.makeContact = makeContact
}
let callback: UdSearchCallback
let makeContact: MakeContact
func callback(_ contactListJSON: Data?, err: Error?) {
if let error = err {
......@@ -30,14 +37,7 @@ extension UdSearchCallback {
} else if let data = contactListJSON {
do {
let contactsData = try JSONDecoder().decode([Data].self, from: data)
let contacts = contactsData.map { data in
Contact(
data: data,
getId: { try GetIdFromContact.live(data) },
getPublicKey: { try GetPublicKeyFromContact.live(data) },
getFacts: { try GetFactsFromContact.live(data) }
)
}
let contacts: [Contact] = contactsData.map { makeContact($0) }
callback.handle(.success(contacts))
} catch {
callback.handle(.failure(error as NSError))
......@@ -48,6 +48,9 @@ extension UdSearchCallback {
}
}
return CallbackObject(self)
return CallbackObject(
callback: self,
makeContact: makeContact
)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment