mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
1105 lines
47 KiB
Swift
1105 lines
47 KiB
Swift
public extension Api.stats {
|
|
enum MegagroupStats: TypeConstructorDescription {
|
|
case megagroupStats(period: Api.StatsDateRangeDays, members: Api.StatsAbsValueAndPrev, messages: Api.StatsAbsValueAndPrev, viewers: Api.StatsAbsValueAndPrev, posters: Api.StatsAbsValueAndPrev, growthGraph: Api.StatsGraph, membersGraph: Api.StatsGraph, newMembersBySourceGraph: Api.StatsGraph, languagesGraph: Api.StatsGraph, messagesGraph: Api.StatsGraph, actionsGraph: Api.StatsGraph, topHoursGraph: Api.StatsGraph, weekdaysGraph: Api.StatsGraph, topPosters: [Api.StatsGroupTopPoster], topAdmins: [Api.StatsGroupTopAdmin], topInviters: [Api.StatsGroupTopInviter], users: [Api.User])
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .megagroupStats(let period, let members, let messages, let viewers, let posters, let growthGraph, let membersGraph, let newMembersBySourceGraph, let languagesGraph, let messagesGraph, let actionsGraph, let topHoursGraph, let weekdaysGraph, let topPosters, let topAdmins, let topInviters, let users):
|
|
if boxed {
|
|
buffer.appendInt32(-276825834)
|
|
}
|
|
period.serialize(buffer, true)
|
|
members.serialize(buffer, true)
|
|
messages.serialize(buffer, true)
|
|
viewers.serialize(buffer, true)
|
|
posters.serialize(buffer, true)
|
|
growthGraph.serialize(buffer, true)
|
|
membersGraph.serialize(buffer, true)
|
|
newMembersBySourceGraph.serialize(buffer, true)
|
|
languagesGraph.serialize(buffer, true)
|
|
messagesGraph.serialize(buffer, true)
|
|
actionsGraph.serialize(buffer, true)
|
|
topHoursGraph.serialize(buffer, true)
|
|
weekdaysGraph.serialize(buffer, true)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(topPosters.count))
|
|
for item in topPosters {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(topAdmins.count))
|
|
for item in topAdmins {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(topInviters.count))
|
|
for item in topInviters {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .megagroupStats(let period, let members, let messages, let viewers, let posters, let growthGraph, let membersGraph, let newMembersBySourceGraph, let languagesGraph, let messagesGraph, let actionsGraph, let topHoursGraph, let weekdaysGraph, let topPosters, let topAdmins, let topInviters, let users):
|
|
return ("megagroupStats", [("period", period as Any), ("members", members as Any), ("messages", messages as Any), ("viewers", viewers as Any), ("posters", posters as Any), ("growthGraph", growthGraph as Any), ("membersGraph", membersGraph as Any), ("newMembersBySourceGraph", newMembersBySourceGraph as Any), ("languagesGraph", languagesGraph as Any), ("messagesGraph", messagesGraph as Any), ("actionsGraph", actionsGraph as Any), ("topHoursGraph", topHoursGraph as Any), ("weekdaysGraph", weekdaysGraph as Any), ("topPosters", topPosters as Any), ("topAdmins", topAdmins as Any), ("topInviters", topInviters as Any), ("users", users as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_megagroupStats(_ reader: BufferReader) -> MegagroupStats? {
|
|
var _1: Api.StatsDateRangeDays?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.StatsDateRangeDays
|
|
}
|
|
var _2: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_2 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _3: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_3 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _4: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_4 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _5: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_5 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _6: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_6 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _7: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_7 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _8: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_8 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _9: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_9 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _10: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_10 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _11: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_11 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _12: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_12 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _13: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_13 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _14: [Api.StatsGroupTopPoster]?
|
|
if let _ = reader.readInt32() {
|
|
_14 = Api.parseVector(reader, elementSignature: 0, elementType: Api.StatsGroupTopPoster.self)
|
|
}
|
|
var _15: [Api.StatsGroupTopAdmin]?
|
|
if let _ = reader.readInt32() {
|
|
_15 = Api.parseVector(reader, elementSignature: 0, elementType: Api.StatsGroupTopAdmin.self)
|
|
}
|
|
var _16: [Api.StatsGroupTopInviter]?
|
|
if let _ = reader.readInt32() {
|
|
_16 = Api.parseVector(reader, elementSignature: 0, elementType: Api.StatsGroupTopInviter.self)
|
|
}
|
|
var _17: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_17 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
let _c7 = _7 != nil
|
|
let _c8 = _8 != nil
|
|
let _c9 = _9 != nil
|
|
let _c10 = _10 != nil
|
|
let _c11 = _11 != nil
|
|
let _c12 = _12 != nil
|
|
let _c13 = _13 != nil
|
|
let _c14 = _14 != nil
|
|
let _c15 = _15 != nil
|
|
let _c16 = _16 != nil
|
|
let _c17 = _17 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 && _c15 && _c16 && _c17 {
|
|
return Api.stats.MegagroupStats.megagroupStats(period: _1!, members: _2!, messages: _3!, viewers: _4!, posters: _5!, growthGraph: _6!, membersGraph: _7!, newMembersBySourceGraph: _8!, languagesGraph: _9!, messagesGraph: _10!, actionsGraph: _11!, topHoursGraph: _12!, weekdaysGraph: _13!, topPosters: _14!, topAdmins: _15!, topInviters: _16!, users: _17!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.stats {
|
|
enum MessageStats: TypeConstructorDescription {
|
|
case messageStats(viewsGraph: Api.StatsGraph)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .messageStats(let viewsGraph):
|
|
if boxed {
|
|
buffer.appendInt32(-1986399595)
|
|
}
|
|
viewsGraph.serialize(buffer, true)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .messageStats(let viewsGraph):
|
|
return ("messageStats", [("viewsGraph", viewsGraph as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_messageStats(_ reader: BufferReader) -> MessageStats? {
|
|
var _1: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.stats.MessageStats.messageStats(viewsGraph: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.stickers {
|
|
enum SuggestedShortName: TypeConstructorDescription {
|
|
case suggestedShortName(shortName: String)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .suggestedShortName(let shortName):
|
|
if boxed {
|
|
buffer.appendInt32(-2046910401)
|
|
}
|
|
serializeString(shortName, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .suggestedShortName(let shortName):
|
|
return ("suggestedShortName", [("shortName", shortName as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_suggestedShortName(_ reader: BufferReader) -> SuggestedShortName? {
|
|
var _1: String?
|
|
_1 = parseString(reader)
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.stickers.SuggestedShortName.suggestedShortName(shortName: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.storage {
|
|
enum FileType: TypeConstructorDescription {
|
|
case fileGif
|
|
case fileJpeg
|
|
case fileMov
|
|
case fileMp3
|
|
case fileMp4
|
|
case filePartial
|
|
case filePdf
|
|
case filePng
|
|
case fileUnknown
|
|
case fileWebp
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .fileGif:
|
|
if boxed {
|
|
buffer.appendInt32(-891180321)
|
|
}
|
|
|
|
break
|
|
case .fileJpeg:
|
|
if boxed {
|
|
buffer.appendInt32(8322574)
|
|
}
|
|
|
|
break
|
|
case .fileMov:
|
|
if boxed {
|
|
buffer.appendInt32(1258941372)
|
|
}
|
|
|
|
break
|
|
case .fileMp3:
|
|
if boxed {
|
|
buffer.appendInt32(1384777335)
|
|
}
|
|
|
|
break
|
|
case .fileMp4:
|
|
if boxed {
|
|
buffer.appendInt32(-1278304028)
|
|
}
|
|
|
|
break
|
|
case .filePartial:
|
|
if boxed {
|
|
buffer.appendInt32(1086091090)
|
|
}
|
|
|
|
break
|
|
case .filePdf:
|
|
if boxed {
|
|
buffer.appendInt32(-1373745011)
|
|
}
|
|
|
|
break
|
|
case .filePng:
|
|
if boxed {
|
|
buffer.appendInt32(172975040)
|
|
}
|
|
|
|
break
|
|
case .fileUnknown:
|
|
if boxed {
|
|
buffer.appendInt32(-1432995067)
|
|
}
|
|
|
|
break
|
|
case .fileWebp:
|
|
if boxed {
|
|
buffer.appendInt32(276907596)
|
|
}
|
|
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .fileGif:
|
|
return ("fileGif", [])
|
|
case .fileJpeg:
|
|
return ("fileJpeg", [])
|
|
case .fileMov:
|
|
return ("fileMov", [])
|
|
case .fileMp3:
|
|
return ("fileMp3", [])
|
|
case .fileMp4:
|
|
return ("fileMp4", [])
|
|
case .filePartial:
|
|
return ("filePartial", [])
|
|
case .filePdf:
|
|
return ("filePdf", [])
|
|
case .filePng:
|
|
return ("filePng", [])
|
|
case .fileUnknown:
|
|
return ("fileUnknown", [])
|
|
case .fileWebp:
|
|
return ("fileWebp", [])
|
|
}
|
|
}
|
|
|
|
public static func parse_fileGif(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileGif
|
|
}
|
|
public static func parse_fileJpeg(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileJpeg
|
|
}
|
|
public static func parse_fileMov(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileMov
|
|
}
|
|
public static func parse_fileMp3(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileMp3
|
|
}
|
|
public static func parse_fileMp4(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileMp4
|
|
}
|
|
public static func parse_filePartial(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.filePartial
|
|
}
|
|
public static func parse_filePdf(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.filePdf
|
|
}
|
|
public static func parse_filePng(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.filePng
|
|
}
|
|
public static func parse_fileUnknown(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileUnknown
|
|
}
|
|
public static func parse_fileWebp(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileWebp
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.stories {
|
|
enum AllStories: TypeConstructorDescription {
|
|
case allStories(flags: Int32, userStories: [Api.UserStories], nextOffset: String?, users: [Api.User])
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .allStories(let flags, let userStories, let nextOffset, let users):
|
|
if boxed {
|
|
buffer.appendInt32(1214632796)
|
|
}
|
|
serializeInt32(flags, buffer: buffer, boxed: false)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(userStories.count))
|
|
for item in userStories {
|
|
item.serialize(buffer, true)
|
|
}
|
|
if Int(flags) & Int(1 << 0) != 0 {serializeString(nextOffset!, buffer: buffer, boxed: false)}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .allStories(let flags, let userStories, let nextOffset, let users):
|
|
return ("allStories", [("flags", flags as Any), ("userStories", userStories as Any), ("nextOffset", nextOffset as Any), ("users", users as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_allStories(_ reader: BufferReader) -> AllStories? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: [Api.UserStories]?
|
|
if let _ = reader.readInt32() {
|
|
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.UserStories.self)
|
|
}
|
|
var _3: String?
|
|
if Int(_1!) & Int(1 << 0) != 0 {_3 = parseString(reader) }
|
|
var _4: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = (Int(_1!) & Int(1 << 0) == 0) || _3 != nil
|
|
let _c4 = _4 != nil
|
|
if _c1 && _c2 && _c3 && _c4 {
|
|
return Api.stories.AllStories.allStories(flags: _1!, userStories: _2!, nextOffset: _3, users: _4!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.updates {
|
|
enum ChannelDifference: TypeConstructorDescription {
|
|
case channelDifference(flags: Int32, pts: Int32, timeout: Int32?, newMessages: [Api.Message], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User])
|
|
case channelDifferenceEmpty(flags: Int32, pts: Int32, timeout: Int32?)
|
|
case channelDifferenceTooLong(flags: Int32, timeout: Int32?, dialog: Api.Dialog, messages: [Api.Message], chats: [Api.Chat], users: [Api.User])
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .channelDifference(let flags, let pts, let timeout, let newMessages, let otherUpdates, let chats, let users):
|
|
if boxed {
|
|
buffer.appendInt32(543450958)
|
|
}
|
|
serializeInt32(flags, buffer: buffer, boxed: false)
|
|
serializeInt32(pts, buffer: buffer, boxed: false)
|
|
if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newMessages.count))
|
|
for item in newMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(otherUpdates.count))
|
|
for item in otherUpdates {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
case .channelDifferenceEmpty(let flags, let pts, let timeout):
|
|
if boxed {
|
|
buffer.appendInt32(1041346555)
|
|
}
|
|
serializeInt32(flags, buffer: buffer, boxed: false)
|
|
serializeInt32(pts, buffer: buffer, boxed: false)
|
|
if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)}
|
|
break
|
|
case .channelDifferenceTooLong(let flags, let timeout, let dialog, let messages, let chats, let users):
|
|
if boxed {
|
|
buffer.appendInt32(-1531132162)
|
|
}
|
|
serializeInt32(flags, buffer: buffer, boxed: false)
|
|
if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)}
|
|
dialog.serialize(buffer, true)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(messages.count))
|
|
for item in messages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .channelDifference(let flags, let pts, let timeout, let newMessages, let otherUpdates, let chats, let users):
|
|
return ("channelDifference", [("flags", flags as Any), ("pts", pts as Any), ("timeout", timeout as Any), ("newMessages", newMessages as Any), ("otherUpdates", otherUpdates as Any), ("chats", chats as Any), ("users", users as Any)])
|
|
case .channelDifferenceEmpty(let flags, let pts, let timeout):
|
|
return ("channelDifferenceEmpty", [("flags", flags as Any), ("pts", pts as Any), ("timeout", timeout as Any)])
|
|
case .channelDifferenceTooLong(let flags, let timeout, let dialog, let messages, let chats, let users):
|
|
return ("channelDifferenceTooLong", [("flags", flags as Any), ("timeout", timeout as Any), ("dialog", dialog as Any), ("messages", messages as Any), ("chats", chats as Any), ("users", users as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_channelDifference(_ reader: BufferReader) -> ChannelDifference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
var _3: Int32?
|
|
if Int(_1!) & Int(1 << 1) != 0 {_3 = reader.readInt32() }
|
|
var _4: [Api.Message]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
|
}
|
|
var _5: [Api.Update]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self)
|
|
}
|
|
var _6: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_6 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _7: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_7 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
let _c7 = _7 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 {
|
|
return Api.updates.ChannelDifference.channelDifference(flags: _1!, pts: _2!, timeout: _3, newMessages: _4!, otherUpdates: _5!, chats: _6!, users: _7!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_channelDifferenceEmpty(_ reader: BufferReader) -> ChannelDifference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
var _3: Int32?
|
|
if Int(_1!) & Int(1 << 1) != 0 {_3 = reader.readInt32() }
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil
|
|
if _c1 && _c2 && _c3 {
|
|
return Api.updates.ChannelDifference.channelDifferenceEmpty(flags: _1!, pts: _2!, timeout: _3)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_channelDifferenceTooLong(_ reader: BufferReader) -> ChannelDifference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
if Int(_1!) & Int(1 << 1) != 0 {_2 = reader.readInt32() }
|
|
var _3: Api.Dialog?
|
|
if let signature = reader.readInt32() {
|
|
_3 = Api.parse(reader, signature: signature) as? Api.Dialog
|
|
}
|
|
var _4: [Api.Message]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
|
}
|
|
var _5: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _6: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_6 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = (Int(_1!) & Int(1 << 1) == 0) || _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 {
|
|
return Api.updates.ChannelDifference.channelDifferenceTooLong(flags: _1!, timeout: _2, dialog: _3!, messages: _4!, chats: _5!, users: _6!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.updates {
|
|
enum Difference: TypeConstructorDescription {
|
|
case difference(newMessages: [Api.Message], newEncryptedMessages: [Api.EncryptedMessage], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User], state: Api.updates.State)
|
|
case differenceEmpty(date: Int32, seq: Int32)
|
|
case differenceSlice(newMessages: [Api.Message], newEncryptedMessages: [Api.EncryptedMessage], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User], intermediateState: Api.updates.State)
|
|
case differenceTooLong(pts: Int32)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .difference(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let state):
|
|
if boxed {
|
|
buffer.appendInt32(16030880)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newMessages.count))
|
|
for item in newMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newEncryptedMessages.count))
|
|
for item in newEncryptedMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(otherUpdates.count))
|
|
for item in otherUpdates {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
state.serialize(buffer, true)
|
|
break
|
|
case .differenceEmpty(let date, let seq):
|
|
if boxed {
|
|
buffer.appendInt32(1567990072)
|
|
}
|
|
serializeInt32(date, buffer: buffer, boxed: false)
|
|
serializeInt32(seq, buffer: buffer, boxed: false)
|
|
break
|
|
case .differenceSlice(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let intermediateState):
|
|
if boxed {
|
|
buffer.appendInt32(-1459938943)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newMessages.count))
|
|
for item in newMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newEncryptedMessages.count))
|
|
for item in newEncryptedMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(otherUpdates.count))
|
|
for item in otherUpdates {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
intermediateState.serialize(buffer, true)
|
|
break
|
|
case .differenceTooLong(let pts):
|
|
if boxed {
|
|
buffer.appendInt32(1258196845)
|
|
}
|
|
serializeInt32(pts, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .difference(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let state):
|
|
return ("difference", [("newMessages", newMessages as Any), ("newEncryptedMessages", newEncryptedMessages as Any), ("otherUpdates", otherUpdates as Any), ("chats", chats as Any), ("users", users as Any), ("state", state as Any)])
|
|
case .differenceEmpty(let date, let seq):
|
|
return ("differenceEmpty", [("date", date as Any), ("seq", seq as Any)])
|
|
case .differenceSlice(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let intermediateState):
|
|
return ("differenceSlice", [("newMessages", newMessages as Any), ("newEncryptedMessages", newEncryptedMessages as Any), ("otherUpdates", otherUpdates as Any), ("chats", chats as Any), ("users", users as Any), ("intermediateState", intermediateState as Any)])
|
|
case .differenceTooLong(let pts):
|
|
return ("differenceTooLong", [("pts", pts as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_difference(_ reader: BufferReader) -> Difference? {
|
|
var _1: [Api.Message]?
|
|
if let _ = reader.readInt32() {
|
|
_1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
|
}
|
|
var _2: [Api.EncryptedMessage]?
|
|
if let _ = reader.readInt32() {
|
|
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.EncryptedMessage.self)
|
|
}
|
|
var _3: [Api.Update]?
|
|
if let _ = reader.readInt32() {
|
|
_3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self)
|
|
}
|
|
var _4: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _5: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
var _6: Api.updates.State?
|
|
if let signature = reader.readInt32() {
|
|
_6 = Api.parse(reader, signature: signature) as? Api.updates.State
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 {
|
|
return Api.updates.Difference.difference(newMessages: _1!, newEncryptedMessages: _2!, otherUpdates: _3!, chats: _4!, users: _5!, state: _6!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_differenceEmpty(_ reader: BufferReader) -> Difference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
if _c1 && _c2 {
|
|
return Api.updates.Difference.differenceEmpty(date: _1!, seq: _2!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_differenceSlice(_ reader: BufferReader) -> Difference? {
|
|
var _1: [Api.Message]?
|
|
if let _ = reader.readInt32() {
|
|
_1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
|
}
|
|
var _2: [Api.EncryptedMessage]?
|
|
if let _ = reader.readInt32() {
|
|
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.EncryptedMessage.self)
|
|
}
|
|
var _3: [Api.Update]?
|
|
if let _ = reader.readInt32() {
|
|
_3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self)
|
|
}
|
|
var _4: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _5: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
var _6: Api.updates.State?
|
|
if let signature = reader.readInt32() {
|
|
_6 = Api.parse(reader, signature: signature) as? Api.updates.State
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 {
|
|
return Api.updates.Difference.differenceSlice(newMessages: _1!, newEncryptedMessages: _2!, otherUpdates: _3!, chats: _4!, users: _5!, intermediateState: _6!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_differenceTooLong(_ reader: BufferReader) -> Difference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.updates.Difference.differenceTooLong(pts: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.updates {
|
|
enum State: TypeConstructorDescription {
|
|
case state(pts: Int32, qts: Int32, date: Int32, seq: Int32, unreadCount: Int32)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .state(let pts, let qts, let date, let seq, let unreadCount):
|
|
if boxed {
|
|
buffer.appendInt32(-1519637954)
|
|
}
|
|
serializeInt32(pts, buffer: buffer, boxed: false)
|
|
serializeInt32(qts, buffer: buffer, boxed: false)
|
|
serializeInt32(date, buffer: buffer, boxed: false)
|
|
serializeInt32(seq, buffer: buffer, boxed: false)
|
|
serializeInt32(unreadCount, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .state(let pts, let qts, let date, let seq, let unreadCount):
|
|
return ("state", [("pts", pts as Any), ("qts", qts as Any), ("date", date as Any), ("seq", seq as Any), ("unreadCount", unreadCount as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_state(_ reader: BufferReader) -> State? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
var _3: Int32?
|
|
_3 = reader.readInt32()
|
|
var _4: Int32?
|
|
_4 = reader.readInt32()
|
|
var _5: Int32?
|
|
_5 = reader.readInt32()
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 {
|
|
return Api.updates.State.state(pts: _1!, qts: _2!, date: _3!, seq: _4!, unreadCount: _5!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.upload {
|
|
enum CdnFile: TypeConstructorDescription {
|
|
case cdnFile(bytes: Buffer)
|
|
case cdnFileReuploadNeeded(requestToken: Buffer)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .cdnFile(let bytes):
|
|
if boxed {
|
|
buffer.appendInt32(-1449145777)
|
|
}
|
|
serializeBytes(bytes, buffer: buffer, boxed: false)
|
|
break
|
|
case .cdnFileReuploadNeeded(let requestToken):
|
|
if boxed {
|
|
buffer.appendInt32(-290921362)
|
|
}
|
|
serializeBytes(requestToken, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .cdnFile(let bytes):
|
|
return ("cdnFile", [("bytes", bytes as Any)])
|
|
case .cdnFileReuploadNeeded(let requestToken):
|
|
return ("cdnFileReuploadNeeded", [("requestToken", requestToken as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_cdnFile(_ reader: BufferReader) -> CdnFile? {
|
|
var _1: Buffer?
|
|
_1 = parseBytes(reader)
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.upload.CdnFile.cdnFile(bytes: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_cdnFileReuploadNeeded(_ reader: BufferReader) -> CdnFile? {
|
|
var _1: Buffer?
|
|
_1 = parseBytes(reader)
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.upload.CdnFile.cdnFileReuploadNeeded(requestToken: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.upload {
|
|
enum File: TypeConstructorDescription {
|
|
case file(type: Api.storage.FileType, mtime: Int32, bytes: Buffer)
|
|
case fileCdnRedirect(dcId: Int32, fileToken: Buffer, encryptionKey: Buffer, encryptionIv: Buffer, fileHashes: [Api.FileHash])
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .file(let type, let mtime, let bytes):
|
|
if boxed {
|
|
buffer.appendInt32(157948117)
|
|
}
|
|
type.serialize(buffer, true)
|
|
serializeInt32(mtime, buffer: buffer, boxed: false)
|
|
serializeBytes(bytes, buffer: buffer, boxed: false)
|
|
break
|
|
case .fileCdnRedirect(let dcId, let fileToken, let encryptionKey, let encryptionIv, let fileHashes):
|
|
if boxed {
|
|
buffer.appendInt32(-242427324)
|
|
}
|
|
serializeInt32(dcId, buffer: buffer, boxed: false)
|
|
serializeBytes(fileToken, buffer: buffer, boxed: false)
|
|
serializeBytes(encryptionKey, buffer: buffer, boxed: false)
|
|
serializeBytes(encryptionIv, buffer: buffer, boxed: false)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(fileHashes.count))
|
|
for item in fileHashes {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .file(let type, let mtime, let bytes):
|
|
return ("file", [("type", type as Any), ("mtime", mtime as Any), ("bytes", bytes as Any)])
|
|
case .fileCdnRedirect(let dcId, let fileToken, let encryptionKey, let encryptionIv, let fileHashes):
|
|
return ("fileCdnRedirect", [("dcId", dcId as Any), ("fileToken", fileToken as Any), ("encryptionKey", encryptionKey as Any), ("encryptionIv", encryptionIv as Any), ("fileHashes", fileHashes as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_file(_ reader: BufferReader) -> File? {
|
|
var _1: Api.storage.FileType?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.storage.FileType
|
|
}
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
var _3: Buffer?
|
|
_3 = parseBytes(reader)
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
if _c1 && _c2 && _c3 {
|
|
return Api.upload.File.file(type: _1!, mtime: _2!, bytes: _3!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_fileCdnRedirect(_ reader: BufferReader) -> File? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Buffer?
|
|
_2 = parseBytes(reader)
|
|
var _3: Buffer?
|
|
_3 = parseBytes(reader)
|
|
var _4: Buffer?
|
|
_4 = parseBytes(reader)
|
|
var _5: [Api.FileHash]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.FileHash.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 {
|
|
return Api.upload.File.fileCdnRedirect(dcId: _1!, fileToken: _2!, encryptionKey: _3!, encryptionIv: _4!, fileHashes: _5!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.upload {
|
|
enum WebFile: TypeConstructorDescription {
|
|
case webFile(size: Int32, mimeType: String, fileType: Api.storage.FileType, mtime: Int32, bytes: Buffer)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .webFile(let size, let mimeType, let fileType, let mtime, let bytes):
|
|
if boxed {
|
|
buffer.appendInt32(568808380)
|
|
}
|
|
serializeInt32(size, buffer: buffer, boxed: false)
|
|
serializeString(mimeType, buffer: buffer, boxed: false)
|
|
fileType.serialize(buffer, true)
|
|
serializeInt32(mtime, buffer: buffer, boxed: false)
|
|
serializeBytes(bytes, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .webFile(let size, let mimeType, let fileType, let mtime, let bytes):
|
|
return ("webFile", [("size", size as Any), ("mimeType", mimeType as Any), ("fileType", fileType as Any), ("mtime", mtime as Any), ("bytes", bytes as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_webFile(_ reader: BufferReader) -> WebFile? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: String?
|
|
_2 = parseString(reader)
|
|
var _3: Api.storage.FileType?
|
|
if let signature = reader.readInt32() {
|
|
_3 = Api.parse(reader, signature: signature) as? Api.storage.FileType
|
|
}
|
|
var _4: Int32?
|
|
_4 = reader.readInt32()
|
|
var _5: Buffer?
|
|
_5 = parseBytes(reader)
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 {
|
|
return Api.upload.WebFile.webFile(size: _1!, mimeType: _2!, fileType: _3!, mtime: _4!, bytes: _5!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.users {
|
|
enum UserFull: TypeConstructorDescription {
|
|
case userFull(fullUser: Api.UserFull, chats: [Api.Chat], users: [Api.User])
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .userFull(let fullUser, let chats, let users):
|
|
if boxed {
|
|
buffer.appendInt32(997004590)
|
|
}
|
|
fullUser.serialize(buffer, true)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .userFull(let fullUser, let chats, let users):
|
|
return ("userFull", [("fullUser", fullUser as Any), ("chats", chats as Any), ("users", users as Any)])
|
|
}
|
|
}
|
|
|
|
public static func parse_userFull(_ reader: BufferReader) -> UserFull? {
|
|
var _1: Api.UserFull?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.UserFull
|
|
}
|
|
var _2: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _3: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
if _c1 && _c2 && _c3 {
|
|
return Api.users.UserFull.userFull(fullUser: _1!, chats: _2!, users: _3!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|