diff options
| author | Fuwn <[email protected]> | 2025-03-01 20:39:26 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-03-01 20:39:26 -0800 |
| commit | d0337f7c0956ad5f50945bc1f86791c660e66100 (patch) | |
| tree | fec7e16c94de939838b11fe0d411eaf6170d149b | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-d0337f7c0956ad5f50945bc1f86791c660e66100.tar.xz sora-testing-d0337f7c0956ad5f50945bc1f86791c660e66100.zip | |
feat: Development commit
| -rw-r--r-- | Sora/Data/Booru/BooruManager.swift | 2 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruProvider.swift | 35 |
2 files changed, 15 insertions, 22 deletions
diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index d7adc5b..2206387 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -21,7 +21,7 @@ class BooruManager: ObservableObject { private let tagsCacheFileURL: URL? = FileManager.default.urls( for: .cachesDirectory, in: .userDomainMask ).first? - .appendingPathComponent("\(BooruProvider.safebooru.asFileNameComponent())_tags.json") + .appendingPathComponent("\(BooruProvider.safebooru.asFileNameComponent)_tags.json") // MARK: - Computed Properties var tags: [String] { diff --git a/Sora/Data/Booru/BooruProvider.swift b/Sora/Data/Booru/BooruProvider.swift index aa3acf3..3642da0 100644 --- a/Sora/Data/Booru/BooruProvider.swift +++ b/Sora/Data/Booru/BooruProvider.swift @@ -1,4 +1,4 @@ -enum BooruProvider: String, CaseIterable, Decodable, Encodable { +enum BooruProvider: String, CaseIterable, Codable { case danbooru = "Danbooru" case gelbooru = "Gelbooru" case konachan = "Konachan.com" @@ -6,29 +6,22 @@ enum BooruProvider: String, CaseIterable, Decodable, Encodable { case sakugabooru = "sakugabooru" case yandere = "yande.re" + // MARK: - Properties var domain: String { - switch self { - case .yandere: - return "yande.re" - - case .konachan: - return "konachan.com" - - case .sakugabooru: - return "sakugabooru.com" - - case .safebooru: - return "safebooru.org" - - case .gelbooru: - return "gelbooru.com" - - case .danbooru: - return "danbooru.donmai.us" - } + Self.domains[self] ?? rawValue.lowercased() } - func asFileNameComponent() -> String { + var asFileNameComponent: String { rawValue.lowercased().replacingOccurrences(of: ".", with: "_") } + + // MARK: - Private + private static let domains: [Self: String] = [ + .yandere: "yande.re", + .konachan: "konachan.com", + .sakugabooru: "sakugabooru.com", + .safebooru: "safebooru.org", + .gelbooru: "gelbooru.com", + .danbooru: "danbooru.donmai.us", + ] } |