Skip to content
This repository was archived by the owner on Jan 11, 2024. It is now read-only.

Commit e07456b

Browse files
committed
chore: fix test fail on older swift versions
1 parent cace2c9 commit e07456b

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

Tests/DynamicCodableKitTests/DynamicDecodingContextCodingKey/Models/SocialMediaPost.swift

+22-2
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,40 @@ import XCTest
33

44
struct SocialMediaPost: Codable {
55
typealias CodingKeys = SocialMediaPostCodingKey
6+
typealias MetaData = DynamicDecodingWrapper<CodingKeys>
67
let id: UUID
78
let author: UUID
89
let likes: Int
910
let createdAt: String
10-
@DynamicDecodingWrapper<CodingKeys> var metadata: PostMetaData
11+
@MetaData var metadata: PostMetaData
12+
13+
init(from decoder: Decoder) throws {
14+
let container = try decoder.container(keyedBy: CodingKeys.self)
15+
self.id = try container.decode(UUID.self, forKey: .id)
16+
self.author = try container.decode(UUID.self, forKey: .author)
17+
self.likes = try container.decode(Int.self, forKey: .likes)
18+
self.createdAt = try container.decode(String.self, forKey: .createdAt)
19+
self._metadata = try container.decode(MetaData.self, forKey: .metadata)
20+
}
1121
}
1222

1323
struct OptionalMetadataPost: Codable {
1424
typealias CodingKeys = SocialMediaPostCodingKey
25+
typealias MetaData = OptionalDynamicDecodingWrapper<CodingKeys>
1526
let id: UUID
1627
let author: UUID
1728
let likes: Int
1829
let createdAt: String
19-
@OptionalDynamicDecodingWrapper<CodingKeys> var metadata: PostMetaData?
30+
@MetaData var metadata: PostMetaData?
31+
32+
init(from decoder: Decoder) throws {
33+
let container = try decoder.container(keyedBy: CodingKeys.self)
34+
self.id = try container.decode(UUID.self, forKey: .id)
35+
self.author = try container.decode(UUID.self, forKey: .author)
36+
self.likes = try container.decode(Int.self, forKey: .likes)
37+
self.createdAt = try container.decode(String.self, forKey: .createdAt)
38+
self._metadata = container.decode(MetaData.self, forKey: .metadata)
39+
}
2040
}
2141

2242
enum PostMetaDataType: String,

0 commit comments

Comments
 (0)