From 877fcedca3ff8719d8520a3fddecc8382f961aa8 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 1 Mar 2025 20:42:39 -0800 Subject: feat: Development commit --- Sora/Data/Booru/BooruProviderFlavor.swift | 24 +++++++++++++----------- Sora/Data/Booru/BooruRating.swift | 20 +++++++++----------- 2 files changed, 22 insertions(+), 22 deletions(-) (limited to 'Sora/Data') diff --git a/Sora/Data/Booru/BooruProviderFlavor.swift b/Sora/Data/Booru/BooruProviderFlavor.swift index 8917ab1..c94a40d 100644 --- a/Sora/Data/Booru/BooruProviderFlavor.swift +++ b/Sora/Data/Booru/BooruProviderFlavor.swift @@ -1,18 +1,20 @@ -enum BooruProviderFlavor: String, CaseIterable, Decodable, Encodable { +enum BooruProviderFlavor: String, CaseIterable, Codable { case danbooru = "Danbooru" case gelbooru = "Gelbooru" case moebooru = "Moebooru" + // MARK: - Initialization init(provider: BooruProvider) { - switch provider { - case .danbooru: - self = .danbooru - - case .yandere, .konachan, .sakugabooru: - self = .moebooru - - case .safebooru, .gelbooru: - self = .gelbooru - } + 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, + ] } diff --git a/Sora/Data/Booru/BooruRating.swift b/Sora/Data/Booru/BooruRating.swift index f4814e8..1135add 100644 --- a/Sora/Data/Booru/BooruRating.swift +++ b/Sora/Data/Booru/BooruRating.swift @@ -1,18 +1,16 @@ -enum BooruRating: String, CaseIterable, Decodable, Encodable { +enum BooruRating: String, CaseIterable, Codable { case explicit = "Explicit" case questionable = "Questionable" case safe = "Safe" + // MARK: - Initialization init(_ string: String) { - switch string { - case "e": - self = .explicit - - case "s": - self = .safe - - default: - self = .questionable - } + self = Self.shortCodeMap[string] ?? .questionable } + + // MARK: - Private + private static let shortCodeMap: [String: Self] = [ + "e": .explicit, + "s": .safe, + ] } -- cgit v1.2.3