Rename UserDefaults wrapper
This commit is contained in:
parent
038d17674b
commit
c39f2d94d3
|
@ -24,11 +24,11 @@ extension Secrets {
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
extension Preferences {
|
extension Defaults {
|
||||||
static func fresh() -> Preferences { Preferences(userDefaults: FakeUserDefaults()) }
|
static func fresh() -> Defaults { Defaults(userDefaults: FakeUserDefaults()) }
|
||||||
|
|
||||||
static let development: Preferences = {
|
static let development: Defaults = {
|
||||||
let preferences = Preferences.fresh()
|
let preferences = Defaults.fresh()
|
||||||
|
|
||||||
preferences[.recentIdentityID] = devIdentityID
|
preferences[.recentIdentityID] = devIdentityID
|
||||||
|
|
||||||
|
@ -99,13 +99,13 @@ extension AppEnvironment {
|
||||||
static func fresh(
|
static func fresh(
|
||||||
URLSessionConfiguration: URLSessionConfiguration = .stubbing,
|
URLSessionConfiguration: URLSessionConfiguration = .stubbing,
|
||||||
identityDatabase: IdentityDatabase = .fresh(),
|
identityDatabase: IdentityDatabase = .fresh(),
|
||||||
preferences: Preferences = .fresh(),
|
defaults: Defaults = .fresh(),
|
||||||
secrets: Secrets = .fresh(),
|
secrets: Secrets = .fresh(),
|
||||||
webAuthSessionType: WebAuthSession.Type = SuccessfulStubbingWebAuthSession.self) -> AppEnvironment {
|
webAuthSessionType: WebAuthSession.Type = SuccessfulStubbingWebAuthSession.self) -> AppEnvironment {
|
||||||
AppEnvironment(
|
AppEnvironment(
|
||||||
URLSessionConfiguration: URLSessionConfiguration,
|
URLSessionConfiguration: URLSessionConfiguration,
|
||||||
identityDatabase: identityDatabase,
|
identityDatabase: identityDatabase,
|
||||||
preferences: preferences,
|
defaults: defaults,
|
||||||
secrets: secrets,
|
secrets: secrets,
|
||||||
webAuthSessionType: webAuthSessionType)
|
webAuthSessionType: webAuthSessionType)
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ extension AppEnvironment {
|
||||||
static let development = AppEnvironment(
|
static let development = AppEnvironment(
|
||||||
URLSessionConfiguration: .stubbing,
|
URLSessionConfiguration: .stubbing,
|
||||||
identityDatabase: .development,
|
identityDatabase: .development,
|
||||||
preferences: .development,
|
defaults: .development,
|
||||||
secrets: .development,
|
secrets: .development,
|
||||||
webAuthSessionType: SuccessfulStubbingWebAuthSession.self)
|
webAuthSessionType: SuccessfulStubbingWebAuthSession.self)
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
D052BBC724D749C800A80A7A /* RootViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBC624D749C800A80A7A /* RootViewModelTests.swift */; };
|
D052BBC724D749C800A80A7A /* RootViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBC624D749C800A80A7A /* RootViewModelTests.swift */; };
|
||||||
D052BBCA24D74C9200A80A7A /* FakeUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBC824D74B6400A80A7A /* FakeUserDefaults.swift */; };
|
D052BBCA24D74C9200A80A7A /* FakeUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBC824D74B6400A80A7A /* FakeUserDefaults.swift */; };
|
||||||
D052BBCB24D74C9300A80A7A /* FakeUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBC824D74B6400A80A7A /* FakeUserDefaults.swift */; };
|
D052BBCB24D74C9300A80A7A /* FakeUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBC824D74B6400A80A7A /* FakeUserDefaults.swift */; };
|
||||||
D052BBCF24D750C000A80A7A /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBCE24D750C000A80A7A /* Preferences.swift */; };
|
D052BBCF24D750C000A80A7A /* Defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBCE24D750C000A80A7A /* Defaults.swift */; };
|
||||||
D052BBD024D750C000A80A7A /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBCE24D750C000A80A7A /* Preferences.swift */; };
|
D052BBD024D750C000A80A7A /* Defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBCE24D750C000A80A7A /* Defaults.swift */; };
|
||||||
D052BBD124D750CA00A80A7A /* AppEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBCC24D750A100A80A7A /* AppEnvironment.swift */; };
|
D052BBD124D750CA00A80A7A /* AppEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBCC24D750A100A80A7A /* AppEnvironment.swift */; };
|
||||||
D052BBD224D750CB00A80A7A /* AppEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBCC24D750A100A80A7A /* AppEnvironment.swift */; };
|
D052BBD224D750CB00A80A7A /* AppEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBCC24D750A100A80A7A /* AppEnvironment.swift */; };
|
||||||
D052BBE024D805E300A80A7A /* MainNavigationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBDF24D805E300A80A7A /* MainNavigationViewModel.swift */; };
|
D052BBE024D805E300A80A7A /* MainNavigationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D052BBDF24D805E300A80A7A /* MainNavigationViewModel.swift */; };
|
||||||
|
@ -166,7 +166,7 @@
|
||||||
D052BBC624D749C800A80A7A /* RootViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootViewModelTests.swift; sourceTree = "<group>"; };
|
D052BBC624D749C800A80A7A /* RootViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootViewModelTests.swift; sourceTree = "<group>"; };
|
||||||
D052BBC824D74B6400A80A7A /* FakeUserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakeUserDefaults.swift; sourceTree = "<group>"; };
|
D052BBC824D74B6400A80A7A /* FakeUserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FakeUserDefaults.swift; sourceTree = "<group>"; };
|
||||||
D052BBCC24D750A100A80A7A /* AppEnvironment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppEnvironment.swift; sourceTree = "<group>"; };
|
D052BBCC24D750A100A80A7A /* AppEnvironment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppEnvironment.swift; sourceTree = "<group>"; };
|
||||||
D052BBCE24D750C000A80A7A /* Preferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = "<group>"; };
|
D052BBCE24D750C000A80A7A /* Defaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Defaults.swift; sourceTree = "<group>"; };
|
||||||
D052BBDF24D805E300A80A7A /* MainNavigationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainNavigationViewModel.swift; sourceTree = "<group>"; };
|
D052BBDF24D805E300A80A7A /* MainNavigationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainNavigationViewModel.swift; sourceTree = "<group>"; };
|
||||||
D065F53A24D3B33A00741304 /* View+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Extensions.swift"; sourceTree = "<group>"; };
|
D065F53A24D3B33A00741304 /* View+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Extensions.swift"; sourceTree = "<group>"; };
|
||||||
D065F53D24D3D20300741304 /* InstanceEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstanceEndpoint.swift; sourceTree = "<group>"; };
|
D065F53D24D3D20300741304 /* InstanceEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstanceEndpoint.swift; sourceTree = "<group>"; };
|
||||||
|
@ -338,7 +338,7 @@
|
||||||
D0666A4D24C6C39600F3F04B /* Instance.swift */,
|
D0666A4D24C6C39600F3F04B /* Instance.swift */,
|
||||||
D0DC177324D0B58800A75C65 /* Keychain.swift */,
|
D0DC177324D0B58800A75C65 /* Keychain.swift */,
|
||||||
D0ED1BE224CFA84400B4899C /* MastodonError.swift */,
|
D0ED1BE224CFA84400B4899C /* MastodonError.swift */,
|
||||||
D052BBCE24D750C000A80A7A /* Preferences.swift */,
|
D052BBCE24D750C000A80A7A /* Defaults.swift */,
|
||||||
D0666A7124C6E0D300F3F04B /* Secrets.swift */,
|
D0666A7124C6E0D300F3F04B /* Secrets.swift */,
|
||||||
);
|
);
|
||||||
path = Model;
|
path = Model;
|
||||||
|
@ -657,7 +657,7 @@
|
||||||
D0BEC94724CA22C400E864C4 /* TimelineViewModel.swift in Sources */,
|
D0BEC94724CA22C400E864C4 /* TimelineViewModel.swift in Sources */,
|
||||||
D0666A4E24C6C39600F3F04B /* Instance.swift in Sources */,
|
D0666A4E24C6C39600F3F04B /* Instance.swift in Sources */,
|
||||||
D0ED1BDA24CF963E00B4899C /* AppAuthorizationEndpoint.swift in Sources */,
|
D0ED1BDA24CF963E00B4899C /* AppAuthorizationEndpoint.swift in Sources */,
|
||||||
D052BBCF24D750C000A80A7A /* Preferences.swift in Sources */,
|
D052BBCF24D750C000A80A7A /* Defaults.swift in Sources */,
|
||||||
D0ED1BE324CFA84400B4899C /* MastodonError.swift in Sources */,
|
D0ED1BE324CFA84400B4899C /* MastodonError.swift in Sources */,
|
||||||
D0666A6324C6DC6C00F3F04B /* AppAuthorization.swift in Sources */,
|
D0666A6324C6DC6C00F3F04B /* AppAuthorization.swift in Sources */,
|
||||||
D065F53B24D3B33A00741304 /* View+Extensions.swift in Sources */,
|
D065F53B24D3B33A00741304 /* View+Extensions.swift in Sources */,
|
||||||
|
@ -723,7 +723,7 @@
|
||||||
D0BEC94824CA22C400E864C4 /* TimelineViewModel.swift in Sources */,
|
D0BEC94824CA22C400E864C4 /* TimelineViewModel.swift in Sources */,
|
||||||
D0666A4F24C6C39600F3F04B /* Instance.swift in Sources */,
|
D0666A4F24C6C39600F3F04B /* Instance.swift in Sources */,
|
||||||
D0ED1BDB24CF963E00B4899C /* AppAuthorizationEndpoint.swift in Sources */,
|
D0ED1BDB24CF963E00B4899C /* AppAuthorizationEndpoint.swift in Sources */,
|
||||||
D052BBD024D750C000A80A7A /* Preferences.swift in Sources */,
|
D052BBD024D750C000A80A7A /* Defaults.swift in Sources */,
|
||||||
D0ED1BE424CFA84400B4899C /* MastodonError.swift in Sources */,
|
D0ED1BE424CFA84400B4899C /* MastodonError.swift in Sources */,
|
||||||
D0666A6424C6DC6C00F3F04B /* AppAuthorization.swift in Sources */,
|
D0666A6424C6DC6C00F3F04B /* AppAuthorization.swift in Sources */,
|
||||||
D065F53C24D3B33A00741304 /* View+Extensions.swift in Sources */,
|
D065F53C24D3B33A00741304 /* View+Extensions.swift in Sources */,
|
||||||
|
|
|
@ -18,7 +18,7 @@ struct MetatextApp: App {
|
||||||
environment = AppEnvironment(
|
environment = AppEnvironment(
|
||||||
URLSessionConfiguration: .default,
|
URLSessionConfiguration: .default,
|
||||||
identityDatabase: identityDatabase,
|
identityDatabase: identityDatabase,
|
||||||
preferences: Preferences(userDefaults: .standard),
|
defaults: Defaults(userDefaults: .standard),
|
||||||
secrets: Secrets(keychain: Keychain(service: "com.metabolist.metatext")),
|
secrets: Secrets(keychain: Keychain(service: "com.metabolist.metatext")),
|
||||||
webAuthSessionType: RealWebAuthSession.self)
|
webAuthSessionType: RealWebAuthSession.self)
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ import Foundation
|
||||||
struct AppEnvironment {
|
struct AppEnvironment {
|
||||||
let URLSessionConfiguration: URLSessionConfiguration
|
let URLSessionConfiguration: URLSessionConfiguration
|
||||||
let identityDatabase: IdentityDatabase
|
let identityDatabase: IdentityDatabase
|
||||||
let preferences: Preferences
|
let defaults: Defaults
|
||||||
let secrets: Secrets
|
let secrets: Secrets
|
||||||
let webAuthSessionType: WebAuthSession.Type
|
let webAuthSessionType: WebAuthSession.Type
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
class Preferences {
|
class Defaults {
|
||||||
private let userDefaults: UserDefaults
|
private let userDefaults: UserDefaults
|
||||||
|
|
||||||
init(userDefaults: UserDefaults) {
|
init(userDefaults: UserDefaults) {
|
||||||
|
@ -10,14 +10,14 @@ class Preferences {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension Preferences {
|
extension Defaults {
|
||||||
enum Item: String {
|
enum Item: String {
|
||||||
case recentIdentityID = "recent-identity-id"
|
case recentIdentityID = "recent-identity-id"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension Preferences {
|
extension Defaults {
|
||||||
subscript<T>(index: Preferences.Item) -> T? {
|
subscript<T>(index: Defaults.Item) -> T? {
|
||||||
get { userDefaults.value(forKey: index.rawValue) as? T }
|
get { userDefaults.value(forKey: index.rawValue) as? T }
|
||||||
set { userDefaults.set(newValue, forKey: index.rawValue) }
|
set { userDefaults.set(newValue, forKey: index.rawValue) }
|
||||||
}
|
}
|
Loading…
Reference in New Issue