From 62c8a894f698b39772faaf712e50eadf26d20e44 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Fri, 30 Sep 2022 00:39:04 +0200
Subject: [PATCH] Update UdMultiLookupCallback

Improve error handling
---
 .../Callbacks/UdMultiLookupCallback.swift     | 24 +++++++++----------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/Sources/XXClient/Callbacks/UdMultiLookupCallback.swift b/Sources/XXClient/Callbacks/UdMultiLookupCallback.swift
index 1782c01e..cc40b606 100644
--- a/Sources/XXClient/Callbacks/UdMultiLookupCallback.swift
+++ b/Sources/XXClient/Callbacks/UdMultiLookupCallback.swift
@@ -49,21 +49,21 @@ extension UdMultiLookupCallback {
         if let err = err {
           result.errors.append(err as NSError)
         }
-        if let contactListJSON = contactListJSON {
-          do {
-            result.contacts = try JSONDecoder()
-              .decode([Data].self, from: contactListJSON)
-              .map { Contact.live($0) }
-          } catch {
-            result.errors.append(error as NSError)
+        do {
+          if let data = contactListJSON,
+             let contactListJSON = try JSONDecoder().decode([Data]?.self, from: data) {
+            result.contacts = contactListJSON.map { Contact.live($0) }
           }
+        } catch {
+          result.errors.append(error as NSError)
         }
-        if let failedIDs = failedIDs {
-          do {
-            result.failedIds = try JSONDecoder().decode([Data].self, from: failedIDs)
-          } catch {
-            result.errors.append(error as NSError)
+        do {
+          if let data = failedIDs,
+             let failedIDs = try JSONDecoder().decode([Data]?.self, from: data) {
+            result.failedIds = failedIDs
           }
+        } catch {
+            result.errors.append(error as NSError)
         }
         callback.handle(result)
       }
-- 
GitLab