Refactoring

This commit is contained in:
Ali
2021-09-23 18:59:10 +03:00
parent dd19880091
commit 3eead87254
79 changed files with 2106 additions and 1005 deletions

View File

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