import Foundation import SwiftSignalKit import Postbox public extension TelegramEngine { final class Preferences { private let account: Account init(account: Account) { self.account = account } public func update(id: ValueBoxKey, _ f: @escaping (PreferencesEntry?) -> PreferencesEntry?) -> Signal { return self.account.postbox.transaction { transaction -> Void in transaction.updatePreferencesEntry(key: id, { entry in return f(entry) }) } |> ignoreValues } } }