From d0337f7c0956ad5f50945bc1f86791c660e66100 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 1 Mar 2025 20:39:26 -0800 Subject: feat: Development commit --- Sora/Data/Booru/BooruManager.swift | 2 +- Sora/Data/Booru/BooruProvider.swift | 35 ++++++++++++++--------------------- 2 files changed, 15 insertions(+), 22 deletions(-) (limited to 'Sora/Data/Booru') 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", + ] } -- cgit v1.2.3