From f2e2df05f14c021905cd051985188687267d191d Mon Sep 17 00:00:00 2001 From: Didier Garcia Date: Wed, 20 Dec 2023 17:45:03 -0500 Subject: [PATCH] Fix optional wrapping issue in mapToStrings function by explicitedly allowing Any? values then unwrapping them. --- Sources/SegmentFirebase/FirebaseDestination.swift | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Sources/SegmentFirebase/FirebaseDestination.swift b/Sources/SegmentFirebase/FirebaseDestination.swift index 6f93fc6..0c22798 100644 --- a/Sources/SegmentFirebase/FirebaseDestination.swift +++ b/Sources/SegmentFirebase/FirebaseDestination.swift @@ -201,13 +201,15 @@ extension FirebaseDestination { } // Makes sure all traits are string based for Firebase API - func mapToStrings(_ mapDictionary: [String: Any], finalize: (String, String) -> Void) { + func mapToStrings(_ mapDictionary: [String: Any?], finalize: (String, String) -> Void) { for (key, data) in mapDictionary { - var dataString = data as? String ?? "\(data)" - let keyString = key.replacingOccurrences(of: " ", with: "_") - dataString = dataString.trimmingCharacters(in: .whitespacesAndNewlines) - finalize(keyString, dataString) + if let d = data { + var dataString = d as? String ?? "\(d)" + let keyString = key.replacingOccurrences(of: " ", with: "_") + dataString = dataString.trimmingCharacters(in: .whitespacesAndNewlines) + finalize(keyString, dataString) + } } } }