Fixed non-existing Json key decoding error (#832)

Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
This commit is contained in:
Yusuke Arakawa 2023-02-14 20:19:23 +09:00 committed by GitHub
parent dfc59abed5
commit 7bbe3cbc41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 0 deletions

View File

@ -31,3 +31,22 @@ public struct Relationship: Codable {
notifying: false)
}
}
public extension Relationship {
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
id = try values.decodeIfPresent(String.self, forKey: .id) ?? ""
following = try values.decodeIfPresent(Bool.self, forKey: .following) ?? false
showingReblogs = try values.decodeIfPresent(Bool.self, forKey: .showingReblogs) ?? false
followedBy = try values.decodeIfPresent(Bool.self, forKey: .followedBy) ?? false
blocking = try values.decodeIfPresent(Bool.self, forKey: .blocking) ?? false
blockedBy = try values.decodeIfPresent(Bool.self, forKey: .blockedBy) ?? false
muting = try values.decodeIfPresent(Bool.self, forKey: .muting) ?? false
mutingNotifications = try values.decodeIfPresent(Bool.self, forKey: .mutingNotifications) ?? false
requested = try values.decodeIfPresent(Bool.self, forKey: .requested) ?? false
domainBlocking = try values.decodeIfPresent(Bool.self, forKey: .domainBlocking) ?? false
endorsed = try values.decodeIfPresent(Bool.self, forKey: .endorsed) ?? false
note = try values.decodeIfPresent(String.self, forKey: .note) ?? ""
notifying = try values.decodeIfPresent(Bool.self, forKey: .notifying) ?? false
}
}