import Foundation #if os(macOS) import PostboxMac import SwiftSignalKitMac #else import Postbox import SwiftSignalKit #endif import SyncCore public func updateCacheStorageSettingsInteractively(accountManager: AccountManager, _ f: @escaping (CacheStorageSettings) -> CacheStorageSettings) -> Signal { return accountManager.transaction { transaction -> Void in transaction.updateSharedData(SharedDataKeys.cacheStorageSettings, { entry in let currentSettings: CacheStorageSettings if let entry = entry as? CacheStorageSettings { currentSettings = entry } else { currentSettings = CacheStorageSettings.defaultSettings } return f(currentSettings) }) } }