enum BooruProviderFlavor: String, CaseIterable, Codable { case danbooru = "Danbooru" case gelbooru = "Gelbooru" case moebooru = "Moebooru" // MARK: - Initialization init(provider: BooruProvider) { self = Self.providerMap[provider] ?? .gelbooru } // MARK: - Private private static let providerMap: [BooruProvider: Self] = [ .danbooru: .danbooru, .yandere: .moebooru, .konachan: .moebooru, .sakugabooru: .moebooru, .safebooru: .gelbooru, .gelbooru: .gelbooru, ] }