Files
Rintaro Ishizaki 39606e6269 [refactoring] Rework "add codable implementation" refactoring
* Support extensions including conditional conformance
* Correct access modifiers
* More correct lookup for the synthesized declarations
* Avoid printing decls in nested types (rdar://98025945)
2024-03-13 13:34:32 +09:00

31 lines
692 B
Plaintext

struct Response: Codable {
let pages: [Page]
struct Page: Codable {
let results: [Result]
struct Result: Codable {
let title: String
}
}
private enum CodingKeys: CodingKey {
case pages
}
init(from decoder: any Decoder) throws {
let container: KeyedDecodingContainer<Response.CodingKeys> = try decoder.container(keyedBy: Response.CodingKeys.self)
self.pages = try container.decode([Response.Page].self, forKey: Response.CodingKeys.pages)
}
func encode(to encoder: any Encoder) throws {
var container = encoder.container(keyedBy: Response.CodingKeys.self)
try container.encode(self.pages, forKey: Response.CodingKeys.pages)
}
}