1 // automatically generated by the FlatBuffers compiler, do not modify
2 // swiftlint:disable all
3 // swiftformat:disable all
4 
5 @_implementationOnly import FlatBuffers
6 
7 internal struct Message: FlatBufferObject, Verifiable, ObjectAPIPacker {
8 
validateVersionnull9   static func validateVersion() { FlatBuffersVersion_2_0_0() }
10   internal var __buffer: ByteBuffer! { return _accessor.bb }
11   private var _accessor: Table
12 
getRootAsMessagenull13   internal static func getRootAsMessage(bb: ByteBuffer) -> Message { return Message(Table(bb: bb, position: Int32(bb.read(def: UOffset.self, position: bb.reader)) + Int32(bb.reader))) }
14 
15   private init(_ t: Table) { _accessor = t }
16   internal init(_ bb: ByteBuffer, o: Int32) { _accessor = Table(bb: bb, position: o) }
17 
18   private enum VTOFFSET: VOffset {
19     case internalMessage = 4
20     var v: Int32 { Int32(self.rawValue) }
21     var p: VOffset { self.rawValue }
22   }
23 
24   internal var internalMessage: String? { let o = _accessor.offset(VTOFFSET.internalMessage.v); return o == 0 ? nil : _accessor.string(at: o) }
25   internal var internalMessageSegmentArray: [UInt8]? { return _accessor.getVector(at: VTOFFSET.internalMessage.v) }
startMessagenull26   internal static func startMessage(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 1) }
addnull27   internal static func add(internalMessage: Offset, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: internalMessage, at: VTOFFSET.internalMessage.p) }
endMessagenull28   internal static func endMessage(_ fbb: inout FlatBufferBuilder, start: UOffset) -> Offset { let end = Offset(offset: fbb.endTable(at: start)); return end }
29   internal static func createMessage(
30     _ fbb: inout FlatBufferBuilder,
31     internalMessageOffset internalMessage: Offset = Offset()
32   ) -> Offset {
33     let __start = Message.startMessage(&fbb)
34     Message.add(internalMessage: internalMessage, &fbb)
35     return Message.endMessage(&fbb, start: __start)
36   }
37 
38 
unpacknull39   internal mutating func unpack() -> MessageT {
40     return MessageT(&self)
41   }
packnull42   internal static func pack(_ builder: inout FlatBufferBuilder, obj: inout MessageT?) -> Offset {
43     guard var obj = obj else { return Offset() }
44     return pack(&builder, obj: &obj)
45   }
46 
packnull47   internal static func pack(_ builder: inout FlatBufferBuilder, obj: inout MessageT) -> Offset {
48     let __internalMessage: Offset
49     if let s = obj.internalMessage {
50       __internalMessage = builder.create(string: s)
51     } else {
52       __internalMessage = Offset()
53     }
54 
55     let __root = Message.startMessage(&builder)
56     Message.add(internalMessage: __internalMessage, &builder)
57     return Message.endMessage(&builder, start: __root)
58   }
59 
verify<T>null60   internal static func verify<T>(_ verifier: inout Verifier, at position: Int, of type: T.Type) throws where T: Verifiable {
61     var _v = try verifier.visitTable(at: position)
62     try _v.visit(field: VTOFFSET.internalMessage.p, fieldName: "internalMessage", required: false, type: ForwardOffset<String>.self)
63     _v.finish()
64   }
65 }
66 
67 extension Message: Encodable {
68 
69   enum CodingKeys: String, CodingKey {
70     case internalMessage = "internal_message"
71   }
encodenull72   internal func encode(to encoder: Encoder) throws {
73     var container = encoder.container(keyedBy: CodingKeys.self)
74     try container.encodeIfPresent(internalMessage, forKey: .internalMessage)
75   }
76 }
77 
78 internal class MessageT: NativeObject {
79 
80   internal var internalMessage: String?
81 
82   internal init(_ _t: inout Message) {
83     internalMessage = _t.internalMessage
84   }
85 
86   internal init() {
87   }
88 
serializenull89   internal func serialize() -> ByteBuffer { return serialize(type: Message.self) }
90 
91 }
92