diff --git a/Sources/BetterCodable/LossyDictionary.swift b/Sources/BetterCodable/LossyDictionary.swift index c26122f..df32875 100644 --- a/Sources/BetterCodable/LossyDictionary.swift +++ b/Sources/BetterCodable/LossyDictionary.swift @@ -29,7 +29,7 @@ extension LossyDictionary: Decodable where Key: Decodable, Value: Decodable { } private struct AnyDecodableValue: Decodable {} - private struct LossyDecodableValue: Decodable { + private struct LossyDecodableValue: Decodable { let value: Value public init(from decoder: Decoder) throws { @@ -46,7 +46,7 @@ extension LossyDictionary: Decodable where Key: Decodable, Value: Decodable { for (key, stringKey) in keys { do { - let value = try container.decode(LossyDecodableValue.self, forKey: key).value + let value = try container.decode(LossyDecodableValue.self, forKey: key).value elements[stringKey as! Key] = value } catch { _ = try? container.decode(AnyDecodableValue.self, forKey: key) @@ -67,7 +67,7 @@ extension LossyDictionary: Decodable where Key: Decodable, Value: Decodable { } do { - let value = try container.decode(LossyDecodableValue.self, forKey: key).value + let value = try container.decode(LossyDecodableValue.self, forKey: key).value elements[key.intValue! as! Key] = value } catch { _ = try? container.decode(AnyDecodableValue.self, forKey: key) diff --git a/Tests/BetterCodableTests/DefaultCodableTests.swift b/Tests/BetterCodableTests/DefaultCodableTests.swift index d9a9a7d..6d9338f 100644 --- a/Tests/BetterCodableTests/DefaultCodableTests.swift +++ b/Tests/BetterCodableTests/DefaultCodableTests.swift @@ -199,6 +199,6 @@ class DefaultCodableTests_EnumWithAssociatedValue: XCTestCase { let data = try JSONEncoder().encode(fixture) let str = String(data: data, encoding: .utf8) - XCTAssertEqual(str, #"{"value":{"int":4,"fish":"ziz"}}"#) + XCTAssertEqual(str, #"{"value":{"fish":"ziz","int":4}}"#) } }