marksands/BetterCodable
Level up your Codable structs through property wrappers. The goal of these property wrappers is to avoid implementing a custom init(from decoder: Decoder) throws and suffer through boilerplate. @LossyArray decodes Arrays and filters invalid values if the Decoder is unable to decode the value.