Swiftgram/submodules/TelegramUI/Sources/ChatEditInterfaceMessageState.swift
2020-02-20 18:08:36 +04:00

35 lines
1.0 KiB
Swift

import Foundation
import UIKit
import Postbox
import TelegramCore
import SyncCore
enum ChatEditInterfaceMessageStateContent: Equatable {
case plaintext
case media(mediaOptions: MessageMediaEditingOptions)
}
final class ChatEditInterfaceMessageState: Equatable {
let content: ChatEditInterfaceMessageStateContent
let mediaReference: AnyMediaReference?
init(content: ChatEditInterfaceMessageStateContent, mediaReference: AnyMediaReference?) {
self.content = content
self.mediaReference = mediaReference
}
static func ==(lhs: ChatEditInterfaceMessageState, rhs: ChatEditInterfaceMessageState) -> Bool {
if lhs.content != rhs.content {
return false
}
if let lhsMedia = lhs.mediaReference, let rhsMedia = rhs.mediaReference {
if !lhsMedia.media.isEqual(to: rhsMedia.media) {
return false
}
} else if (lhs.mediaReference != nil) != (rhs.mediaReference != nil) {
return false
}
return true
}
}