mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Refactoring
This commit is contained in:
@@ -3,6 +3,13 @@ import Postbox
|
||||
public final class EngineMessage {
|
||||
public typealias Id = MessageId
|
||||
public typealias Index = MessageIndex
|
||||
public typealias Tags = MessageTags
|
||||
public typealias Attribute = MessageAttribute
|
||||
public typealias GroupInfo = MessageGroupInfo
|
||||
public typealias Flags = MessageFlags
|
||||
public typealias GlobalTags = GlobalMessageTags
|
||||
public typealias LocalTags = LocalMessageTags
|
||||
public typealias ForwardInfo = MessageForwardInfo
|
||||
|
||||
private let impl: Message
|
||||
|
||||
@@ -23,7 +30,7 @@ public final class EngineMessage {
|
||||
public var groupingKey: Int64? {
|
||||
return self.impl.groupingKey
|
||||
}
|
||||
public var groupInfo: MessageGroupInfo? {
|
||||
public var groupInfo: GroupInfo? {
|
||||
return self.impl.groupInfo
|
||||
}
|
||||
public var threadId: Int64? {
|
||||
@@ -32,19 +39,19 @@ public final class EngineMessage {
|
||||
public var timestamp: Int32 {
|
||||
return self.impl.timestamp
|
||||
}
|
||||
public var flags: MessageFlags {
|
||||
public var flags: Flags {
|
||||
return self.impl.flags
|
||||
}
|
||||
public var tags: MessageTags {
|
||||
public var tags: Tags {
|
||||
return self.impl.tags
|
||||
}
|
||||
public var globalTags: GlobalMessageTags {
|
||||
public var globalTags: GlobalTags {
|
||||
return self.impl.globalTags
|
||||
}
|
||||
public var localTags: LocalMessageTags {
|
||||
public var localTags: LocalTags {
|
||||
return self.impl.localTags
|
||||
}
|
||||
public var forwardInfo: MessageForwardInfo? {
|
||||
public var forwardInfo: ForwardInfo? {
|
||||
return self.impl.forwardInfo
|
||||
}
|
||||
public var author: EnginePeer? {
|
||||
@@ -53,19 +60,19 @@ public final class EngineMessage {
|
||||
public var text: String {
|
||||
return self.impl.text
|
||||
}
|
||||
public var attributes: [MessageAttribute] {
|
||||
public var attributes: [Attribute] {
|
||||
return self.impl.attributes
|
||||
}
|
||||
public var media: [Media] {
|
||||
return self.impl.media
|
||||
}
|
||||
public var peers: SimpleDictionary<PeerId, Peer> {
|
||||
public var peers: SimpleDictionary<EnginePeer.Id, Peer> {
|
||||
return self.impl.peers
|
||||
}
|
||||
public var associatedMessages: SimpleDictionary<MessageId, Message> {
|
||||
public var associatedMessages: SimpleDictionary<EngineMessage.Id, Message> {
|
||||
return self.impl.associatedMessages
|
||||
}
|
||||
public var associatedMessageIds: [MessageId] {
|
||||
public var associatedMessageIds: [EngineMessage.Id] {
|
||||
return self.impl.associatedMessageIds
|
||||
}
|
||||
|
||||
@@ -73,6 +80,62 @@ public final class EngineMessage {
|
||||
return self.impl.index
|
||||
}
|
||||
|
||||
public init(
|
||||
stableId: UInt32,
|
||||
stableVersion: UInt32,
|
||||
id: EngineMessage.Id,
|
||||
globallyUniqueId: Int64?,
|
||||
groupingKey: Int64?,
|
||||
groupInfo: EngineMessage.GroupInfo?,
|
||||
threadId: Int64?,
|
||||
timestamp: Int32,
|
||||
flags: EngineMessage.Flags,
|
||||
tags: EngineMessage.Tags,
|
||||
globalTags: EngineMessage.GlobalTags,
|
||||
localTags: EngineMessage.LocalTags,
|
||||
forwardInfo: EngineMessage.ForwardInfo?,
|
||||
author: EnginePeer?,
|
||||
text: String,
|
||||
attributes: [Attribute],
|
||||
media: [EngineMedia],
|
||||
peers: [EnginePeer.Id: EnginePeer],
|
||||
associatedMessages: [EngineMessage.Id: EngineMessage],
|
||||
associatedMessageIds: [EngineMessage.Id]
|
||||
) {
|
||||
var mappedPeers: [PeerId: Peer] = [:]
|
||||
for (id, peer) in peers {
|
||||
mappedPeers[id] = peer._asPeer()
|
||||
}
|
||||
|
||||
var mappedAssociatedMessages: [MessageId: Message] = [:]
|
||||
for (id, message) in associatedMessages {
|
||||
mappedAssociatedMessages[id] = message._asMessage()
|
||||
}
|
||||
|
||||
self.impl = Message(
|
||||
stableId: stableId,
|
||||
stableVersion: stableVersion,
|
||||
id: id,
|
||||
globallyUniqueId: globallyUniqueId,
|
||||
groupingKey: groupingKey,
|
||||
groupInfo: groupInfo,
|
||||
threadId: threadId,
|
||||
timestamp: timestamp,
|
||||
flags: flags,
|
||||
tags: tags,
|
||||
globalTags: globalTags,
|
||||
localTags: localTags,
|
||||
forwardInfo: forwardInfo,
|
||||
author: author?._asPeer(),
|
||||
text: text,
|
||||
attributes: attributes,
|
||||
media: media.map { $0._asMedia() },
|
||||
peers: SimpleDictionary(mappedPeers),
|
||||
associatedMessages: SimpleDictionary(mappedAssociatedMessages),
|
||||
associatedMessageIds: associatedMessageIds
|
||||
)
|
||||
}
|
||||
|
||||
public init(_ impl: Message) {
|
||||
self.impl = impl
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user