Swiftgram/submodules/SyncCore/Sources/CachedStickerQueryResult.swift
2021-01-19 10:52:48 +03:00

31 lines
995 B
Swift

import Postbox
public final class CachedStickerQueryResult: PostboxCoding {
public let items: [TelegramMediaFile]
public let hash: Int32
public let timestamp: Int32
public init(items: [TelegramMediaFile], hash: Int32, timestamp: Int32) {
self.items = items
self.hash = hash
self.timestamp = timestamp
}
public init(decoder: PostboxDecoder) {
self.items = decoder.decodeObjectArrayForKey("it").map { $0 as! TelegramMediaFile }
self.hash = decoder.decodeInt32ForKey("h", orElse: 0)
self.timestamp = decoder.decodeInt32ForKey("t", orElse: 0)
}
public func encode(_ encoder: PostboxEncoder) {
encoder.encodeObjectArray(self.items, forKey: "it")
encoder.encodeInt32(self.hash, forKey: "h")
encoder.encodeInt32(self.timestamp, forKey: "t")
}
public static func cacheKey(_ query: String) -> ValueBoxKey {
let key = ValueBoxKey(query)
return key
}
}