mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-07 01:10:09 +00:00
FlatBuffers implementation debugging
This commit is contained in:
parent
b732a6c578
commit
7e2c6da812
@ -101,6 +101,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
|||||||
case compressedEmojiCache(Bool)
|
case compressedEmojiCache(Bool)
|
||||||
case storiesJpegExperiment(Bool)
|
case storiesJpegExperiment(Bool)
|
||||||
case conferenceDebug(Bool)
|
case conferenceDebug(Bool)
|
||||||
|
case checkSerializedData(Bool)
|
||||||
case enableQuickReactionSwitch(Bool)
|
case enableQuickReactionSwitch(Bool)
|
||||||
case disableReloginTokens(Bool)
|
case disableReloginTokens(Bool)
|
||||||
case liveStreamV2(Bool)
|
case liveStreamV2(Bool)
|
||||||
@ -133,7 +134,7 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
|||||||
return DebugControllerSection.web.rawValue
|
return DebugControllerSection.web.rawValue
|
||||||
case .keepChatNavigationStack, .skipReadHistory, .dustEffect, .crashOnSlowQueries, .crashOnMemoryPressure:
|
case .keepChatNavigationStack, .skipReadHistory, .dustEffect, .crashOnSlowQueries, .crashOnMemoryPressure:
|
||||||
return DebugControllerSection.experiments.rawValue
|
return DebugControllerSection.experiments.rawValue
|
||||||
case .clearTips, .resetNotifications, .crash, .fillLocalSavedMessageCache, .resetDatabase, .resetDatabaseAndCache, .resetHoles, .resetTagHoles, .reindexUnread, .resetCacheIndex, .reindexCache, .resetBiometricsData, .optimizeDatabase, .photoPreview, .knockoutWallpaper, .compressedEmojiCache, .storiesJpegExperiment, .conferenceDebug, .enableQuickReactionSwitch, .experimentalCompatibility, .enableDebugDataDisplay, .rippleEffect, .browserExperiment, .localTranscription, .enableReactionOverrides, .restorePurchases, .disableReloginTokens, .liveStreamV2, .experimentalCallMute, .playerV2, .devRequests, .fakeAds, .enableLocalTranslation:
|
case .clearTips, .resetNotifications, .crash, .fillLocalSavedMessageCache, .resetDatabase, .resetDatabaseAndCache, .resetHoles, .resetTagHoles, .reindexUnread, .resetCacheIndex, .reindexCache, .resetBiometricsData, .optimizeDatabase, .photoPreview, .knockoutWallpaper, .compressedEmojiCache, .storiesJpegExperiment, .conferenceDebug, .checkSerializedData, .enableQuickReactionSwitch, .experimentalCompatibility, .enableDebugDataDisplay, .rippleEffect, .browserExperiment, .localTranscription, .enableReactionOverrides, .restorePurchases, .disableReloginTokens, .liveStreamV2, .experimentalCallMute, .playerV2, .devRequests, .fakeAds, .enableLocalTranslation:
|
||||||
return DebugControllerSection.experiments.rawValue
|
return DebugControllerSection.experiments.rawValue
|
||||||
case .logTranslationRecognition, .resetTranslationStates:
|
case .logTranslationRecognition, .resetTranslationStates:
|
||||||
return DebugControllerSection.translation.rawValue
|
return DebugControllerSection.translation.rawValue
|
||||||
@ -244,12 +245,14 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
|||||||
return 48
|
return 48
|
||||||
case .conferenceDebug:
|
case .conferenceDebug:
|
||||||
return 49
|
return 49
|
||||||
case .enableQuickReactionSwitch:
|
case .checkSerializedData:
|
||||||
return 50
|
return 50
|
||||||
case .liveStreamV2:
|
case .enableQuickReactionSwitch:
|
||||||
return 51
|
return 51
|
||||||
case .experimentalCallMute:
|
case .liveStreamV2:
|
||||||
return 52
|
return 52
|
||||||
|
case .experimentalCallMute:
|
||||||
|
return 53
|
||||||
case .playerV2:
|
case .playerV2:
|
||||||
return 54
|
return 54
|
||||||
case .devRequests:
|
case .devRequests:
|
||||||
@ -1318,6 +1321,16 @@ private enum DebugControllerEntry: ItemListNodeEntry {
|
|||||||
})
|
})
|
||||||
}).start()
|
}).start()
|
||||||
})
|
})
|
||||||
|
case let .checkSerializedData(value):
|
||||||
|
return ItemListSwitchItem(presentationData: presentationData, title: "Check Serialized Data", value: value, sectionId: self.section, style: .blocks, updated: { value in
|
||||||
|
let _ = arguments.sharedContext.accountManager.transaction ({ transaction in
|
||||||
|
transaction.updateSharedData(ApplicationSpecificSharedDataKeys.experimentalUISettings, { settings in
|
||||||
|
var settings = settings?.get(ExperimentalUISettings.self) ?? ExperimentalUISettings.defaultSettings
|
||||||
|
settings.checkSerializedData = value
|
||||||
|
return PreferencesEntry(settings)
|
||||||
|
})
|
||||||
|
}).start()
|
||||||
|
})
|
||||||
case let .enableQuickReactionSwitch(value):
|
case let .enableQuickReactionSwitch(value):
|
||||||
return ItemListSwitchItem(presentationData: presentationData, title: "Enable Quick Reaction", value: value, sectionId: self.section, style: .blocks, updated: { value in
|
return ItemListSwitchItem(presentationData: presentationData, title: "Enable Quick Reaction", value: value, sectionId: self.section, style: .blocks, updated: { value in
|
||||||
let _ = arguments.sharedContext.accountManager.transaction ({ transaction in
|
let _ = arguments.sharedContext.accountManager.transaction ({ transaction in
|
||||||
@ -1540,6 +1553,7 @@ private func debugControllerEntries(sharedContext: SharedAccountContext, present
|
|||||||
entries.append(.disableReloginTokens(experimentalSettings.disableReloginTokens))
|
entries.append(.disableReloginTokens(experimentalSettings.disableReloginTokens))
|
||||||
|
|
||||||
entries.append(.conferenceDebug(experimentalSettings.conferenceDebug))
|
entries.append(.conferenceDebug(experimentalSettings.conferenceDebug))
|
||||||
|
entries.append(.checkSerializedData(experimentalSettings.checkSerializedData))
|
||||||
entries.append(.enableQuickReactionSwitch(!experimentalSettings.disableQuickReaction))
|
entries.append(.enableQuickReactionSwitch(!experimentalSettings.disableQuickReaction))
|
||||||
entries.append(.liveStreamV2(experimentalSettings.liveStreamV2))
|
entries.append(.liveStreamV2(experimentalSettings.liveStreamV2))
|
||||||
entries.append(.experimentalCallMute(experimentalSettings.experimentalCallMute))
|
entries.append(.experimentalCallMute(experimentalSettings.experimentalCallMute))
|
||||||
|
|||||||
@ -337,13 +337,13 @@ public struct PeerEmojiStatus: Equatable, Codable {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .peeremojistatuscontentemoji:
|
case .peeremojistatuscontentemoji:
|
||||||
guard let emoji = flatBuffersObject.value(type: TelegramCore_PeerEmojiStatusContentEmoji.self) else {
|
guard let emoji = flatBuffersObject.value(type: TelegramCore_PeerEmojiStatusContentEmoji.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .emoji(fileId: emoji.fileId)
|
self = .emoji(fileId: emoji.fileId)
|
||||||
|
|
||||||
case .peeremojistatuscontentstargift:
|
case .peeremojistatuscontentstargift:
|
||||||
guard let starGift = flatBuffersObject.value(type: TelegramCore_PeerEmojiStatusContentStarGift.self) else {
|
guard let starGift = flatBuffersObject.value(type: TelegramCore_PeerEmojiStatusContentStarGift.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .starGift(
|
self = .starGift(
|
||||||
id: starGift.id,
|
id: starGift.id,
|
||||||
@ -358,7 +358,7 @@ public struct PeerEmojiStatus: Equatable, Codable {
|
|||||||
)
|
)
|
||||||
|
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -970,7 +970,7 @@ public func TelegramMediaResource_parse(flatBuffersObject: TelegramCore_Telegram
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .telegrammediaresourceCloudfilemediaresource:
|
case .telegrammediaresourceCloudfilemediaresource:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudFileMediaResource.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudFileMediaResource.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
return CloudFileMediaResource(
|
return CloudFileMediaResource(
|
||||||
datacenterId: Int(value.datacenterId),
|
datacenterId: Int(value.datacenterId),
|
||||||
@ -982,7 +982,7 @@ public func TelegramMediaResource_parse(flatBuffersObject: TelegramCore_Telegram
|
|||||||
)
|
)
|
||||||
case .telegrammediaresourceClouddocumentsizemediaresource:
|
case .telegrammediaresourceClouddocumentsizemediaresource:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudDocumentSizeMediaResource.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudDocumentSizeMediaResource.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
return CloudDocumentSizeMediaResource(
|
return CloudDocumentSizeMediaResource(
|
||||||
datacenterId: value.datacenterId,
|
datacenterId: value.datacenterId,
|
||||||
@ -993,7 +993,7 @@ public func TelegramMediaResource_parse(flatBuffersObject: TelegramCore_Telegram
|
|||||||
)
|
)
|
||||||
case .telegrammediaresourceCloudphotosizemediaresource:
|
case .telegrammediaresourceCloudphotosizemediaresource:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudPhotoSizeMediaResource.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudPhotoSizeMediaResource.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
return CloudPhotoSizeMediaResource(
|
return CloudPhotoSizeMediaResource(
|
||||||
datacenterId: value.datacenterId,
|
datacenterId: value.datacenterId,
|
||||||
@ -1005,7 +1005,7 @@ public func TelegramMediaResource_parse(flatBuffersObject: TelegramCore_Telegram
|
|||||||
)
|
)
|
||||||
case .telegrammediaresourceCloudpeerphotosizemediaresource:
|
case .telegrammediaresourceCloudpeerphotosizemediaresource:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudPeerPhotoSizeMediaResource.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudPeerPhotoSizeMediaResource.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
let sizeSpec: CloudPeerPhotoSizeSpec
|
let sizeSpec: CloudPeerPhotoSizeSpec
|
||||||
switch value.sizeSpec {
|
switch value.sizeSpec {
|
||||||
@ -1023,7 +1023,7 @@ public func TelegramMediaResource_parse(flatBuffersObject: TelegramCore_Telegram
|
|||||||
)
|
)
|
||||||
case .telegrammediaresourceCloudstickerpackthumbnailmediaresource:
|
case .telegrammediaresourceCloudstickerpackthumbnailmediaresource:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudStickerPackThumbnailMediaResource.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudStickerPackThumbnailMediaResource.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
return CloudStickerPackThumbnailMediaResource(
|
return CloudStickerPackThumbnailMediaResource(
|
||||||
datacenterId: value.datacenterId,
|
datacenterId: value.datacenterId,
|
||||||
@ -1033,7 +1033,7 @@ public func TelegramMediaResource_parse(flatBuffersObject: TelegramCore_Telegram
|
|||||||
)
|
)
|
||||||
case .telegrammediaresourceClouddocumentmediaresource:
|
case .telegrammediaresourceClouddocumentmediaresource:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudDocumentMediaResource.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_CloudDocumentMediaResource.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
return CloudDocumentMediaResource(
|
return CloudDocumentMediaResource(
|
||||||
datacenterId: Int(value.datacenterId),
|
datacenterId: Int(value.datacenterId),
|
||||||
@ -1045,7 +1045,7 @@ public func TelegramMediaResource_parse(flatBuffersObject: TelegramCore_Telegram
|
|||||||
)
|
)
|
||||||
case .telegrammediaresourceLocalfilemediaresource:
|
case .telegrammediaresourceLocalfilemediaresource:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_LocalFileMediaResource.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaResource_LocalFileMediaResource.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
return LocalFileMediaResource(
|
return LocalFileMediaResource(
|
||||||
fileId: value.fileId,
|
fileId: value.fileId,
|
||||||
@ -1053,7 +1053,7 @@ public func TelegramMediaResource_parse(flatBuffersObject: TelegramCore_Telegram
|
|||||||
isSecretRelated: value.isSecretRelated
|
isSecretRelated: value.isSecretRelated
|
||||||
)
|
)
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -522,139 +522,139 @@ public indirect enum InstantPageBlock: PostboxCoding, Equatable {
|
|||||||
self = .unsupported
|
self = .unsupported
|
||||||
case .instantpageblockTitle:
|
case .instantpageblockTitle:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Title.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Title.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .title(try RichText(flatBuffersObject: value.text))
|
self = .title(try RichText(flatBuffersObject: value.text))
|
||||||
case .instantpageblockSubtitle:
|
case .instantpageblockSubtitle:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Subtitle.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Subtitle.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .subtitle(try RichText(flatBuffersObject: value.text))
|
self = .subtitle(try RichText(flatBuffersObject: value.text))
|
||||||
case .instantpageblockAuthordate:
|
case .instantpageblockAuthordate:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_AuthorDate.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_AuthorDate.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .authorDate(author: try RichText(flatBuffersObject: value.author), date: value.date)
|
self = .authorDate(author: try RichText(flatBuffersObject: value.author), date: value.date)
|
||||||
case .instantpageblockHeader:
|
case .instantpageblockHeader:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Header.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Header.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .header(try RichText(flatBuffersObject: value.text))
|
self = .header(try RichText(flatBuffersObject: value.text))
|
||||||
case .instantpageblockSubheader:
|
case .instantpageblockSubheader:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Subheader.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Subheader.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .subheader(try RichText(flatBuffersObject: value.text))
|
self = .subheader(try RichText(flatBuffersObject: value.text))
|
||||||
case .instantpageblockParagraph:
|
case .instantpageblockParagraph:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Paragraph.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Paragraph.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .paragraph(try RichText(flatBuffersObject: value.text))
|
self = .paragraph(try RichText(flatBuffersObject: value.text))
|
||||||
case .instantpageblockPreformatted:
|
case .instantpageblockPreformatted:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Preformatted.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Preformatted.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .preformatted(try RichText(flatBuffersObject: value.text))
|
self = .preformatted(try RichText(flatBuffersObject: value.text))
|
||||||
case .instantpageblockFooter:
|
case .instantpageblockFooter:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Footer.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Footer.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .footer(try RichText(flatBuffersObject: value.text))
|
self = .footer(try RichText(flatBuffersObject: value.text))
|
||||||
case .instantpageblockDivider:
|
case .instantpageblockDivider:
|
||||||
self = .divider
|
self = .divider
|
||||||
case .instantpageblockAnchor:
|
case .instantpageblockAnchor:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Anchor.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Anchor.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .anchor(value.name)
|
self = .anchor(value.name)
|
||||||
case .instantpageblockList:
|
case .instantpageblockList:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_List.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_List.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .list(items: try (0 ..< value.itemsCount).map { try InstantPageListItem(flatBuffersObject: value.items(at: $0)!) }, ordered: value.ordered)
|
self = .list(items: try (0 ..< value.itemsCount).map { try InstantPageListItem(flatBuffersObject: value.items(at: $0)!) }, ordered: value.ordered)
|
||||||
case .instantpageblockBlockquote:
|
case .instantpageblockBlockquote:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_BlockQuote.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_BlockQuote.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .blockQuote(text: try RichText(flatBuffersObject: value.text), caption: try RichText(flatBuffersObject: value.caption))
|
self = .blockQuote(text: try RichText(flatBuffersObject: value.text), caption: try RichText(flatBuffersObject: value.caption))
|
||||||
case .instantpageblockPullquote:
|
case .instantpageblockPullquote:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_PullQuote.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_PullQuote.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .pullQuote(text: try RichText(flatBuffersObject: value.text), caption: try RichText(flatBuffersObject: value.caption))
|
self = .pullQuote(text: try RichText(flatBuffersObject: value.text), caption: try RichText(flatBuffersObject: value.caption))
|
||||||
case .instantpageblockImage:
|
case .instantpageblockImage:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Image.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Image.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .image(id: MediaId(value.id), caption: try InstantPageCaption(flatBuffersObject: value.caption), url: value.url, webpageId: value.webpageId.flatMap(MediaId.init))
|
self = .image(id: MediaId(value.id), caption: try InstantPageCaption(flatBuffersObject: value.caption), url: value.url, webpageId: value.webpageId.flatMap(MediaId.init))
|
||||||
case .instantpageblockVideo:
|
case .instantpageblockVideo:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Video.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Video.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .video(id: MediaId(value.id), caption: try InstantPageCaption(flatBuffersObject: value.caption), autoplay: value.autoplay, loop: value.loop)
|
self = .video(id: MediaId(value.id), caption: try InstantPageCaption(flatBuffersObject: value.caption), autoplay: value.autoplay, loop: value.loop)
|
||||||
case .instantpageblockAudio:
|
case .instantpageblockAudio:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Audio.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Audio.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .audio(id: MediaId(value.id), caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
self = .audio(id: MediaId(value.id), caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
||||||
case .instantpageblockCover:
|
case .instantpageblockCover:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Cover.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Cover.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .cover(try InstantPageBlock(flatBuffersObject: value.block))
|
self = .cover(try InstantPageBlock(flatBuffersObject: value.block))
|
||||||
case .instantpageblockWebembed:
|
case .instantpageblockWebembed:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_WebEmbed.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_WebEmbed.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .webEmbed(url: value.url, html: value.html, dimensions: value.dimensions.flatMap(PixelDimensions.init), caption: try InstantPageCaption(flatBuffersObject: value.caption), stretchToWidth: value.stretchToWidth, allowScrolling: value.allowScrolling, coverId: value.coverId.flatMap(MediaId.init))
|
self = .webEmbed(url: value.url, html: value.html, dimensions: value.dimensions.flatMap(PixelDimensions.init), caption: try InstantPageCaption(flatBuffersObject: value.caption), stretchToWidth: value.stretchToWidth, allowScrolling: value.allowScrolling, coverId: value.coverId.flatMap(MediaId.init))
|
||||||
case .instantpageblockPostembed:
|
case .instantpageblockPostembed:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_PostEmbed.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_PostEmbed.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .postEmbed(url: value.url, webpageId: value.webpageId.flatMap(MediaId.init), avatarId: value.avatarId.flatMap(MediaId.init), author: value.author, date: value.date, blocks: try (0 ..< value.blocksCount).map { try InstantPageBlock(flatBuffersObject: value.blocks(at: $0)!) }, caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
self = .postEmbed(url: value.url, webpageId: value.webpageId.flatMap(MediaId.init), avatarId: value.avatarId.flatMap(MediaId.init), author: value.author, date: value.date, blocks: try (0 ..< value.blocksCount).map { try InstantPageBlock(flatBuffersObject: value.blocks(at: $0)!) }, caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
||||||
case .instantpageblockCollage:
|
case .instantpageblockCollage:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Collage.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Collage.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .collage(items: try (0 ..< value.itemsCount).map { try InstantPageBlock(flatBuffersObject: value.items(at: $0)!) }, caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
self = .collage(items: try (0 ..< value.itemsCount).map { try InstantPageBlock(flatBuffersObject: value.items(at: $0)!) }, caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
||||||
case .instantpageblockSlideshow:
|
case .instantpageblockSlideshow:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Slideshow.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Slideshow.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .slideshow(items: try (0 ..< value.itemsCount).map { try InstantPageBlock(flatBuffersObject: value.items(at: $0)!) }, caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
self = .slideshow(items: try (0 ..< value.itemsCount).map { try InstantPageBlock(flatBuffersObject: value.items(at: $0)!) }, caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
||||||
case .instantpageblockChannelbanner:
|
case .instantpageblockChannelbanner:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_ChannelBanner.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_ChannelBanner.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
let channel = try value.channel.flatMap { try TelegramChannel(flatBuffersObject: $0) }
|
let channel = try value.channel.flatMap { try TelegramChannel(flatBuffersObject: $0) }
|
||||||
self = .channelBanner(channel)
|
self = .channelBanner(channel)
|
||||||
case .instantpageblockKicker:
|
case .instantpageblockKicker:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Kicker.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Kicker.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .kicker(try RichText(flatBuffersObject: value.text))
|
self = .kicker(try RichText(flatBuffersObject: value.text))
|
||||||
case .instantpageblockTable:
|
case .instantpageblockTable:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Table.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Table.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .table(title: try RichText(flatBuffersObject: value.title), rows: try (0 ..< value.rowsCount).map { try InstantPageTableRow(flatBuffersObject: value.rows(at: $0)!) }, bordered: value.bordered, striped: value.striped)
|
self = .table(title: try RichText(flatBuffersObject: value.title), rows: try (0 ..< value.rowsCount).map { try InstantPageTableRow(flatBuffersObject: value.rows(at: $0)!) }, bordered: value.bordered, striped: value.striped)
|
||||||
case .instantpageblockDetails:
|
case .instantpageblockDetails:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Details.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Details.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .details(title: try RichText(flatBuffersObject: value.title), blocks: try (0 ..< value.blocksCount).map { try InstantPageBlock(flatBuffersObject: value.blocks(at: $0)!) }, expanded: value.expanded)
|
self = .details(title: try RichText(flatBuffersObject: value.title), blocks: try (0 ..< value.blocksCount).map { try InstantPageBlock(flatBuffersObject: value.blocks(at: $0)!) }, expanded: value.expanded)
|
||||||
case .instantpageblockRelatedarticles:
|
case .instantpageblockRelatedarticles:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_RelatedArticles.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_RelatedArticles.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .relatedArticles(title: try RichText(flatBuffersObject: value.title), articles: try (0 ..< value.articlesCount).map { try InstantPageRelatedArticle(flatBuffersObject: value.articles(at: $0)!) })
|
self = .relatedArticles(title: try RichText(flatBuffersObject: value.title), articles: try (0 ..< value.articlesCount).map { try InstantPageRelatedArticle(flatBuffersObject: value.articles(at: $0)!) })
|
||||||
case .instantpageblockMap:
|
case .instantpageblockMap:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Map.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_InstantPageBlock_Map.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .map(latitude: value.latitude, longitude: value.longitude, zoom: value.zoom, dimensions: PixelDimensions(value.dimensions), caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
self = .map(latitude: value.latitude, longitude: value.longitude, zoom: value.zoom, dimensions: PixelDimensions(value.dimensions), caption: try InstantPageCaption(flatBuffersObject: value.caption))
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1023,13 +1023,13 @@ public indirect enum InstantPageListItem: PostboxCoding, Equatable {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .instantpagelistitemText:
|
case .instantpagelistitemText:
|
||||||
guard let textValue = flatBuffersObject.value(type: TelegramCore_InstantPageListItem_Text.self) else {
|
guard let textValue = flatBuffersObject.value(type: TelegramCore_InstantPageListItem_Text.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .text(try RichText(flatBuffersObject: textValue.text), textValue.number)
|
self = .text(try RichText(flatBuffersObject: textValue.text), textValue.number)
|
||||||
|
|
||||||
case .instantpagelistitemBlocks:
|
case .instantpagelistitemBlocks:
|
||||||
guard let blocksValue = flatBuffersObject.value(type: TelegramCore_InstantPageListItem_Blocks.self) else {
|
guard let blocksValue = flatBuffersObject.value(type: TelegramCore_InstantPageListItem_Blocks.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
let blocks = try (0 ..< blocksValue.blocksCount).map { i in
|
let blocks = try (0 ..< blocksValue.blocksCount).map { i in
|
||||||
return try InstantPageBlock(flatBuffersObject: blocksValue.blocks(at: i)!)
|
return try InstantPageBlock(flatBuffersObject: blocksValue.blocks(at: i)!)
|
||||||
@ -1038,7 +1038,7 @@ public indirect enum InstantPageListItem: PostboxCoding, Equatable {
|
|||||||
case .instantpagelistitemUnknown:
|
case .instantpagelistitemUnknown:
|
||||||
self = .unknown
|
self = .unknown
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -79,7 +79,7 @@ public extension PartialMediaReference {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .partialmediareferenceMessage:
|
case .partialmediareferenceMessage:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_PartialMediaReference_Message.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_PartialMediaReference_Message.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
if let message = value.message {
|
if let message = value.message {
|
||||||
self = .message(message: try MessageReference(flatBuffersObject: message))
|
self = .message(message: try MessageReference(flatBuffersObject: message))
|
||||||
@ -88,7 +88,7 @@ public extension PartialMediaReference {
|
|||||||
}
|
}
|
||||||
case .partialmediareferenceWebpage:
|
case .partialmediareferenceWebpage:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_PartialMediaReference_WebPage.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_PartialMediaReference_WebPage.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
if let webPage = value.webPage {
|
if let webPage = value.webPage {
|
||||||
self = .webPage(webPage: try WebpageReference(flatBuffersObject: webPage))
|
self = .webPage(webPage: try WebpageReference(flatBuffersObject: webPage))
|
||||||
@ -97,7 +97,7 @@ public extension PartialMediaReference {
|
|||||||
}
|
}
|
||||||
case .partialmediareferenceStickerpack:
|
case .partialmediareferenceStickerpack:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_PartialMediaReference_StickerPack.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_PartialMediaReference_StickerPack.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .stickerPack(stickerPack: try StickerPackReference(flatBuffersObject: value.stickerPack))
|
self = .stickerPack(stickerPack: try StickerPackReference(flatBuffersObject: value.stickerPack))
|
||||||
case .partialmediareferenceSavedgif:
|
case .partialmediareferenceSavedgif:
|
||||||
@ -107,7 +107,7 @@ public extension PartialMediaReference {
|
|||||||
case .partialmediareferenceRecentsticker:
|
case .partialmediareferenceRecentsticker:
|
||||||
self = .recentSticker
|
self = .recentSticker
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,16 +19,16 @@ public enum TelegramPeerAccessHash: Hashable {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .telegrampeeraccesshashPersonal:
|
case .telegrampeeraccesshashPersonal:
|
||||||
guard let personal = flatBuffersObject.value(type: TelegramCore_TelegramPeerAccessHash_Personal.self) else {
|
guard let personal = flatBuffersObject.value(type: TelegramCore_TelegramPeerAccessHash_Personal.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .personal(personal.accessHash)
|
self = .personal(personal.accessHash)
|
||||||
case .telegrampeeraccesshashGenericpublic:
|
case .telegrampeeraccesshashGenericpublic:
|
||||||
guard let genericPublic = flatBuffersObject.value(type: TelegramCore_TelegramPeerAccessHash_GenericPublic.self) else {
|
guard let genericPublic = flatBuffersObject.value(type: TelegramCore_TelegramPeerAccessHash_GenericPublic.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .genericPublic(genericPublic.accessHash)
|
self = .genericPublic(genericPublic.accessHash)
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -80,21 +80,21 @@ public enum PeerReference: PostboxCoding, Hashable, Equatable {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .peerreferenceUser:
|
case .peerreferenceUser:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_PeerReference_User.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_PeerReference_User.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .user(id: value.id, accessHash: value.accessHash)
|
self = .user(id: value.id, accessHash: value.accessHash)
|
||||||
case .peerreferenceGroup:
|
case .peerreferenceGroup:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_PeerReference_Group.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_PeerReference_Group.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .group(id: value.id)
|
self = .group(id: value.id)
|
||||||
case .peerreferenceChannel:
|
case .peerreferenceChannel:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_PeerReference_Channel.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_PeerReference_Channel.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .channel(id: value.id, accessHash: value.accessHash)
|
self = .channel(id: value.id, accessHash: value.accessHash)
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -302,79 +302,79 @@ extension RichText {
|
|||||||
self = .empty
|
self = .empty
|
||||||
case .richtextPlain:
|
case .richtextPlain:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Plain.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Plain.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .plain(value.text)
|
self = .plain(value.text)
|
||||||
case .richtextBold:
|
case .richtextBold:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Bold.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Bold.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .bold(try RichText(flatBuffersObject: value.text))
|
self = .bold(try RichText(flatBuffersObject: value.text))
|
||||||
case .richtextItalic:
|
case .richtextItalic:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Italic.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Italic.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .italic(try RichText(flatBuffersObject: value.text))
|
self = .italic(try RichText(flatBuffersObject: value.text))
|
||||||
case .richtextUnderline:
|
case .richtextUnderline:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Underline.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Underline.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .underline(try RichText(flatBuffersObject: value.text))
|
self = .underline(try RichText(flatBuffersObject: value.text))
|
||||||
case .richtextStrikethrough:
|
case .richtextStrikethrough:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Strikethrough.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Strikethrough.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .strikethrough(try RichText(flatBuffersObject: value.text))
|
self = .strikethrough(try RichText(flatBuffersObject: value.text))
|
||||||
case .richtextFixed:
|
case .richtextFixed:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Fixed.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Fixed.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .fixed(try RichText(flatBuffersObject: value.text))
|
self = .fixed(try RichText(flatBuffersObject: value.text))
|
||||||
case .richtextUrl:
|
case .richtextUrl:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Url.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Url.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .url(text: try RichText(flatBuffersObject: value.text), url: value.url, webpageId: value.webpageId.flatMap { MediaId($0) })
|
self = .url(text: try RichText(flatBuffersObject: value.text), url: value.url, webpageId: value.webpageId.flatMap { MediaId($0) })
|
||||||
case .richtextEmail:
|
case .richtextEmail:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Email.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Email.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .email(text: try RichText(flatBuffersObject: value.text),
|
self = .email(text: try RichText(flatBuffersObject: value.text),
|
||||||
email: value.email)
|
email: value.email)
|
||||||
case .richtextConcat:
|
case .richtextConcat:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Concat.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Concat.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .concat(try (0..<value.textsCount).map { try RichText(flatBuffersObject: value.texts(at: $0)!) })
|
self = .concat(try (0..<value.textsCount).map { try RichText(flatBuffersObject: value.texts(at: $0)!) })
|
||||||
case .richtextSubscript:
|
case .richtextSubscript:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Subscript.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Subscript.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .subscript(try RichText(flatBuffersObject: value.text))
|
self = .subscript(try RichText(flatBuffersObject: value.text))
|
||||||
case .richtextSuperscript:
|
case .richtextSuperscript:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Superscript.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Superscript.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .superscript(try RichText(flatBuffersObject: value.text))
|
self = .superscript(try RichText(flatBuffersObject: value.text))
|
||||||
case .richtextMarked:
|
case .richtextMarked:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Marked.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Marked.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .marked(try RichText(flatBuffersObject: value.text))
|
self = .marked(try RichText(flatBuffersObject: value.text))
|
||||||
case .richtextPhone:
|
case .richtextPhone:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Phone.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Phone.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .phone(text: try RichText(flatBuffersObject: value.text),
|
self = .phone(text: try RichText(flatBuffersObject: value.text),
|
||||||
phone: value.phone)
|
phone: value.phone)
|
||||||
case .richtextImage:
|
case .richtextImage:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Image.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Image.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .image(id: MediaId(value.id), dimensions: PixelDimensions(value.dimensions))
|
self = .image(id: MediaId(value.id), dimensions: PixelDimensions(value.dimensions))
|
||||||
case .richtextAnchor:
|
case .richtextAnchor:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Anchor.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_RichText_Anchor.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .anchor(text: try RichText(flatBuffersObject: value.text),
|
self = .anchor(text: try RichText(flatBuffersObject: value.text),
|
||||||
name: value.name)
|
name: value.name)
|
||||||
|
|||||||
@ -121,16 +121,16 @@ public enum TelegramChannelInfo: Equatable {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .telegramchannelinfoBroadcast:
|
case .telegramchannelinfoBroadcast:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramChannelInfo_Broadcast.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramChannelInfo_Broadcast.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .broadcast(TelegramChannelBroadcastInfo(flags: TelegramChannelBroadcastFlags(rawValue: value.flags)))
|
self = .broadcast(TelegramChannelBroadcastInfo(flags: TelegramChannelBroadcastFlags(rawValue: value.flags)))
|
||||||
case .telegramchannelinfoGroup:
|
case .telegramchannelinfoGroup:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramChannelInfo_Group.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramChannelInfo_Group.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .group(TelegramChannelGroupInfo(flags: TelegramChannelGroupFlags(rawValue: value.flags)))
|
self = .group(TelegramChannelGroupInfo(flags: TelegramChannelGroupFlags(rawValue: value.flags)))
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -599,7 +599,7 @@ public final class TelegramChannel: Peer, Equatable {
|
|||||||
self.participationStatus = TelegramChannelParticipationStatus(rawValue: flatBuffersObject.participationStatus)
|
self.participationStatus = TelegramChannelParticipationStatus(rawValue: flatBuffersObject.participationStatus)
|
||||||
|
|
||||||
guard let infoObj = flatBuffersObject.info else {
|
guard let infoObj = flatBuffersObject.info else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self.info = try TelegramChannelInfo(flatBuffersObject: infoObj)
|
self.info = try TelegramChannelInfo(flatBuffersObject: infoObj)
|
||||||
|
|
||||||
|
|||||||
@ -47,18 +47,18 @@ public enum TelegramGroupRole: Equatable, PostboxCoding {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .telegramgrouproleCreator:
|
case .telegramgrouproleCreator:
|
||||||
guard let creator = flatBuffersObject.value(type: TelegramCore_TelegramGroupRole_Creator.self) else {
|
guard let creator = flatBuffersObject.value(type: TelegramCore_TelegramGroupRole_Creator.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .creator(rank: creator.rank)
|
self = .creator(rank: creator.rank)
|
||||||
case .telegramgrouproleAdmin:
|
case .telegramgrouproleAdmin:
|
||||||
guard let admin = flatBuffersObject.value(type: TelegramCore_TelegramGroupRole_Admin.self) else {
|
guard let admin = flatBuffersObject.value(type: TelegramCore_TelegramGroupRole_Admin.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .admin(try TelegramChatAdminRights(flatBuffersObject: admin.rights), rank: admin.rank)
|
self = .admin(try TelegramChatAdminRights(flatBuffersObject: admin.rights), rank: admin.rank)
|
||||||
case .telegramgrouproleMember:
|
case .telegramgrouproleMember:
|
||||||
self = .member
|
self = .member
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,7 +250,7 @@ public final class TelegramGroup: Peer, Equatable {
|
|||||||
self.participantCount = Int(flatBuffersObject.participantCount)
|
self.participantCount = Int(flatBuffersObject.participantCount)
|
||||||
|
|
||||||
guard let role = flatBuffersObject.role else {
|
guard let role = flatBuffersObject.role else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self.role = try TelegramGroupRole(flatBuffersObject: role)
|
self.role = try TelegramGroupRole(flatBuffersObject: role)
|
||||||
|
|
||||||
|
|||||||
@ -126,19 +126,19 @@ public enum StickerPackReference: PostboxCoding, Hashable, Equatable, Codable {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .stickerpackreferenceId:
|
case .stickerpackreferenceId:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_StickerPackReference_Id.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_StickerPackReference_Id.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .id(id: value.id, accessHash: value.accessHash)
|
self = .id(id: value.id, accessHash: value.accessHash)
|
||||||
case .stickerpackreferenceName:
|
case .stickerpackreferenceName:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_StickerPackReference_Name.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_StickerPackReference_Name.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .name(value.name)
|
self = .name(value.name)
|
||||||
case .stickerpackreferenceAnimatedemoji:
|
case .stickerpackreferenceAnimatedemoji:
|
||||||
self = .animatedEmoji
|
self = .animatedEmoji
|
||||||
case .stickerpackreferenceDice:
|
case .stickerpackreferenceDice:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_StickerPackReference_Dice.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_StickerPackReference_Dice.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .dice(value.emoji)
|
self = .dice(value.emoji)
|
||||||
case .stickerpackreferenceAnimatedemojianimations:
|
case .stickerpackreferenceAnimatedemojianimations:
|
||||||
@ -154,7 +154,7 @@ public enum StickerPackReference: PostboxCoding, Hashable, Equatable, Codable {
|
|||||||
case .stickerpackreferenceIconchannelstatusemoji:
|
case .stickerpackreferenceIconchannelstatusemoji:
|
||||||
self = .iconChannelStatusEmoji
|
self = .iconChannelStatusEmoji
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -478,29 +478,29 @@ public enum TelegramMediaFileAttribute: PostboxCoding, Equatable {
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .telegrammediafileattributeFilename:
|
case .telegrammediafileattributeFilename:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_FileName.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_FileName.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .FileName(fileName: value.fileName)
|
self = .FileName(fileName: value.fileName)
|
||||||
case .telegrammediafileattributeSticker:
|
case .telegrammediafileattributeSticker:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_Sticker.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_Sticker.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .Sticker(displayText: value.displayText, packReference: try value.packReference.flatMap({ try StickerPackReference(flatBuffersObject: $0) }), maskData: value.maskData.flatMap({ StickerMaskCoords(flatBuffersObject: $0) }))
|
self = .Sticker(displayText: value.displayText, packReference: try value.packReference.flatMap({ try StickerPackReference(flatBuffersObject: $0) }), maskData: value.maskData.flatMap({ StickerMaskCoords(flatBuffersObject: $0) }))
|
||||||
case .telegrammediafileattributeImagesize:
|
case .telegrammediafileattributeImagesize:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_ImageSize.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_ImageSize.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .ImageSize(size: PixelDimensions(width: value.width, height: value.height))
|
self = .ImageSize(size: PixelDimensions(width: value.width, height: value.height))
|
||||||
case .telegrammediafileattributeAnimated:
|
case .telegrammediafileattributeAnimated:
|
||||||
self = .Animated
|
self = .Animated
|
||||||
case .telegrammediafileattributeVideo:
|
case .telegrammediafileattributeVideo:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_Video.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_Video.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .Video(duration: Double(value.duration), size: PixelDimensions(width: value.width, height: value.height), flags: TelegramMediaVideoFlags(rawValue: value.flags), preloadSize: value.preloadSize == 0 ? nil : value.preloadSize, coverTime: value.coverTime == 0.0 ? nil : Double(value.coverTime), videoCodec: value.videoCodec)
|
self = .Video(duration: Double(value.duration), size: PixelDimensions(width: value.width, height: value.height), flags: TelegramMediaVideoFlags(rawValue: value.flags), preloadSize: value.preloadSize == 0 ? nil : value.preloadSize, coverTime: value.coverTime == 0.0 ? nil : Double(value.coverTime), videoCodec: value.videoCodec)
|
||||||
case .telegrammediafileattributeAudio:
|
case .telegrammediafileattributeAudio:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_Audio.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_Audio.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .Audio(isVoice: value.isVoice, duration: Int(value.duration), title: value.title, performer: value.performer, waveform: value.waveform.isEmpty ? nil : Data(value.waveform))
|
self = .Audio(isVoice: value.isVoice, duration: Int(value.duration), title: value.title, performer: value.performer, waveform: value.waveform.isEmpty ? nil : Data(value.waveform))
|
||||||
case .telegrammediafileattributeHaslinkedstickers:
|
case .telegrammediafileattributeHaslinkedstickers:
|
||||||
@ -512,10 +512,10 @@ public enum TelegramMediaFileAttribute: PostboxCoding, Equatable {
|
|||||||
case .telegrammediafileattributeNopremium:
|
case .telegrammediafileattributeNopremium:
|
||||||
self = .NoPremium
|
self = .NoPremium
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
case .telegrammediafileattributeCustomemoji:
|
case .telegrammediafileattributeCustomemoji:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_CustomEmoji.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_TelegramMediaFileAttribute_CustomEmoji.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self = .CustomEmoji(isPremium: value.isPremium, isSingleColor: value.isSingleColor, alt: value.alt, packReference: try value.packReference.flatMap({ try StickerPackReference(flatBuffersObject: $0) }))
|
self = .CustomEmoji(isPremium: value.isPremium, isSingleColor: value.isSingleColor, alt: value.alt, packReference: try value.packReference.flatMap({ try StickerPackReference(flatBuffersObject: $0) }))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -219,16 +219,16 @@ public final class TelegramMediaImage: Media, Equatable, Codable {
|
|||||||
switch flatBuffersObject.contentType {
|
switch flatBuffersObject.contentType {
|
||||||
case .emojimarkupContentEmoji:
|
case .emojimarkupContentEmoji:
|
||||||
guard let value = flatBuffersObject.content(type: TelegramCore_EmojiMarkup_Content_Emoji.self) else {
|
guard let value = flatBuffersObject.content(type: TelegramCore_EmojiMarkup_Content_Emoji.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self.content = .emoji(fileId: value.fileId)
|
self.content = .emoji(fileId: value.fileId)
|
||||||
case .emojimarkupContentSticker:
|
case .emojimarkupContentSticker:
|
||||||
guard let value = flatBuffersObject.content(type: TelegramCore_EmojiMarkup_Content_Sticker.self) else {
|
guard let value = flatBuffersObject.content(type: TelegramCore_EmojiMarkup_Content_Sticker.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
self.content = .sticker(packReference: try StickerPackReference(flatBuffersObject: value.packReference), fileId: value.fileId)
|
self.content = .sticker(packReference: try StickerPackReference(flatBuffersObject: value.packReference), fileId: value.fileId)
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
|
|
||||||
self.backgroundColors = flatBuffersObject.backgroundColors
|
self.backgroundColors = flatBuffersObject.backgroundColors
|
||||||
|
|||||||
@ -3,24 +3,36 @@ import FlatBuffers
|
|||||||
import FlatSerialization
|
import FlatSerialization
|
||||||
import Postbox
|
import Postbox
|
||||||
|
|
||||||
#if DEBUG && false
|
#if DEBUG
|
||||||
|
public var flatBuffers_checkedGet: Bool = true
|
||||||
|
#else
|
||||||
|
public var flatBuffers_checkedGet: Bool = false
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@inline(__always)
|
||||||
public func FlatBuffers_getRoot<T: FlatBufferObject & Verifiable>(
|
public func FlatBuffers_getRoot<T: FlatBufferObject & Verifiable>(
|
||||||
byteBuffer: inout ByteBuffer,
|
byteBuffer: inout ByteBuffer,
|
||||||
fileId: String? = nil,
|
fileId: String? = nil,
|
||||||
options: VerifierOptions = .init()
|
options: VerifierOptions = .init()
|
||||||
) -> T {
|
) -> T {
|
||||||
return try! getCheckedRoot(byteBuffer: &byteBuffer, fileId: fileId, options: options)
|
if flatBuffers_checkedGet {
|
||||||
}
|
|
||||||
#else
|
|
||||||
@inline(__always)
|
|
||||||
public func FlatBuffers_getRoot<T: FlatBufferObject>(byteBuffer: inout ByteBuffer) -> T {
|
|
||||||
return getRoot(byteBuffer: &byteBuffer)
|
return getRoot(byteBuffer: &byteBuffer)
|
||||||
|
} else {
|
||||||
|
return try! getCheckedRoot(byteBuffer: &byteBuffer, fileId: fileId, options: options)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
public enum FlatBuffersError: Error {
|
public enum FlatBuffersError: Error {
|
||||||
case missingRequiredField(file: String, line: Int)
|
case value_missingRequiredField(file: String, line: Int)
|
||||||
case invalidUnionType
|
case invalidUnionType
|
||||||
|
|
||||||
|
public static func missingRequiredField(file: String = #file, line: Int = #line) -> FlatBuffersError {
|
||||||
|
if flatBuffers_checkedGet {
|
||||||
|
preconditionFailure()
|
||||||
|
}
|
||||||
|
|
||||||
|
return .value_missingRequiredField(file: file, line: line)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public extension PeerId {
|
public extension PeerId {
|
||||||
|
|||||||
@ -8,16 +8,16 @@ public func TelegramMedia_parse(flatBuffersObject: TelegramCore_Media) throws ->
|
|||||||
switch flatBuffersObject.valueType {
|
switch flatBuffersObject.valueType {
|
||||||
case .mediaTelegrammediafile:
|
case .mediaTelegrammediafile:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_Media_TelegramMediaFile.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_Media_TelegramMediaFile.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
return try TelegramMediaFile(flatBuffersObject: value.file)
|
return try TelegramMediaFile(flatBuffersObject: value.file)
|
||||||
case .mediaTelegrammediaimage:
|
case .mediaTelegrammediaimage:
|
||||||
guard let value = flatBuffersObject.value(type: TelegramCore_Media_TelegramMediaImage.self) else {
|
guard let value = flatBuffersObject.value(type: TelegramCore_Media_TelegramMediaImage.self) else {
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
return try TelegramMediaImage(flatBuffersObject: value.image)
|
return try TelegramMediaImage(flatBuffersObject: value.image)
|
||||||
case .none_:
|
case .none_:
|
||||||
throw FlatBuffersError.missingRequiredField(file: #file, line: #line)
|
throw FlatBuffersError.missingRequiredField()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -65,6 +65,7 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
|||||||
public var devRequests: Bool
|
public var devRequests: Bool
|
||||||
public var fakeAds: Bool
|
public var fakeAds: Bool
|
||||||
public var conferenceDebug: Bool
|
public var conferenceDebug: Bool
|
||||||
|
public var checkSerializedData: Bool
|
||||||
|
|
||||||
public static var defaultSettings: ExperimentalUISettings {
|
public static var defaultSettings: ExperimentalUISettings {
|
||||||
return ExperimentalUISettings(
|
return ExperimentalUISettings(
|
||||||
@ -107,7 +108,8 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
|||||||
playerV2: false,
|
playerV2: false,
|
||||||
devRequests: false,
|
devRequests: false,
|
||||||
fakeAds: false,
|
fakeAds: false,
|
||||||
conferenceDebug: false
|
conferenceDebug: false,
|
||||||
|
checkSerializedData: false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,7 +153,8 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
|||||||
playerV2: Bool,
|
playerV2: Bool,
|
||||||
devRequests: Bool,
|
devRequests: Bool,
|
||||||
fakeAds: Bool,
|
fakeAds: Bool,
|
||||||
conferenceDebug: Bool
|
conferenceDebug: Bool,
|
||||||
|
checkSerializedData: Bool
|
||||||
) {
|
) {
|
||||||
self.keepChatNavigationStack = keepChatNavigationStack
|
self.keepChatNavigationStack = keepChatNavigationStack
|
||||||
self.skipReadHistory = skipReadHistory
|
self.skipReadHistory = skipReadHistory
|
||||||
@ -193,6 +196,7 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
|||||||
self.devRequests = devRequests
|
self.devRequests = devRequests
|
||||||
self.fakeAds = fakeAds
|
self.fakeAds = fakeAds
|
||||||
self.conferenceDebug = conferenceDebug
|
self.conferenceDebug = conferenceDebug
|
||||||
|
self.checkSerializedData = checkSerializedData
|
||||||
}
|
}
|
||||||
|
|
||||||
public init(from decoder: Decoder) throws {
|
public init(from decoder: Decoder) throws {
|
||||||
@ -238,6 +242,7 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
|||||||
self.devRequests = try container.decodeIfPresent(Bool.self, forKey: "devRequests") ?? false
|
self.devRequests = try container.decodeIfPresent(Bool.self, forKey: "devRequests") ?? false
|
||||||
self.fakeAds = try container.decodeIfPresent(Bool.self, forKey: "fakeAds") ?? false
|
self.fakeAds = try container.decodeIfPresent(Bool.self, forKey: "fakeAds") ?? false
|
||||||
self.conferenceDebug = try container.decodeIfPresent(Bool.self, forKey: "conferenceDebug") ?? false
|
self.conferenceDebug = try container.decodeIfPresent(Bool.self, forKey: "conferenceDebug") ?? false
|
||||||
|
self.checkSerializedData = try container.decodeIfPresent(Bool.self, forKey: "checkSerializedData") ?? false
|
||||||
}
|
}
|
||||||
|
|
||||||
public func encode(to encoder: Encoder) throws {
|
public func encode(to encoder: Encoder) throws {
|
||||||
@ -283,6 +288,7 @@ public struct ExperimentalUISettings: Codable, Equatable {
|
|||||||
try container.encodeIfPresent(self.devRequests, forKey: "devRequests")
|
try container.encodeIfPresent(self.devRequests, forKey: "devRequests")
|
||||||
try container.encodeIfPresent(self.fakeAds, forKey: "fakeAds")
|
try container.encodeIfPresent(self.fakeAds, forKey: "fakeAds")
|
||||||
try container.encodeIfPresent(self.conferenceDebug, forKey: "conferenceDebug")
|
try container.encodeIfPresent(self.conferenceDebug, forKey: "conferenceDebug")
|
||||||
|
try container.encodeIfPresent(self.checkSerializedData, forKey: "checkSerializedData")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user