From 16146b9e0b064477422a11bdd475caf17528cb2d Mon Sep 17 00:00:00 2001 From: Stephen Celis Date: Wed, 10 Apr 2024 11:01:16 -0700 Subject: [PATCH] Add static URL --- Sources/UserSettingsClient/UserSettings.swift | 6 ++++++ Sources/UserSettingsClient/UserSettingsClient.swift | 11 ++--------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Sources/UserSettingsClient/UserSettings.swift b/Sources/UserSettingsClient/UserSettings.swift index 2323b7a0..a8f8401e 100644 --- a/Sources/UserSettingsClient/UserSettings.swift +++ b/Sources/UserSettingsClient/UserSettings.swift @@ -72,3 +72,9 @@ public struct UserSettings: Codable, Equatable { (try? container.decode(Bool.self, forKey: .sendDailyChallengeSummary)) ?? true } } + +extension URL { + public static let userSettings = Self.documentsDirectory + .appendingPathComponent("user-settings") + .appendingPathExtension("json") +} diff --git a/Sources/UserSettingsClient/UserSettingsClient.swift b/Sources/UserSettingsClient/UserSettingsClient.swift index 8dfd7384..096b249a 100644 --- a/Sources/UserSettingsClient/UserSettingsClient.swift +++ b/Sources/UserSettingsClient/UserSettingsClient.swift @@ -29,12 +29,7 @@ public struct UserSettingsClient { extension UserSettingsClient: DependencyKey { public static var liveValue: UserSettingsClient { - let userSettingsFileURL = FileManager.default - .urls(for: .documentDirectory, in: .userDomainMask) - .first! - .appendingPathComponent(userSettingsFileName) - .appendingPathExtension("json") - let initialUserSettingsData = (try? Data(contentsOf: userSettingsFileURL)) ?? Data() + let initialUserSettingsData = (try? Data(contentsOf: .userSettings)) ?? Data() let initialUserSettings = (try? JSONDecoder().decode(UserSettings.self, from: initialUserSettingsData)) ?? UserSettings() @@ -49,7 +44,7 @@ extension UserSettingsClient: DependencyKey { userSettings.withValue { $0 = updatedUserSettings subject.send(updatedUserSettings) - try? JSONEncoder().encode(updatedUserSettings).write(to: userSettingsFileURL) + try? JSONEncoder().encode(updatedUserSettings).write(to: .userSettings) } }, stream: { @@ -84,5 +79,3 @@ extension DependencyValues { set { self[UserSettingsClient.self] = newValue } } } - -public let userSettingsFileName = "user-settings"