Skip to content

Commit 42e34a2

Browse files
committed
Handle a double-optionals situation
1 parent 05e3a91 commit 42e34a2

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

Networking/Networking/Model/Order.swift

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,19 @@ public struct Order: Decodable {
117117

118118
let items = try container.decode([OrderItem].self, forKey: .items)
119119

120-
let shippingAddress = try container.decodeIfPresent(Address.self, forKey: .shippingAddress)
121-
let billingAddress = try container.decodeIfPresent(Address.self, forKey: .billingAddress)
120+
var shippingAddress: Address? = nil
121+
do {
122+
shippingAddress = try container.decodeIfPresent(Address.self, forKey: .shippingAddress)
123+
} catch {
124+
// no-op
125+
}
126+
127+
var billingAddress: Address? = nil
128+
do {
129+
billingAddress = try container.decode(Address.self, forKey: .billingAddress)
130+
} catch {
131+
billingAddress = Address(firstName: "", lastName: "", company: "", address1: "", address2: "", city: "", state: "", postcode: "", country: "", phone: "", email: "")
132+
}
122133

123134
let coupons = try container.decode([OrderCouponLine].self, forKey: .couponLines)
124135

0 commit comments

Comments
 (0)