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 } }