diff --git a/CodableFirebase/Decoder.swift b/CodableFirebase/Decoder.swift index 02839a9..4ca29fa 100644 --- a/CodableFirebase/Decoder.swift +++ b/CodableFirebase/Decoder.swift @@ -13,6 +13,7 @@ class _FirebaseDecoder : Decoder { struct _Options { let dateDecodingStrategy: FirebaseDecoder.DateDecodingStrategy? let dataDecodingStrategy: FirebaseDecoder.DataDecodingStrategy? + let skipGeoPointAndReference: Bool let userInfo: [CodingUserInfoKey : Any] } diff --git a/CodableFirebase/FirebaseDecoder.swift b/CodableFirebase/FirebaseDecoder.swift index 8869cc9..8db7fa5 100644 --- a/CodableFirebase/FirebaseDecoder.swift +++ b/CodableFirebase/FirebaseDecoder.swift @@ -53,6 +53,7 @@ open class FirebaseDecoder { let options = _FirebaseDecoder._Options( dateDecodingStrategy: dateDecodingStrategy, dataDecodingStrategy: dataDecodingStrategy, + skipGeoPointAndReference: false, userInfo: userInfo ) let decoder = _FirebaseDecoder(referencing: container, options: options) diff --git a/CodableFirebase/FirestoreDecoder.swift b/CodableFirebase/FirestoreDecoder.swift index 8463fba..a647e77 100644 --- a/CodableFirebase/FirestoreDecoder.swift +++ b/CodableFirebase/FirestoreDecoder.swift @@ -14,7 +14,12 @@ open class FirestoreDecoder { open var userInfo: [CodingUserInfoKey : Any] = [:] open func decode(_ type: T.Type, from container: [String: Any]) throws -> T { - let options = _FirebaseDecoder._Options(dateDecodingStrategy: nil, dataDecodingStrategy: nil, userInfo: userInfo) + let options = _FirebaseDecoder._Options( + dateDecodingStrategy: nil, + dataDecodingStrategy: nil, + skipGeoPointAndReference: true, + userInfo: userInfo + ) let decoder = _FirebaseDecoder(referencing: container, options: options) guard let value = try decoder.unbox(container, as: T.self) else { throw DecodingError.valueNotFound(T.self, DecodingError.Context(codingPath: [], debugDescription: "The given dictionary was invalid"))