mirror of
https://github.com/xtool-org/xtool.git
synced 2026-11-15 12:04:55 +03:00
Dependency API surface cleanup
This commit is contained in:
@@ -46,9 +46,9 @@ private struct UnimplementedRawADIProvider: RawADIProvider {
|
||||
}
|
||||
}
|
||||
|
||||
public enum RawADIProviderDependencyKey: DependencyKey {
|
||||
public static let testValue: RawADIProvider = UnimplementedRawADIProvider()
|
||||
public static let liveValue: RawADIProvider = {
|
||||
private enum RawADIProviderDependencyKey: DependencyKey {
|
||||
static let testValue: RawADIProvider = UnimplementedRawADIProvider()
|
||||
static let liveValue: RawADIProvider = {
|
||||
#if os(Linux)
|
||||
return SupersetteADIProvider()
|
||||
#else
|
||||
|
||||
@@ -35,9 +35,9 @@ extension DependencyValues {
|
||||
}
|
||||
}
|
||||
|
||||
public struct AnisetteDataProviderDependencyKey: DependencyKey {
|
||||
public static let testValue: AnisetteDataProvider = UnimplementedAnisetteDataProvider()
|
||||
public static let liveValue: AnisetteDataProvider = ADIDataProvider()
|
||||
private struct AnisetteDataProviderDependencyKey: DependencyKey {
|
||||
static let testValue: AnisetteDataProvider = UnimplementedAnisetteDataProvider()
|
||||
static let liveValue: AnisetteDataProvider = ADIDataProvider()
|
||||
}
|
||||
|
||||
private struct UnimplementedAnisetteDataProvider: AnisetteDataProvider {
|
||||
|
||||
@@ -113,6 +113,8 @@ public struct DeviceInfoProvider: DependencyKey, Sendable {
|
||||
}
|
||||
|
||||
private static let current = Result { try DeviceInfo.fetch() }
|
||||
|
||||
public static let testValue = DeviceInfoProvider(fetch: unimplemented())
|
||||
public static let liveValue = DeviceInfoProvider { try current.get() }
|
||||
}
|
||||
|
||||
|
||||
@@ -22,8 +22,9 @@ public protocol KeyValueStorage: Sendable {
|
||||
func setString(_ string: String?, forKey key: String) throws
|
||||
}
|
||||
|
||||
public enum KeyValueStorageDependencyKey: DependencyKey {
|
||||
public static let liveValue: KeyValueStorage = DirectoryStorage()
|
||||
private enum KeyValueStorageDependencyKey: DependencyKey {
|
||||
static let testValue: KeyValueStorage = UnimplementedKeyValueStorage()
|
||||
static let liveValue: KeyValueStorage = DirectoryStorage()
|
||||
}
|
||||
|
||||
extension DependencyValues {
|
||||
@@ -56,7 +57,17 @@ extension KeyValueStorage {
|
||||
}
|
||||
}
|
||||
|
||||
public final class MemoryKeyValueStorage: KeyValueStorage {
|
||||
public struct UnimplementedKeyValueStorage: KeyValueStorage {
|
||||
public func data(forKey key: String) throws -> Data? {
|
||||
unimplemented(placeholder: nil)
|
||||
}
|
||||
|
||||
public func setData(_ data: Data?, forKey key: String) throws {
|
||||
unimplemented()
|
||||
}
|
||||
}
|
||||
|
||||
public struct MemoryKeyValueStorage: KeyValueStorage {
|
||||
|
||||
private let dict = LockIsolated<[String: Data]>([:])
|
||||
public init() {}
|
||||
|
||||
Reference in New Issue
Block a user