summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-03-01 20:42:39 -0800
committerFuwn <[email protected]>2025-03-01 20:42:39 -0800
commit877fcedca3ff8719d8520a3fddecc8382f961aa8 (patch)
tree12e92b6b349c85f74f61ffb8b0c432d699492648
parentfeat: Development commit (diff)
downloadsora-testing-877fcedca3ff8719d8520a3fddecc8382f961aa8.tar.xz
sora-testing-877fcedca3ff8719d8520a3fddecc8382f961aa8.zip
feat: Development commit
-rw-r--r--Sora/Data/Booru/BooruProviderFlavor.swift24
-rw-r--r--Sora/Data/Booru/BooruRating.swift20
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,
+ ]
}