From 94d97dbad3c8079bb9b16cfaacabf01486cb2c91 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Fri, 26 Aug 2022 12:35:22 +0100 Subject: [PATCH] Use MakeContact in UdSearchCallback --- .../XXClient/Callbacks/UdSearchCallback.swift | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Sources/XXClient/Callbacks/UdSearchCallback.swift b/Sources/XXClient/Callbacks/UdSearchCallback.swift index 608d2425..4799032b 100644 --- a/Sources/XXClient/Callbacks/UdSearchCallback.swift +++ b/Sources/XXClient/Callbacks/UdSearchCallback.swift @@ -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 + ) } } -- GitLab