Adds a serialize helper function to native table (#6059)

* Adds a serialize helper function to native table
* Updated version
This commit is contained in:
mustiikhalil
2020-08-04 13:53:40 +03:00
committed by GitHub
parent c30a87de6f
commit 63cc0eec4e
7 changed files with 86 additions and 37 deletions

View File

@@ -81,12 +81,10 @@ class FlatBuffersMonsterWriterTests: XCTestCase {
func readMonster(fb: ByteBuffer) {
var monster = Monster.getRootAsMonster(bb: fb)
readFlatbufferMonster(monster: &monster)
var unpacked: MyGame_Example_MonsterT? = monster.unpack()
let unpacked: MyGame_Example_MonsterT? = monster.unpack()
readObjectApi(monster: unpacked!)
var builder = FlatBufferBuilder()
let root = Monster.pack(&builder, obj: &unpacked)
builder.finish(offset: root)
var newMonster = Monster.getRootAsMonster(bb: builder.sizedBuffer)
guard let buffer = unpacked?.serialize() else { fatalError("Couldnt generate bytebuffer") }
var newMonster = Monster.getRootAsMonster(bb: buffer)
readFlatbufferMonster(monster: &newMonster)
}

View File

@@ -334,7 +334,7 @@ extension MyGame_Example_Ability {
}
public struct MyGame_InParentNamespace: FlatBufferObject {
public struct MyGame_InParentNamespace: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -373,8 +373,10 @@ public class MyGame_InParentNamespaceT: NativeTable {
init() {
}
func serialize() -> ByteBuffer { return serialize(type: MyGame_InParentNamespace.self) }
}
public struct MyGame_Example2_Monster: FlatBufferObject {
public struct MyGame_Example2_Monster: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -413,8 +415,10 @@ public class MyGame_Example2_MonsterT: NativeTable {
init() {
}
func serialize() -> ByteBuffer { return serialize(type: MyGame_Example2_Monster.self) }
}
public struct MyGame_Example_TestSimpleTableWithEnum: FlatBufferObject {
public struct MyGame_Example_TestSimpleTableWithEnum: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -474,8 +478,10 @@ public class MyGame_Example_TestSimpleTableWithEnumT: NativeTable {
color = .green
}
func serialize() -> ByteBuffer { return serialize(type: MyGame_Example_TestSimpleTableWithEnum.self) }
}
public struct MyGame_Example_Stat: FlatBufferObject {
public struct MyGame_Example_Stat: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -561,8 +567,10 @@ public class MyGame_Example_StatT: NativeTable {
count = 0
}
func serialize() -> ByteBuffer { return serialize(type: MyGame_Example_Stat.self) }
}
public struct MyGame_Example_Referrable: FlatBufferObject {
public struct MyGame_Example_Referrable: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -646,9 +654,11 @@ public class MyGame_Example_ReferrableT: NativeTable {
id = 0
}
func serialize() -> ByteBuffer { return serialize(type: MyGame_Example_Referrable.self) }
}
/// an example documentation comment: "monster object"
public struct MyGame_Example_Monster: FlatBufferObject {
public struct MyGame_Example_Monster: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -1364,8 +1374,10 @@ public class MyGame_Example_MonsterT: NativeTable {
signedEnum = .none_
}
func serialize() -> ByteBuffer { return serialize(type: MyGame_Example_Monster.self) }
}
public struct MyGame_Example_TypeAliases: FlatBufferObject {
public struct MyGame_Example_TypeAliases: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -1547,4 +1559,6 @@ public class MyGame_Example_TypeAliasesT: NativeTable {
vf64 = []
}
func serialize() -> ByteBuffer { return serialize(type: MyGame_Example_TypeAliases.self) }
}

View File

@@ -145,7 +145,7 @@ extension BookReader {
}
public struct Attacker: FlatBufferObject {
public struct Attacker: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -205,8 +205,10 @@ public class AttackerT: NativeTable {
swordAttackDamage = 0
}
func serialize() -> ByteBuffer { return serialize(type: Attacker.self) }
}
public struct Movie: FlatBufferObject {
public struct Movie: FlatBufferObject, ObjectAPI {
static func validateVersion() { FlatBuffersVersion_1_12_0() }
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -329,4 +331,6 @@ public class MovieT: NativeTable {
characters = []
}
func serialize() -> ByteBuffer { return serialize(type: Movie.self) }
}