enum BooruRating: String, CaseIterable, Codable { case explicit = "Explicit" case questionable = "Questionable" case safe = "Safe" // MARK: - Initialisation init(_ string: String) { self = Self.shortCodeMap[string] ?? .questionable } // MARK: - Private private static let shortCodeMap: [String: Self] = [ "e": .explicit, "s": .safe, ] }