import SwiftSignalKit import Postbox public extension TelegramEngine.EngineData.Item { enum ItemCache { public struct Item: TelegramEngineDataItem, PostboxViewDataItem { public typealias Result = CodableEntry? private let collectionId: Int8 private let id: ValueBoxKey public init(collectionId: Int8, id: ValueBoxKey) { self.collectionId = collectionId self.id = id } var key: PostboxViewKey { return .cachedItem(ItemCacheEntryId(collectionId: collectionId, key: self.id)) } func extract(view: PostboxView) -> Result { guard let view = view as? CachedItemView else { preconditionFailure() } return view.value } } } }