import Foundation struct Cap: Codable { let id: Int var name: String var count: Int var mainImage: Int /// The version of the first classifier trained on this cap var classifierVersion: Int? var color: Color? enum CodingKeys: String, CodingKey { case id = "i" case name = "n" case count = "c" case mainImage = "m" case classifierVersion = "v" case color = "f" } struct Color: Codable, Equatable { let r: Int let g: Int let b: Int } } extension Cap: Comparable { static func < (lhs: Cap, rhs: Cap) -> Bool { lhs.id < rhs.id } }