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