/// A container for typed application-defined app storage values public struct AppStorageValues { private let provider: AppStorageProvider? /// Only to be used by AppStorage internal init(provider: AppStorageProvider?) { self.provider = provider } public func getValue(_ key: any AppStorageKey.Type) -> T { guard let provider else { return key.defaultValue } return provider.getValue(key: key.name, defaultValue: key.defaultValue) } public func setValue(_ key: any AppStorageKey.Type, newValue: T) { provider?.setValue(key: key.name, newValue: newValue) } }