mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
39 lines
1.7 KiB
Swift
39 lines
1.7 KiB
Swift
import Postbox
|
|
|
|
public final class EmojiKeywordItem: ItemCollectionItem, Equatable {
|
|
public let index: ItemCollectionItemIndex
|
|
public let collectionId: ItemCollectionId.Id
|
|
public let keyword: String
|
|
public let emoticons: [String]
|
|
public let indexKeys: [MemoryBuffer]
|
|
|
|
public init(index: ItemCollectionItemIndex, collectionId: ItemCollectionId.Id, keyword: String, emoticons: [String], indexKeys: [MemoryBuffer]) {
|
|
self.index = index
|
|
self.collectionId = collectionId
|
|
self.keyword = keyword
|
|
self.emoticons = emoticons
|
|
self.indexKeys = indexKeys
|
|
}
|
|
|
|
public init(decoder: PostboxDecoder) {
|
|
self.index = ItemCollectionItemIndex(index: decoder.decodeInt32ForKey("i.n", orElse: 0), id: decoder.decodeInt64ForKey("i.i", orElse: 0))
|
|
self.collectionId = decoder.decodeInt64ForKey("c", orElse: 0)
|
|
self.keyword = decoder.decodeStringForKey("k", orElse: "")
|
|
self.emoticons = decoder.decodeStringArrayForKey("e")
|
|
self.indexKeys = decoder.decodeBytesArrayForKey("s")
|
|
}
|
|
|
|
public func encode(_ encoder: PostboxEncoder) {
|
|
encoder.encodeInt32(self.index.index, forKey: "i.n")
|
|
encoder.encodeInt64(self.index.id, forKey: "i.i")
|
|
encoder.encodeInt64(self.collectionId, forKey: "c")
|
|
encoder.encodeString(self.keyword, forKey: "k")
|
|
encoder.encodeStringArray(self.emoticons, forKey: "e")
|
|
encoder.encodeBytesArray(self.indexKeys, forKey: "s")
|
|
}
|
|
|
|
public static func ==(lhs: EmojiKeywordItem, rhs: EmojiKeywordItem) -> Bool {
|
|
return lhs.index == rhs.index && lhs.collectionId == rhs.collectionId && lhs.keyword == rhs.keyword && lhs.emoticons == rhs.emoticons && lhs.indexKeys == rhs.indexKeys
|
|
}
|
|
}
|