diff options
| author | Fuwn <[email protected]> | 2025-03-01 20:42:39 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-03-01 20:42:39 -0800 |
| commit | 877fcedca3ff8719d8520a3fddecc8382f961aa8 (patch) | |
| tree | 12e92b6b349c85f74f61ffb8b0c432d699492648 | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-877fcedca3ff8719d8520a3fddecc8382f961aa8.tar.xz sora-testing-877fcedca3ff8719d8520a3fddecc8382f961aa8.zip | |
feat: Development commit
| -rw-r--r-- | Sora/Data/Booru/BooruProviderFlavor.swift | 24 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruRating.swift | 20 |
2 files changed, 22 insertions, 22 deletions
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, + ] } |