pre language

This commit is contained in:
Mike Renoir 2023-10-27 08:31:34 +04:00
parent 44e737d837
commit 210635d8a3
3 changed files with 21 additions and 15 deletions

View File

@ -533,8 +533,8 @@ func messageTextEntitiesFromApiEntities(_ entities: [Api.MessageEntity]) -> [Mes
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre))
case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case let .messageEntityMentionName(offset, length, userId):

View File

@ -732,8 +732,8 @@ private func parseEntities(_ entities: [SecretApi46.MessageEntity]?) -> TextEnti
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre))
case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case .messageEntityUnknown:
@ -945,8 +945,8 @@ private func parseEntities(_ entities: [SecretApi73.MessageEntity]) -> TextEntit
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre))
case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case .messageEntityUnknown:
@ -1177,8 +1177,8 @@ private func parseEntities(_ entities: [SecretApi101.MessageEntity]) -> TextEnti
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre))
case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case let .messageEntityStrike(offset, length):
@ -1214,8 +1214,8 @@ private func parseEntities(_ entities: [SecretApi144.MessageEntity]) -> TextEnti
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre))
case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case let .messageEntityStrike(offset, length):

View File

@ -13,7 +13,7 @@ public enum MessageTextEntityType: Equatable {
case Bold
case Italic
case Code
case Pre
case Pre(language: String?)
case TextUrl(url: String)
case TextMention(peerId: PeerId)
case PhoneNumber
@ -56,7 +56,7 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
case 8:
self.type = .Code
case 9:
self.type = .Pre
self.type = .Pre(language: decoder.decodeOptionalStringForKey("language"))
case 10:
self.type = .TextUrl(url: decoder.decodeStringForKey("url", orElse: ""))
case 11:
@ -112,7 +112,7 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
case 8:
self.type = .Code
case 9:
self.type = .Pre
self.type = .Pre(language: try? container.decodeIfPresent(String.self, forKey: "language"))
case 10:
let url = (try? container.decode(String.self, forKey: "url")) ?? ""
self.type = .TextUrl(url: url)
@ -163,8 +163,13 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
encoder.encodeInt32(7, forKey: "_rawValue")
case .Code:
encoder.encodeInt32(8, forKey: "_rawValue")
case .Pre:
case let .Pre(language):
encoder.encodeInt32(9, forKey: "_rawValue")
if let language = language {
encoder.encodeString(language, forKey: "language")
} else {
encoder.encodeNil(forKey: "language")
}
case let .TextUrl(url):
encoder.encodeInt32(10, forKey: "_rawValue")
encoder.encodeString(url, forKey: "url")
@ -221,8 +226,9 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
try container.encode(7 as Int32, forKey: "_rawValue")
case .Code:
try container.encode(8 as Int32, forKey: "_rawValue")
case .Pre:
case let .Pre(language):
try container.encode(9 as Int32, forKey: "_rawValue")
try container.encodeIfPresent(language, forKey: "language")
case let .TextUrl(url):
try container.encode(10 as Int32, forKey: "_rawValue")
try container.encode(url, forKey: "url")