diff options
author | Kamil Rojewski <kamil.rojewski@gmail.com> | 2021-03-04 21:12:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-04 12:12:44 -0800 |
commit | 4033ff5892ed6a5e083811fa13c7f9094d46d5db (patch) | |
tree | 4882504f91d878ebf3eca2b68a8bcb5561f3298f /tests | |
parent | a08357251226eb58e3d0e71f6f5de78b2082a043 (diff) | |
download | flatbuffers-4033ff5892ed6a5e083811fa13c7f9094d46d5db.tar.gz flatbuffers-4033ff5892ed6a5e083811fa13c7f9094d46d5db.tar.bz2 flatbuffers-4033ff5892ed6a5e083811fa13c7f9094d46d5db.zip |
fixed invalid TS call and added test files (#6495)
e581013e3d42af13d2fe37b0ac46a3fd43f3638c broke TS generation - please don't use "replace" to refactor function names :)
Diffstat (limited to 'tests')
34 files changed, 4175 insertions, 4028 deletions
diff --git a/tests/monster_test_generated.ts b/tests/monster_test_generated.ts deleted file mode 100644 index 039c3c5e..00000000 --- a/tests/monster_test_generated.ts +++ /dev/null @@ -1,4007 +0,0 @@ -// automatically generated by the FlatBuffers compiler, do not modify - -/** - * Composite components of Monster color. - * - * @enum {number} - */ -export namespace MyGame.Example{ -export enum Color{ - Red= 1, - - /** - * \brief color Green - * Green is bit_flag with value (1u << 1) - */ - Green= 2, - - /** - * \brief color Blue (1u << 3) - */ - Blue= 8 -}; -} - -/** - * @enum {number} - */ -export namespace MyGame.Example{ -export enum Race{ - None= -1, - Human= 0, - Dwarf= 1, - Elf= 2 -}; -} - -/** - * @enum {number} - */ -export namespace MyGame.Example{ -export enum Any{ - NONE= 0, - Monster= 1, - TestSimpleTableWithEnum= 2, - MyGame_Example2_Monster= 3 -}; - -export function unionToAny( - type: Any, - accessor: (obj:MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster) => MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster|null -): MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster|null { - switch(MyGame.Example.Any[type]) { - case 'NONE': return null; - case 'Monster': return accessor(new MyGame.Example.Monster())! as MyGame.Example.Monster; - case 'TestSimpleTableWithEnum': return accessor(new MyGame.Example.TestSimpleTableWithEnum())! as MyGame.Example.TestSimpleTableWithEnum; - case 'MyGame_Example2_Monster': return accessor(new MyGame.Example2.Monster())! as MyGame.Example2.Monster; - default: return null; - } -} - -export function unionListToAny( - type: Any, - accessor: (index: number, obj:MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster) => MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster|null, - index: number -): MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster|null { - switch(MyGame.Example.Any[type]) { - case 'NONE': return null; - case 'Monster': return accessor(index, new MyGame.Example.Monster())! as MyGame.Example.Monster; - case 'TestSimpleTableWithEnum': return accessor(index, new MyGame.Example.TestSimpleTableWithEnum())! as MyGame.Example.TestSimpleTableWithEnum; - case 'MyGame_Example2_Monster': return accessor(index, new MyGame.Example2.Monster())! as MyGame.Example2.Monster; - default: return null; - } -} -} - -/** - * @enum {number} - */ -export namespace MyGame.Example{ -export enum AnyUniqueAliases{ - NONE= 0, - M= 1, - TS= 2, - M2= 3 -}; - -export function unionToAnyUniqueAliases( - type: AnyUniqueAliases, - accessor: (obj:MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster) => MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster|null -): MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster|null { - switch(MyGame.Example.AnyUniqueAliases[type]) { - case 'NONE': return null; - case 'M': return accessor(new MyGame.Example.Monster())! as MyGame.Example.Monster; - case 'TS': return accessor(new MyGame.Example.TestSimpleTableWithEnum())! as MyGame.Example.TestSimpleTableWithEnum; - case 'M2': return accessor(new MyGame.Example2.Monster())! as MyGame.Example2.Monster; - default: return null; - } -} - -export function unionListToAnyUniqueAliases( - type: AnyUniqueAliases, - accessor: (index: number, obj:MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster) => MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster|null, - index: number -): MyGame.Example.Monster|MyGame.Example.TestSimpleTableWithEnum|MyGame.Example2.Monster|null { - switch(MyGame.Example.AnyUniqueAliases[type]) { - case 'NONE': return null; - case 'M': return accessor(index, new MyGame.Example.Monster())! as MyGame.Example.Monster; - case 'TS': return accessor(index, new MyGame.Example.TestSimpleTableWithEnum())! as MyGame.Example.TestSimpleTableWithEnum; - case 'M2': return accessor(index, new MyGame.Example2.Monster())! as MyGame.Example2.Monster; - default: return null; - } -} -} - -/** - * @enum {number} - */ -export namespace MyGame.Example{ -export enum AnyAmbiguousAliases{ - NONE= 0, - M1= 1, - M2= 2, - M3= 3 -}; - -export function unionToAnyAmbiguousAliases( - type: AnyAmbiguousAliases, - accessor: (obj:MyGame.Example.Monster) => MyGame.Example.Monster|null -): MyGame.Example.Monster|null { - switch(MyGame.Example.AnyAmbiguousAliases[type]) { - case 'NONE': return null; - case 'M1': return accessor(new MyGame.Example.Monster())! as MyGame.Example.Monster; - case 'M2': return accessor(new MyGame.Example.Monster())! as MyGame.Example.Monster; - case 'M3': return accessor(new MyGame.Example.Monster())! as MyGame.Example.Monster; - default: return null; - } -} - -export function unionListToAnyAmbiguousAliases( - type: AnyAmbiguousAliases, - accessor: (index: number, obj:MyGame.Example.Monster) => MyGame.Example.Monster|null, - index: number -): MyGame.Example.Monster|null { - switch(MyGame.Example.AnyAmbiguousAliases[type]) { - case 'NONE': return null; - case 'M1': return accessor(index, new MyGame.Example.Monster())! as MyGame.Example.Monster; - case 'M2': return accessor(index, new MyGame.Example.Monster())! as MyGame.Example.Monster; - case 'M3': return accessor(index, new MyGame.Example.Monster())! as MyGame.Example.Monster; - default: return null; - } -} -} - -/** - * @constructor - */ -export namespace MyGame{ -export class InParentNamespace { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns InParentNamespace - */ -__init(i:number, bb:flatbuffers.ByteBuffer):InParentNamespace { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param InParentNamespace= obj - * @returns InParentNamespace - */ -static getRootAsInParentNamespace(bb:flatbuffers.ByteBuffer, obj?:InParentNamespace):InParentNamespace { - return (obj || new InParentNamespace()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param InParentNamespace= obj - * @returns InParentNamespace - */ -static getSizePrefixedRootAsInParentNamespace(bb:flatbuffers.ByteBuffer, obj?:InParentNamespace):InParentNamespace { - bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); - return (obj || new InParentNamespace()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.Builder builder - */ -static startInParentNamespace(builder:flatbuffers.Builder) { - builder.startObject(0); -}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -static endInParentNamespace(builder:flatbuffers.Builder):flatbuffers.Offset { - var offset = builder.endObject(); - return offset; -}; - -static createInParentNamespace(builder:flatbuffers.Builder):flatbuffers.Offset { - InParentNamespace.startInParentNamespace(builder); - return InParentNamespace.endInParentNamespace(builder); -} - -serialize():Uint8Array { - return this.bb!.bytes(); -} - -static deserialize(buffer: Uint8Array):InParentNamespace { - return InParentNamespace.getRootAsInParentNamespace(new flatbuffers.ByteBuffer(buffer)) -} - -/** - * @returns InParentNamespaceT - */ -unpack(): InParentNamespaceT { - return new InParentNamespaceT(); -}; - -/** - * @param InParentNamespaceT _o - */ -unpackTo(_o: InParentNamespaceT): void {}; -} - -export class InParentNamespaceT { -/** - * @constructor - */ -constructor(){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - return MyGame.InParentNamespace.createInParentNamespace(builder); -}; -} -} -/** - * @constructor - */ -export namespace MyGame.Example2{ -export class Monster { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns Monster - */ -__init(i:number, bb:flatbuffers.ByteBuffer):Monster { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param Monster= obj - * @returns Monster - */ -static getRootAsMonster(bb:flatbuffers.ByteBuffer, obj?:Monster):Monster { - return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param Monster= obj - * @returns Monster - */ -static getSizePrefixedRootAsMonster(bb:flatbuffers.ByteBuffer, obj?:Monster):Monster { - bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); - return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.Builder builder - */ -static startMonster(builder:flatbuffers.Builder) { - builder.startObject(0); -}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -static endMonster(builder:flatbuffers.Builder):flatbuffers.Offset { - var offset = builder.endObject(); - return offset; -}; - -static createMonster(builder:flatbuffers.Builder):flatbuffers.Offset { - Monster.startMonster(builder); - return Monster.endMonster(builder); -} - -serialize():Uint8Array { - return this.bb!.bytes(); -} - -static deserialize(buffer: Uint8Array):Monster { - return Monster.getRootAsMonster(new flatbuffers.ByteBuffer(buffer)) -} - -/** - * @returns MonsterT - */ -unpack(): MonsterT { - return new MonsterT(); -}; - -/** - * @param MonsterT _o - */ -unpackTo(_o: MonsterT): void {}; -} - -export class MonsterT { -/** - * @constructor - */ -constructor(){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - return MyGame.Example2.Monster.createMonster(builder); -}; -} -} -/** - * @constructor - */ -export namespace MyGame.Example{ -export class Test { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns Test - */ -__init(i:number, bb:flatbuffers.ByteBuffer):Test { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @returns number - */ -a():number { - return this.bb!.readInt16(this.bb_pos); -}; - -/** - * @param number value - * @returns boolean - */ -mutate_a(value:number):boolean { - this.bb!.writeInt16(this.bb_pos + 0, value); - return true; -}; - -/** - * @returns number - */ -b():number { - return this.bb!.readInt8(this.bb_pos + 2); -}; - -/** - * @param number value - * @returns boolean - */ -mutate_b(value:number):boolean { - this.bb!.writeInt8(this.bb_pos + 2, value); - return true; -}; - -/** - * @returns number - */ -static sizeOf():number { - return 4; -} - -/** - * @param flatbuffers.Builder builder - * @param number a - * @param number b - * @returns flatbuffers.Offset - */ -static createTest(builder:flatbuffers.Builder, a: number, b: number):flatbuffers.Offset { - builder.prep(2, 4); - builder.pad(1); - builder.writeInt8(b); - builder.writeInt16(a); - return builder.offset(); -}; - - -/** - * @returns TestT - */ -unpack(): TestT { - return new TestT( - this.a(), - this.b() - ); -}; - -/** - * @param TestT _o - */ -unpackTo(_o: TestT): void { - _o.a = this.a(); - _o.b = this.b(); -}; -} - -export class TestT { -/** - * @constructor - * @param number a - * @param number b - */ -constructor( - public a: number = 0, - public b: number = 0 -){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - return MyGame.Example.Test.createTest(builder, - this.a, - this.b - ); -}; -} -} -/** - * @constructor - */ -export namespace MyGame.Example{ -export class TestSimpleTableWithEnum { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns TestSimpleTableWithEnum - */ -__init(i:number, bb:flatbuffers.ByteBuffer):TestSimpleTableWithEnum { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param TestSimpleTableWithEnum= obj - * @returns TestSimpleTableWithEnum - */ -static getRootAsTestSimpleTableWithEnum(bb:flatbuffers.ByteBuffer, obj?:TestSimpleTableWithEnum):TestSimpleTableWithEnum { - return (obj || new TestSimpleTableWithEnum()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param TestSimpleTableWithEnum= obj - * @returns TestSimpleTableWithEnum - */ -static getSizePrefixedRootAsTestSimpleTableWithEnum(bb:flatbuffers.ByteBuffer, obj?:TestSimpleTableWithEnum):TestSimpleTableWithEnum { - bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); - return (obj || new TestSimpleTableWithEnum()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @returns MyGame.Example.Color - */ -color():MyGame.Example.Color { - var offset = this.bb!.__offset(this.bb_pos, 4); - return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : MyGame.Example.Color.Green; -}; - -/** - * @param MyGame.Example.Color value - * @returns boolean - */ -mutate_color(value:MyGame.Example.Color):boolean { - var offset = this.bb!.__offset(this.bb_pos, 4); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint8(this.bb_pos + offset, value); - return true; -}; - -/** - * @param flatbuffers.Builder builder - */ -static startTestSimpleTableWithEnum(builder:flatbuffers.Builder) { - builder.startObject(1); -}; - -/** - * @param flatbuffers.Builder builder - * @param MyGame.Example.Color color - */ -static addColor(builder:flatbuffers.Builder, color:MyGame.Example.Color) { - builder.addFieldInt8(0, color, MyGame.Example.Color.Green); -}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -static endTestSimpleTableWithEnum(builder:flatbuffers.Builder):flatbuffers.Offset { - var offset = builder.endObject(); - return offset; -}; - -static createTestSimpleTableWithEnum(builder:flatbuffers.Builder, color:MyGame.Example.Color):flatbuffers.Offset { - TestSimpleTableWithEnum.startTestSimpleTableWithEnum(builder); - TestSimpleTableWithEnum.addColor(builder, color); - return TestSimpleTableWithEnum.endTestSimpleTableWithEnum(builder); -} - -serialize():Uint8Array { - return this.bb!.bytes(); -} - -static deserialize(buffer: Uint8Array):TestSimpleTableWithEnum { - return TestSimpleTableWithEnum.getRootAsTestSimpleTableWithEnum(new flatbuffers.ByteBuffer(buffer)) -} - -/** - * @returns TestSimpleTableWithEnumT - */ -unpack(): TestSimpleTableWithEnumT { - return new TestSimpleTableWithEnumT( - this.color() - ); -}; - -/** - * @param TestSimpleTableWithEnumT _o - */ -unpackTo(_o: TestSimpleTableWithEnumT): void { - _o.color = this.color(); -}; -} - -export class TestSimpleTableWithEnumT { -/** - * @constructor - * @param MyGame.Example.Color color - */ -constructor( - public color: MyGame.Example.Color = MyGame.Example.Color.Green -){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - return MyGame.Example.TestSimpleTableWithEnum.createTestSimpleTableWithEnum(builder, - this.color - ); -}; -} -} -/** - * @constructor - */ -export namespace MyGame.Example{ -export class Vec3 { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns Vec3 - */ -__init(i:number, bb:flatbuffers.ByteBuffer):Vec3 { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @returns number - */ -x():number { - return this.bb!.readFloat32(this.bb_pos); -}; - -/** - * @param number value - * @returns boolean - */ -mutate_x(value:number):boolean { - this.bb!.writeFloat32(this.bb_pos + 0, value); - return true; -}; - -/** - * @returns number - */ -y():number { - return this.bb!.readFloat32(this.bb_pos + 4); -}; - -/** - * @param number value - * @returns boolean - */ -mutate_y(value:number):boolean { - this.bb!.writeFloat32(this.bb_pos + 4, value); - return true; -}; - -/** - * @returns number - */ -z():number { - return this.bb!.readFloat32(this.bb_pos + 8); -}; - -/** - * @param number value - * @returns boolean - */ -mutate_z(value:number):boolean { - this.bb!.writeFloat32(this.bb_pos + 8, value); - return true; -}; - -/** - * @returns number - */ -test1():number { - return this.bb!.readFloat64(this.bb_pos + 16); -}; - -/** - * @param number value - * @returns boolean - */ -mutate_test1(value:number):boolean { - this.bb!.writeFloat64(this.bb_pos + 16, value); - return true; -}; - -/** - * @returns MyGame.Example.Color - */ -test2():MyGame.Example.Color { - return /** */ (this.bb!.readUint8(this.bb_pos + 24)); -}; - -/** - * @param MyGame.Example.Color value - * @returns boolean - */ -mutate_test2(value:MyGame.Example.Color):boolean { - this.bb!.writeUint8(this.bb_pos + 24, value); - return true; -}; - -/** - * @param MyGame.Example.Test= obj - * @returns MyGame.Example.Test|null - */ -test3(obj?:MyGame.Example.Test):MyGame.Example.Test|null { - return (obj || new MyGame.Example.Test()).__init(this.bb_pos + 26, this.bb!); -}; - -/** - * @returns number - */ -static sizeOf():number { - return 32; -} - -/** - * @param flatbuffers.Builder builder - * @param number x - * @param number y - * @param number z - * @param number test1 - * @param MyGame.Example.Color test2 - * @param number test3_a - * @param number test3_b - * @returns flatbuffers.Offset - */ -static createVec3(builder:flatbuffers.Builder, x: number, y: number, z: number, test1: number, test2: MyGame.Example.Color, test3_a: number, test3_b: number):flatbuffers.Offset { - builder.prep(8, 32); - builder.pad(2); - builder.prep(2, 4); - builder.pad(1); - builder.writeInt8(test3_b); - builder.writeInt16(test3_a); - builder.pad(1); - builder.writeInt8(test2); - builder.writeFloat64(test1); - builder.pad(4); - builder.writeFloat32(z); - builder.writeFloat32(y); - builder.writeFloat32(x); - return builder.offset(); -}; - - -/** - * @returns Vec3T - */ -unpack(): Vec3T { - return new Vec3T( - this.x(), - this.y(), - this.z(), - this.test1(), - this.test2(), - (this.test3() !== null ? this.test3()!.unpack() : null) - ); -}; - -/** - * @param Vec3T _o - */ -unpackTo(_o: Vec3T): void { - _o.x = this.x(); - _o.y = this.y(); - _o.z = this.z(); - _o.test1 = this.test1(); - _o.test2 = this.test2(); - _o.test3 = (this.test3() !== null ? this.test3()!.unpack() : null); -}; -} - -export class Vec3T { -/** - * @constructor - * @param number x - * @param number y - * @param number z - * @param number test1 - * @param MyGame.Example.Color test2 - * @param MyGame.Example.TestT|null test3 - */ -constructor( - public x: number = 0.0, - public y: number = 0.0, - public z: number = 0.0, - public test1: number = 0.0, - public test2: MyGame.Example.Color = /** } */ (0), - public test3: MyGame.Example.TestT|null = null -){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - return MyGame.Example.Vec3.createVec3(builder, - this.x, - this.y, - this.z, - this.test1, - this.test2, - (this.test3 === null ? 0 : this.test3.a!), - (this.test3 === null ? 0 : this.test3.b!) - ); -}; -} -} -/** - * @constructor - */ -export namespace MyGame.Example{ -export class Ability { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns Ability - */ -__init(i:number, bb:flatbuffers.ByteBuffer):Ability { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @returns number - */ -id():number { - return this.bb!.readUint32(this.bb_pos); -}; - -/** - * @param number value - * @returns boolean - */ -mutate_id(value:number):boolean { - this.bb!.writeUint32(this.bb_pos + 0, value); - return true; -}; - -/** - * @returns number - */ -distance():number { - return this.bb!.readUint32(this.bb_pos + 4); -}; - -/** - * @param number value - * @returns boolean - */ -mutate_distance(value:number):boolean { - this.bb!.writeUint32(this.bb_pos + 4, value); - return true; -}; - -/** - * @returns number - */ -static sizeOf():number { - return 8; -} - -/** - * @param flatbuffers.Builder builder - * @param number id - * @param number distance - * @returns flatbuffers.Offset - */ -static createAbility(builder:flatbuffers.Builder, id: number, distance: number):flatbuffers.Offset { - builder.prep(4, 8); - builder.writeInt32(distance); - builder.writeInt32(id); - return builder.offset(); -}; - - -/** - * @returns AbilityT - */ -unpack(): AbilityT { - return new AbilityT( - this.id(), - this.distance() - ); -}; - -/** - * @param AbilityT _o - */ -unpackTo(_o: AbilityT): void { - _o.id = this.id(); - _o.distance = this.distance(); -}; -} - -export class AbilityT { -/** - * @constructor - * @param number id - * @param number distance - */ -constructor( - public id: number = 0, - public distance: number = 0 -){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - return MyGame.Example.Ability.createAbility(builder, - this.id, - this.distance - ); -}; -} -} -/** - * @constructor - */ -export namespace MyGame.Example{ -export class Stat { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns Stat - */ -__init(i:number, bb:flatbuffers.ByteBuffer):Stat { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param Stat= obj - * @returns Stat - */ -static getRootAsStat(bb:flatbuffers.ByteBuffer, obj?:Stat):Stat { - return (obj || new Stat()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param Stat= obj - * @returns Stat - */ -static getSizePrefixedRootAsStat(bb:flatbuffers.ByteBuffer, obj?:Stat):Stat { - bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); - return (obj || new Stat()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.Encoding= optionalEncoding - * @returns string|Uint8Array|null - */ -id():string|null -id(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null -id(optionalEncoding?:any):string|Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 4); - return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null; -}; - -/** - * @returns flatbuffers.Long - */ -val():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 6); - return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_val(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 6); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt64(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -count():number { - var offset = this.bb!.__offset(this.bb_pos, 8); - return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_count(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 8); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint16(this.bb_pos + offset, value); - return true; -}; - -/** - * @param flatbuffers.Builder builder - */ -static startStat(builder:flatbuffers.Builder) { - builder.startObject(3); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset idOffset - */ -static addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) { - builder.addFieldOffset(0, idOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long val - */ -static addVal(builder:flatbuffers.Builder, val:flatbuffers.Long) { - builder.addFieldInt64(1, val, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param number count - */ -static addCount(builder:flatbuffers.Builder, count:number) { - builder.addFieldInt16(2, count, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -static endStat(builder:flatbuffers.Builder):flatbuffers.Offset { - var offset = builder.endObject(); - return offset; -}; - -static createStat(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset, val:flatbuffers.Long, count:number):flatbuffers.Offset { - Stat.startStat(builder); - Stat.addId(builder, idOffset); - Stat.addVal(builder, val); - Stat.addCount(builder, count); - return Stat.endStat(builder); -} - -serialize():Uint8Array { - return this.bb!.bytes(); -} - -static deserialize(buffer: Uint8Array):Stat { - return Stat.getRootAsStat(new flatbuffers.ByteBuffer(buffer)) -} - -/** - * @returns StatT - */ -unpack(): StatT { - return new StatT( - this.id(), - this.val(), - this.count() - ); -}; - -/** - * @param StatT _o - */ -unpackTo(_o: StatT): void { - _o.id = this.id(); - _o.val = this.val(); - _o.count = this.count(); -}; -} - -export class StatT { -/** - * @constructor - * @param string|Uint8Array|null id - * @param flatbuffers.Long val - * @param number count - */ -constructor( - public id: string|Uint8Array|null = null, - public val: flatbuffers.Long = flatbuffers.createLong(0, 0), - public count: number = 0 -){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - const id = (this.id !== null ? builder.createString(this.id!) : 0); - - return MyGame.Example.Stat.createStat(builder, - id, - this.val, - this.count - ); -}; -} -} -/** - * @constructor - */ -export namespace MyGame.Example{ -export class Referrable { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns Referrable - */ -__init(i:number, bb:flatbuffers.ByteBuffer):Referrable { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param Referrable= obj - * @returns Referrable - */ -static getRootAsReferrable(bb:flatbuffers.ByteBuffer, obj?:Referrable):Referrable { - return (obj || new Referrable()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param Referrable= obj - * @returns Referrable - */ -static getSizePrefixedRootAsReferrable(bb:flatbuffers.ByteBuffer, obj?:Referrable):Referrable { - bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); - return (obj || new Referrable()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @returns flatbuffers.Long - */ -id():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 4); - return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_id(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 4); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint64(this.bb_pos + offset, value); - return true; -}; - -/** - * @param flatbuffers.Builder builder - */ -static startReferrable(builder:flatbuffers.Builder) { - builder.startObject(1); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long id - */ -static addId(builder:flatbuffers.Builder, id:flatbuffers.Long) { - builder.addFieldInt64(0, id, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -static endReferrable(builder:flatbuffers.Builder):flatbuffers.Offset { - var offset = builder.endObject(); - return offset; -}; - -static createReferrable(builder:flatbuffers.Builder, id:flatbuffers.Long):flatbuffers.Offset { - Referrable.startReferrable(builder); - Referrable.addId(builder, id); - return Referrable.endReferrable(builder); -} - -serialize():Uint8Array { - return this.bb!.bytes(); -} - -static deserialize(buffer: Uint8Array):Referrable { - return Referrable.getRootAsReferrable(new flatbuffers.ByteBuffer(buffer)) -} - -/** - * @returns ReferrableT - */ -unpack(): ReferrableT { - return new ReferrableT( - this.id() - ); -}; - -/** - * @param ReferrableT _o - */ -unpackTo(_o: ReferrableT): void { - _o.id = this.id(); -}; -} - -export class ReferrableT { -/** - * @constructor - * @param flatbuffers.Long id - */ -constructor( - public id: flatbuffers.Long = flatbuffers.createLong(0, 0) -){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - return MyGame.Example.Referrable.createReferrable(builder, - this.id - ); -}; -} -} -/** - * an example documentation comment: "monster object" - * - * @constructor - */ -export namespace MyGame.Example{ -export class Monster { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns Monster - */ -__init(i:number, bb:flatbuffers.ByteBuffer):Monster { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param Monster= obj - * @returns Monster - */ -static getRootAsMonster(bb:flatbuffers.ByteBuffer, obj?:Monster):Monster { - return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param Monster= obj - * @returns Monster - */ -static getSizePrefixedRootAsMonster(bb:flatbuffers.ByteBuffer, obj?:Monster):Monster { - bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); - return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @returns boolean - */ -static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean { - return bb.__has_identifier('MONS'); -}; - -/** - * @param MyGame.Example.Vec3= obj - * @returns MyGame.Example.Vec3|null - */ -pos(obj?:MyGame.Example.Vec3):MyGame.Example.Vec3|null { - var offset = this.bb!.__offset(this.bb_pos, 4); - return offset ? (obj || new MyGame.Example.Vec3()).__init(this.bb_pos + offset, this.bb!) : null; -}; - -/** - * @returns number - */ -mana():number { - var offset = this.bb!.__offset(this.bb_pos, 6); - return offset ? this.bb!.readInt16(this.bb_pos + offset) : 150; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_mana(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 6); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt16(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -hp():number { - var offset = this.bb!.__offset(this.bb_pos, 8); - return offset ? this.bb!.readInt16(this.bb_pos + offset) : 100; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_hp(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 8); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt16(this.bb_pos + offset, value); - return true; -}; - -/** - * @param flatbuffers.Encoding= optionalEncoding - * @returns string|Uint8Array|null - */ -name():string|null -name(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null -name(optionalEncoding?:any):string|Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 10); - return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null; -}; - -/** - * @param number index - * @returns number - */ -inventory(index: number):number|null { - var offset = this.bb!.__offset(this.bb_pos, 14); - return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; -}; - -/** - * @returns number - */ -inventoryLength():number { - var offset = this.bb!.__offset(this.bb_pos, 14); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Uint8Array - */ -inventoryArray():Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 14); - return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @returns MyGame.Example.Color - */ -color():MyGame.Example.Color { - var offset = this.bb!.__offset(this.bb_pos, 16); - return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : MyGame.Example.Color.Blue; -}; - -/** - * @param MyGame.Example.Color value - * @returns boolean - */ -mutate_color(value:MyGame.Example.Color):boolean { - var offset = this.bb!.__offset(this.bb_pos, 16); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint8(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns MyGame.Example.Any - */ -testType():MyGame.Example.Any { - var offset = this.bb!.__offset(this.bb_pos, 18); - return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : MyGame.Example.Any.NONE; -}; - -/** - * @param flatbuffers.Table obj - * @returns ?flatbuffers.Table - */ -test<T extends flatbuffers.Table>(obj:T):T|null { - var offset = this.bb!.__offset(this.bb_pos, 20); - return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null; -}; - -/** - * @param number index - * @param MyGame.Example.Test= obj - * @returns MyGame.Example.Test - */ -test4(index: number, obj?:MyGame.Example.Test):MyGame.Example.Test|null { - var offset = this.bb!.__offset(this.bb_pos, 22); - return offset ? (obj || new MyGame.Example.Test()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 4, this.bb!) : null; -}; - -/** - * @returns number - */ -test4Length():number { - var offset = this.bb!.__offset(this.bb_pos, 22); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @param number index - * @param flatbuffers.Encoding= optionalEncoding - * @returns string|Uint8Array - */ -testarrayofstring(index: number):string -testarrayofstring(index: number,optionalEncoding:flatbuffers.Encoding):string|Uint8Array -testarrayofstring(index: number,optionalEncoding?:any):string|Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 24); - return offset ? this.bb!.__string(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null; -}; - -/** - * @returns number - */ -testarrayofstringLength():number { - var offset = this.bb!.__offset(this.bb_pos, 24); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * an example documentation comment: this will end up in the generated code - * multiline too - * - * @param number index - * @param MyGame.Example.Monster= obj - * @returns MyGame.Example.Monster - */ -testarrayoftables(index: number, obj?:MyGame.Example.Monster):MyGame.Example.Monster|null { - var offset = this.bb!.__offset(this.bb_pos, 26); - return offset ? (obj || new MyGame.Example.Monster()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; -}; - -/** - * @returns number - */ -testarrayoftablesLength():number { - var offset = this.bb!.__offset(this.bb_pos, 26); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @param MyGame.Example.Monster= obj - * @returns MyGame.Example.Monster|null - */ -enemy(obj?:MyGame.Example.Monster):MyGame.Example.Monster|null { - var offset = this.bb!.__offset(this.bb_pos, 28); - return offset ? (obj || new MyGame.Example.Monster()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; -}; - -/** - * @param number index - * @returns number - */ -testnestedflatbuffer(index: number):number|null { - var offset = this.bb!.__offset(this.bb_pos, 30); - return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; -}; - -/** - * @returns number - */ -testnestedflatbufferLength():number { - var offset = this.bb!.__offset(this.bb_pos, 30); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Uint8Array - */ -testnestedflatbufferArray():Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 30); - return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @param MyGame.Example.Stat= obj - * @returns MyGame.Example.Stat|null - */ -testempty(obj?:MyGame.Example.Stat):MyGame.Example.Stat|null { - var offset = this.bb!.__offset(this.bb_pos, 32); - return offset ? (obj || new MyGame.Example.Stat()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; -}; - -/** - * @returns boolean - */ -testbool():boolean { - var offset = this.bb!.__offset(this.bb_pos, 34); - return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; -}; - -/** - * @param boolean value - * @returns boolean - */ -mutate_testbool(value:boolean):boolean { - var offset = this.bb!.__offset(this.bb_pos, 34); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt8(this.bb_pos + offset, +value); - return true; -}; - -/** - * @returns number - */ -testhashs32Fnv1():number { - var offset = this.bb!.__offset(this.bb_pos, 36); - return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_testhashs32_fnv1(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 36); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -testhashu32Fnv1():number { - var offset = this.bb!.__offset(this.bb_pos, 38); - return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_testhashu32_fnv1(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 38); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns flatbuffers.Long - */ -testhashs64Fnv1():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 40); - return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_testhashs64_fnv1(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 40); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt64(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns flatbuffers.Long - */ -testhashu64Fnv1():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 42); - return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_testhashu64_fnv1(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 42); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint64(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -testhashs32Fnv1a():number { - var offset = this.bb!.__offset(this.bb_pos, 44); - return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_testhashs32_fnv1a(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 44); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -testhashu32Fnv1a():number { - var offset = this.bb!.__offset(this.bb_pos, 46); - return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_testhashu32_fnv1a(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 46); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns flatbuffers.Long - */ -testhashs64Fnv1a():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 48); - return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_testhashs64_fnv1a(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 48); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt64(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns flatbuffers.Long - */ -testhashu64Fnv1a():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 50); - return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_testhashu64_fnv1a(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 50); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint64(this.bb_pos + offset, value); - return true; -}; - -/** - * @param number index - * @returns boolean - */ -testarrayofbools(index: number):boolean|null { - var offset = this.bb!.__offset(this.bb_pos, 52); - return offset ? !!this.bb!.readInt8(this.bb!.__vector(this.bb_pos + offset) + index) : false; -}; - -/** - * @returns number - */ -testarrayofboolsLength():number { - var offset = this.bb!.__offset(this.bb_pos, 52); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Int8Array - */ -testarrayofboolsArray():Int8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 52); - return offset ? new Int8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @returns number - */ -testf():number { - var offset = this.bb!.__offset(this.bb_pos, 54); - return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 3.14159; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_testf(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 54); - - if (offset === 0) { - return false; - } - - this.bb!.writeFloat32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -testf2():number { - var offset = this.bb!.__offset(this.bb_pos, 56); - return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 3.0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_testf2(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 56); - - if (offset === 0) { - return false; - } - - this.bb!.writeFloat32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -testf3():number { - var offset = this.bb!.__offset(this.bb_pos, 58); - return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 0.0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_testf3(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 58); - - if (offset === 0) { - return false; - } - - this.bb!.writeFloat32(this.bb_pos + offset, value); - return true; -}; - -/** - * @param number index - * @param flatbuffers.Encoding= optionalEncoding - * @returns string|Uint8Array - */ -testarrayofstring2(index: number):string -testarrayofstring2(index: number,optionalEncoding:flatbuffers.Encoding):string|Uint8Array -testarrayofstring2(index: number,optionalEncoding?:any):string|Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 60); - return offset ? this.bb!.__string(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null; -}; - -/** - * @returns number - */ -testarrayofstring2Length():number { - var offset = this.bb!.__offset(this.bb_pos, 60); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @param number index - * @param MyGame.Example.Ability= obj - * @returns MyGame.Example.Ability - */ -testarrayofsortedstruct(index: number, obj?:MyGame.Example.Ability):MyGame.Example.Ability|null { - var offset = this.bb!.__offset(this.bb_pos, 62); - return offset ? (obj || new MyGame.Example.Ability()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 8, this.bb!) : null; -}; - -/** - * @returns number - */ -testarrayofsortedstructLength():number { - var offset = this.bb!.__offset(this.bb_pos, 62); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @param number index - * @returns number - */ -flex(index: number):number|null { - var offset = this.bb!.__offset(this.bb_pos, 64); - return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; -}; - -/** - * @returns number - */ -flexLength():number { - var offset = this.bb!.__offset(this.bb_pos, 64); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Uint8Array - */ -flexArray():Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 64); - return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @param number index - * @param MyGame.Example.Test= obj - * @returns MyGame.Example.Test - */ -test5(index: number, obj?:MyGame.Example.Test):MyGame.Example.Test|null { - var offset = this.bb!.__offset(this.bb_pos, 66); - return offset ? (obj || new MyGame.Example.Test()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 4, this.bb!) : null; -}; - -/** - * @returns number - */ -test5Length():number { - var offset = this.bb!.__offset(this.bb_pos, 66); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @param number index - * @returns flatbuffers.Long - */ -vectorOfLongs(index: number):flatbuffers.Long|null { - var offset = this.bb!.__offset(this.bb_pos, 68); - return offset ? this.bb!.readInt64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0); -}; - -/** - * @returns number - */ -vectorOfLongsLength():number { - var offset = this.bb!.__offset(this.bb_pos, 68); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @param number index - * @returns number - */ -vectorOfDoubles(index: number):number|null { - var offset = this.bb!.__offset(this.bb_pos, 70); - return offset ? this.bb!.readFloat64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : 0; -}; - -/** - * @returns number - */ -vectorOfDoublesLength():number { - var offset = this.bb!.__offset(this.bb_pos, 70); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Float64Array - */ -vectorOfDoublesArray():Float64Array|null { - var offset = this.bb!.__offset(this.bb_pos, 70); - return offset ? new Float64Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @param MyGame.InParentNamespace= obj - * @returns MyGame.InParentNamespace|null - */ -parentNamespaceTest(obj?:MyGame.InParentNamespace):MyGame.InParentNamespace|null { - var offset = this.bb!.__offset(this.bb_pos, 72); - return offset ? (obj || new MyGame.InParentNamespace()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; -}; - -/** - * @param number index - * @param MyGame.Example.Referrable= obj - * @returns MyGame.Example.Referrable - */ -vectorOfReferrables(index: number, obj?:MyGame.Example.Referrable):MyGame.Example.Referrable|null { - var offset = this.bb!.__offset(this.bb_pos, 74); - return offset ? (obj || new MyGame.Example.Referrable()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; -}; - -/** - * @returns number - */ -vectorOfReferrablesLength():number { - var offset = this.bb!.__offset(this.bb_pos, 74); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns flatbuffers.Long - */ -singleWeakReference():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 76); - return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_single_weak_reference(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 76); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint64(this.bb_pos + offset, value); - return true; -}; - -/** - * @param number index - * @returns flatbuffers.Long - */ -vectorOfWeakReferences(index: number):flatbuffers.Long|null { - var offset = this.bb!.__offset(this.bb_pos, 78); - return offset ? this.bb!.readUint64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0); -}; - -/** - * @returns number - */ -vectorOfWeakReferencesLength():number { - var offset = this.bb!.__offset(this.bb_pos, 78); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @param number index - * @param MyGame.Example.Referrable= obj - * @returns MyGame.Example.Referrable - */ -vectorOfStrongReferrables(index: number, obj?:MyGame.Example.Referrable):MyGame.Example.Referrable|null { - var offset = this.bb!.__offset(this.bb_pos, 80); - return offset ? (obj || new MyGame.Example.Referrable()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; -}; - -/** - * @returns number - */ -vectorOfStrongReferrablesLength():number { - var offset = this.bb!.__offset(this.bb_pos, 80); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns flatbuffers.Long - */ -coOwningReference():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 82); - return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_co_owning_reference(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 82); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint64(this.bb_pos + offset, value); - return true; -}; - -/** - * @param number index - * @returns flatbuffers.Long - */ -vectorOfCoOwningReferences(index: number):flatbuffers.Long|null { - var offset = this.bb!.__offset(this.bb_pos, 84); - return offset ? this.bb!.readUint64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0); -}; - -/** - * @returns number - */ -vectorOfCoOwningReferencesLength():number { - var offset = this.bb!.__offset(this.bb_pos, 84); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns flatbuffers.Long - */ -nonOwningReference():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 86); - return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_non_owning_reference(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 86); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint64(this.bb_pos + offset, value); - return true; -}; - -/** - * @param number index - * @returns flatbuffers.Long - */ -vectorOfNonOwningReferences(index: number):flatbuffers.Long|null { - var offset = this.bb!.__offset(this.bb_pos, 88); - return offset ? this.bb!.readUint64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0); -}; - -/** - * @returns number - */ -vectorOfNonOwningReferencesLength():number { - var offset = this.bb!.__offset(this.bb_pos, 88); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns MyGame.Example.AnyUniqueAliases - */ -anyUniqueType():MyGame.Example.AnyUniqueAliases { - var offset = this.bb!.__offset(this.bb_pos, 90); - return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : MyGame.Example.AnyUniqueAliases.NONE; -}; - -/** - * @param flatbuffers.Table obj - * @returns ?flatbuffers.Table - */ -anyUnique<T extends flatbuffers.Table>(obj:T):T|null { - var offset = this.bb!.__offset(this.bb_pos, 92); - return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null; -}; - -/** - * @returns MyGame.Example.AnyAmbiguousAliases - */ -anyAmbiguousType():MyGame.Example.AnyAmbiguousAliases { - var offset = this.bb!.__offset(this.bb_pos, 94); - return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : MyGame.Example.AnyAmbiguousAliases.NONE; -}; - -/** - * @param flatbuffers.Table obj - * @returns ?flatbuffers.Table - */ -anyAmbiguous<T extends flatbuffers.Table>(obj:T):T|null { - var offset = this.bb!.__offset(this.bb_pos, 96); - return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null; -}; - -/** - * @param number index - * @returns MyGame.Example.Color - */ -vectorOfEnums(index: number):MyGame.Example.Color|null { - var offset = this.bb!.__offset(this.bb_pos, 98); - return offset ? /** */ (this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index)) : /** */ (0); -}; - -/** - * @returns number - */ -vectorOfEnumsLength():number { - var offset = this.bb!.__offset(this.bb_pos, 98); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Uint8Array - */ -vectorOfEnumsArray():Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 98); - return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @returns MyGame.Example.Race - */ -signedEnum():MyGame.Example.Race { - var offset = this.bb!.__offset(this.bb_pos, 100); - return offset ? /** */ (this.bb!.readInt8(this.bb_pos + offset)) : MyGame.Example.Race.None; -}; - -/** - * @param MyGame.Example.Race value - * @returns boolean - */ -mutate_signed_enum(value:MyGame.Example.Race):boolean { - var offset = this.bb!.__offset(this.bb_pos, 100); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt8(this.bb_pos + offset, value); - return true; -}; - -/** - * @param number index - * @returns number - */ -testrequirednestedflatbuffer(index: number):number|null { - var offset = this.bb!.__offset(this.bb_pos, 102); - return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; -}; - -/** - * @returns number - */ -testrequirednestedflatbufferLength():number { - var offset = this.bb!.__offset(this.bb_pos, 102); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Uint8Array - */ -testrequirednestedflatbufferArray():Uint8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 102); - return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @param number index - * @param MyGame.Example.Stat= obj - * @returns MyGame.Example.Stat - */ -scalarKeySortedTables(index: number, obj?:MyGame.Example.Stat):MyGame.Example.Stat|null { - var offset = this.bb!.__offset(this.bb_pos, 104); - return offset ? (obj || new MyGame.Example.Stat()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; -}; - -/** - * @returns number - */ -scalarKeySortedTablesLength():number { - var offset = this.bb!.__offset(this.bb_pos, 104); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @param flatbuffers.Builder builder - */ -static startMonster(builder:flatbuffers.Builder) { - builder.startObject(51); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset posOffset - */ -static addPos(builder:flatbuffers.Builder, posOffset:flatbuffers.Offset) { - builder.addFieldStruct(0, posOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number mana - */ -static addMana(builder:flatbuffers.Builder, mana:number) { - builder.addFieldInt16(1, mana, 150); -}; - -/** - * @param flatbuffers.Builder builder - * @param number hp - */ -static addHp(builder:flatbuffers.Builder, hp:number) { - builder.addFieldInt16(2, hp, 100); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset nameOffset - */ -static addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) { - builder.addFieldOffset(3, nameOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset inventoryOffset - */ -static addInventory(builder:flatbuffers.Builder, inventoryOffset:flatbuffers.Offset) { - builder.addFieldOffset(5, inventoryOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<number> data - * @returns flatbuffers.Offset - */ -static createInventoryVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { - builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startInventoryVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(1, numElems, 1); -}; - -/** - * @param flatbuffers.Builder builder - * @param MyGame.Example.Color color - */ -static addColor(builder:flatbuffers.Builder, color:MyGame.Example.Color) { - builder.addFieldInt8(6, color, MyGame.Example.Color.Blue); -}; - -/** - * @param flatbuffers.Builder builder - * @param MyGame.Example.Any testType - */ -static addTestType(builder:flatbuffers.Builder, testType:MyGame.Example.Any) { - builder.addFieldInt8(7, testType, MyGame.Example.Any.NONE); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testOffset - */ -static addTest(builder:flatbuffers.Builder, testOffset:flatbuffers.Offset) { - builder.addFieldOffset(8, testOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset test4Offset - */ -static addTest4(builder:flatbuffers.Builder, test4Offset:flatbuffers.Offset) { - builder.addFieldOffset(9, test4Offset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTest4Vector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(4, numElems, 2); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testarrayofstringOffset - */ -static addTestarrayofstring(builder:flatbuffers.Builder, testarrayofstringOffset:flatbuffers.Offset) { - builder.addFieldOffset(10, testarrayofstringOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Offset> data - * @returns flatbuffers.Offset - */ -static createTestarrayofstringVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { - builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTestarrayofstringVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(4, numElems, 4); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testarrayoftablesOffset - */ -static addTestarrayoftables(builder:flatbuffers.Builder, testarrayoftablesOffset:flatbuffers.Offset) { - builder.addFieldOffset(11, testarrayoftablesOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Offset> data - * @returns flatbuffers.Offset - */ -static createTestarrayoftablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { - builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTestarrayoftablesVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(4, numElems, 4); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset enemyOffset - */ -static addEnemy(builder:flatbuffers.Builder, enemyOffset:flatbuffers.Offset) { - builder.addFieldOffset(12, enemyOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testnestedflatbufferOffset - */ -static addTestnestedflatbuffer(builder:flatbuffers.Builder, testnestedflatbufferOffset:flatbuffers.Offset) { - builder.addFieldOffset(13, testnestedflatbufferOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<number> data - * @returns flatbuffers.Offset - */ -static createTestnestedflatbufferVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { - builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTestnestedflatbufferVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(1, numElems, 1); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testemptyOffset - */ -static addTestempty(builder:flatbuffers.Builder, testemptyOffset:flatbuffers.Offset) { - builder.addFieldOffset(14, testemptyOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param boolean testbool - */ -static addTestbool(builder:flatbuffers.Builder, testbool:boolean) { - builder.addFieldInt8(15, +testbool, +false); -}; - -/** - * @param flatbuffers.Builder builder - * @param number testhashs32Fnv1 - */ -static addTesthashs32Fnv1(builder:flatbuffers.Builder, testhashs32Fnv1:number) { - builder.addFieldInt32(16, testhashs32Fnv1, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number testhashu32Fnv1 - */ -static addTesthashu32Fnv1(builder:flatbuffers.Builder, testhashu32Fnv1:number) { - builder.addFieldInt32(17, testhashu32Fnv1, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long testhashs64Fnv1 - */ -static addTesthashs64Fnv1(builder:flatbuffers.Builder, testhashs64Fnv1:flatbuffers.Long) { - builder.addFieldInt64(18, testhashs64Fnv1, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long testhashu64Fnv1 - */ -static addTesthashu64Fnv1(builder:flatbuffers.Builder, testhashu64Fnv1:flatbuffers.Long) { - builder.addFieldInt64(19, testhashu64Fnv1, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param number testhashs32Fnv1a - */ -static addTesthashs32Fnv1a(builder:flatbuffers.Builder, testhashs32Fnv1a:number) { - builder.addFieldInt32(20, testhashs32Fnv1a, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number testhashu32Fnv1a - */ -static addTesthashu32Fnv1a(builder:flatbuffers.Builder, testhashu32Fnv1a:number) { - builder.addFieldInt32(21, testhashu32Fnv1a, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long testhashs64Fnv1a - */ -static addTesthashs64Fnv1a(builder:flatbuffers.Builder, testhashs64Fnv1a:flatbuffers.Long) { - builder.addFieldInt64(22, testhashs64Fnv1a, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long testhashu64Fnv1a - */ -static addTesthashu64Fnv1a(builder:flatbuffers.Builder, testhashu64Fnv1a:flatbuffers.Long) { - builder.addFieldInt64(23, testhashu64Fnv1a, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testarrayofboolsOffset - */ -static addTestarrayofbools(builder:flatbuffers.Builder, testarrayofboolsOffset:flatbuffers.Offset) { - builder.addFieldOffset(24, testarrayofboolsOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<boolean> data - * @returns flatbuffers.Offset - */ -static createTestarrayofboolsVector(builder:flatbuffers.Builder, data:boolean[]):flatbuffers.Offset { - builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt8(+data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTestarrayofboolsVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(1, numElems, 1); -}; - -/** - * @param flatbuffers.Builder builder - * @param number testf - */ -static addTestf(builder:flatbuffers.Builder, testf:number) { - builder.addFieldFloat32(25, testf, 3.14159); -}; - -/** - * @param flatbuffers.Builder builder - * @param number testf2 - */ -static addTestf2(builder:flatbuffers.Builder, testf2:number) { - builder.addFieldFloat32(26, testf2, 3.0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number testf3 - */ -static addTestf3(builder:flatbuffers.Builder, testf3:number) { - builder.addFieldFloat32(27, testf3, 0.0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testarrayofstring2Offset - */ -static addTestarrayofstring2(builder:flatbuffers.Builder, testarrayofstring2Offset:flatbuffers.Offset) { - builder.addFieldOffset(28, testarrayofstring2Offset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Offset> data - * @returns flatbuffers.Offset - */ -static createTestarrayofstring2Vector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { - builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTestarrayofstring2Vector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(4, numElems, 4); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testarrayofsortedstructOffset - */ -static addTestarrayofsortedstruct(builder:flatbuffers.Builder, testarrayofsortedstructOffset:flatbuffers.Offset) { - builder.addFieldOffset(29, testarrayofsortedstructOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTestarrayofsortedstructVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(8, numElems, 4); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset flexOffset - */ -static addFlex(builder:flatbuffers.Builder, flexOffset:flatbuffers.Offset) { - builder.addFieldOffset(30, flexOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<number> data - * @returns flatbuffers.Offset - */ -static createFlexVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { - builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startFlexVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(1, numElems, 1); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset test5Offset - */ -static addTest5(builder:flatbuffers.Builder, test5Offset:flatbuffers.Offset) { - builder.addFieldOffset(31, test5Offset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTest5Vector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(4, numElems, 2); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vectorOfLongsOffset - */ -static addVectorOfLongs(builder:flatbuffers.Builder, vectorOfLongsOffset:flatbuffers.Offset) { - builder.addFieldOffset(32, vectorOfLongsOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Long> data - * @returns flatbuffers.Offset - */ -static createVectorOfLongsVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { - builder.startVector(8, data.length, 8); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt64(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVectorOfLongsVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(8, numElems, 8); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vectorOfDoublesOffset - */ -static addVectorOfDoubles(builder:flatbuffers.Builder, vectorOfDoublesOffset:flatbuffers.Offset) { - builder.addFieldOffset(33, vectorOfDoublesOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<number> data - * @returns flatbuffers.Offset - */ -static createVectorOfDoublesVector(builder:flatbuffers.Builder, data:number[]|Float64Array):flatbuffers.Offset; -/** - * @deprecated This Uint8Array overload will be removed in the future. - */ -static createVectorOfDoublesVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset; -static createVectorOfDoublesVector(builder:flatbuffers.Builder, data:number[]|Float64Array|Uint8Array):flatbuffers.Offset { - builder.startVector(8, data.length, 8); - for (var i = data.length - 1; i >= 0; i--) { - builder.addFloat64(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVectorOfDoublesVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(8, numElems, 8); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset parentNamespaceTestOffset - */ -static addParentNamespaceTest(builder:flatbuffers.Builder, parentNamespaceTestOffset:flatbuffers.Offset) { - builder.addFieldOffset(34, parentNamespaceTestOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vectorOfReferrablesOffset - */ -static addVectorOfReferrables(builder:flatbuffers.Builder, vectorOfReferrablesOffset:flatbuffers.Offset) { - builder.addFieldOffset(35, vectorOfReferrablesOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Offset> data - * @returns flatbuffers.Offset - */ -static createVectorOfReferrablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { - builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVectorOfReferrablesVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(4, numElems, 4); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long singleWeakReference - */ -static addSingleWeakReference(builder:flatbuffers.Builder, singleWeakReference:flatbuffers.Long) { - builder.addFieldInt64(36, singleWeakReference, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vectorOfWeakReferencesOffset - */ -static addVectorOfWeakReferences(builder:flatbuffers.Builder, vectorOfWeakReferencesOffset:flatbuffers.Offset) { - builder.addFieldOffset(37, vectorOfWeakReferencesOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Long> data - * @returns flatbuffers.Offset - */ -static createVectorOfWeakReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { - builder.startVector(8, data.length, 8); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt64(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVectorOfWeakReferencesVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(8, numElems, 8); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vectorOfStrongReferrablesOffset - */ -static addVectorOfStrongReferrables(builder:flatbuffers.Builder, vectorOfStrongReferrablesOffset:flatbuffers.Offset) { - builder.addFieldOffset(38, vectorOfStrongReferrablesOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Offset> data - * @returns flatbuffers.Offset - */ -static createVectorOfStrongReferrablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { - builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVectorOfStrongReferrablesVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(4, numElems, 4); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long coOwningReference - */ -static addCoOwningReference(builder:flatbuffers.Builder, coOwningReference:flatbuffers.Long) { - builder.addFieldInt64(39, coOwningReference, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vectorOfCoOwningReferencesOffset - */ -static addVectorOfCoOwningReferences(builder:flatbuffers.Builder, vectorOfCoOwningReferencesOffset:flatbuffers.Offset) { - builder.addFieldOffset(40, vectorOfCoOwningReferencesOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Long> data - * @returns flatbuffers.Offset - */ -static createVectorOfCoOwningReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { - builder.startVector(8, data.length, 8); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt64(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVectorOfCoOwningReferencesVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(8, numElems, 8); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long nonOwningReference - */ -static addNonOwningReference(builder:flatbuffers.Builder, nonOwningReference:flatbuffers.Long) { - builder.addFieldInt64(41, nonOwningReference, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vectorOfNonOwningReferencesOffset - */ -static addVectorOfNonOwningReferences(builder:flatbuffers.Builder, vectorOfNonOwningReferencesOffset:flatbuffers.Offset) { - builder.addFieldOffset(42, vectorOfNonOwningReferencesOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Long> data - * @returns flatbuffers.Offset - */ -static createVectorOfNonOwningReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { - builder.startVector(8, data.length, 8); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt64(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVectorOfNonOwningReferencesVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(8, numElems, 8); -}; - -/** - * @param flatbuffers.Builder builder - * @param MyGame.Example.AnyUniqueAliases anyUniqueType - */ -static addAnyUniqueType(builder:flatbuffers.Builder, anyUniqueType:MyGame.Example.AnyUniqueAliases) { - builder.addFieldInt8(43, anyUniqueType, MyGame.Example.AnyUniqueAliases.NONE); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset anyUniqueOffset - */ -static addAnyUnique(builder:flatbuffers.Builder, anyUniqueOffset:flatbuffers.Offset) { - builder.addFieldOffset(44, anyUniqueOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param MyGame.Example.AnyAmbiguousAliases anyAmbiguousType - */ -static addAnyAmbiguousType(builder:flatbuffers.Builder, anyAmbiguousType:MyGame.Example.AnyAmbiguousAliases) { - builder.addFieldInt8(45, anyAmbiguousType, MyGame.Example.AnyAmbiguousAliases.NONE); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset anyAmbiguousOffset - */ -static addAnyAmbiguous(builder:flatbuffers.Builder, anyAmbiguousOffset:flatbuffers.Offset) { - builder.addFieldOffset(46, anyAmbiguousOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vectorOfEnumsOffset - */ -static addVectorOfEnums(builder:flatbuffers.Builder, vectorOfEnumsOffset:flatbuffers.Offset) { - builder.addFieldOffset(47, vectorOfEnumsOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<MyGame.Example.Color> data - * @returns flatbuffers.Offset - */ -static createVectorOfEnumsVector(builder:flatbuffers.Builder, data:MyGame.Example.Color[]):flatbuffers.Offset { - builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVectorOfEnumsVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(1, numElems, 1); -}; - -/** - * @param flatbuffers.Builder builder - * @param MyGame.Example.Race signedEnum - */ -static addSignedEnum(builder:flatbuffers.Builder, signedEnum:MyGame.Example.Race) { - builder.addFieldInt8(48, signedEnum, MyGame.Example.Race.None); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset testrequirednestedflatbufferOffset - */ -static addTestrequirednestedflatbuffer(builder:flatbuffers.Builder, testrequirednestedflatbufferOffset:flatbuffers.Offset) { - builder.addFieldOffset(49, testrequirednestedflatbufferOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<number> data - * @returns flatbuffers.Offset - */ -static createTestrequirednestedflatbufferVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { - builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startTestrequirednestedflatbufferVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(1, numElems, 1); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset scalarKeySortedTablesOffset - */ -static addScalarKeySortedTables(builder:flatbuffers.Builder, scalarKeySortedTablesOffset:flatbuffers.Offset) { - builder.addFieldOffset(50, scalarKeySortedTablesOffset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<flatbuffers.Offset> data - * @returns flatbuffers.Offset - */ -static createScalarKeySortedTablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { - builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startScalarKeySortedTablesVector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(4, numElems, 4); -}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -static endMonster(builder:flatbuffers.Builder):flatbuffers.Offset { - var offset = builder.endObject(); - builder.requiredField(offset, 10); // name - return offset; -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset offset - */ -static finishMonsterBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { - builder.finish(offset, 'MONS'); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset offset - */ -static finishSizePrefixedMonsterBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { - builder.finish(offset, 'MONS', true); -}; - - -serialize():Uint8Array { - return this.bb!.bytes(); -} - -static deserialize(buffer: Uint8Array):Monster { - return Monster.getRootAsMonster(new flatbuffers.ByteBuffer(buffer)) -} - -/** - * @returns MonsterT - */ -unpack(): MonsterT { - return new MonsterT( - (this.pos() !== null ? this.pos()!.unpack() : null), - this.mana(), - this.hp(), - this.name(), - this.bb!.createScalarList(this.inventory.bind(this), this.inventoryLength()), - this.color(), - this.testType(), - (() => { - let temp = MyGame.Example.unionToAny(this.testType(), this.test.bind(this)); - if(temp === null) { return null; } - return temp.unpack() - })(), - this.bb!.createObjList(this.test4.bind(this), this.test4Length()), - this.bb!.createStringList(this.testarrayofstring.bind(this), this.testarrayofstringLength()), - this.bb!.createObjList(this.testarrayoftables.bind(this), this.testarrayoftablesLength()), - (this.enemy() !== null ? this.enemy()!.unpack() : null), - this.bb!.createScalarList(this.testnestedflatbuffer.bind(this), this.testnestedflatbufferLength()), - (this.testempty() !== null ? this.testempty()!.unpack() : null), - this.testbool(), - this.testhashs32Fnv1(), - this.testhashu32Fnv1(), - this.testhashs64Fnv1(), - this.testhashu64Fnv1(), - this.testhashs32Fnv1a(), - this.testhashu32Fnv1a(), - this.testhashs64Fnv1a(), - this.testhashu64Fnv1a(), - this.bb!.createScalarList(this.testarrayofbools.bind(this), this.testarrayofboolsLength()), - this.testf(), - this.testf2(), - this.testf3(), - this.bb!.createStringList(this.testarrayofstring2.bind(this), this.testarrayofstring2Length()), - this.bb!.createObjList(this.testarrayofsortedstruct.bind(this), this.testarrayofsortedstructLength()), - this.bb!.createScalarList(this.flex.bind(this), this.flexLength()), - this.bb!.createObjList(this.test5.bind(this), this.test5Length()), - this.bb!.createScalarList(this.vectorOfLongs.bind(this), this.vectorOfLongsLength()), - this.bb!.createScalarList(this.vectorOfDoubles.bind(this), this.vectorOfDoublesLength()), - (this.parentNamespaceTest() !== null ? this.parentNamespaceTest()!.unpack() : null), - this.bb!.createObjList(this.vectorOfReferrables.bind(this), this.vectorOfReferrablesLength()), - this.singleWeakReference(), - this.bb!.createScalarList(this.vectorOfWeakReferences.bind(this), this.vectorOfWeakReferencesLength()), - this.bb!.createObjList(this.vectorOfStrongReferrables.bind(this), this.vectorOfStrongReferrablesLength()), - this.coOwningReference(), - this.bb!.createScalarList(this.vectorOfCoOwningReferences.bind(this), this.vectorOfCoOwningReferencesLength()), - this.nonOwningReference(), - this.bb!.createScalarList(this.vectorOfNonOwningReferences.bind(this), this.vectorOfNonOwningReferencesLength()), - this.anyUniqueType(), - (() => { - let temp = MyGame.Example.unionToAnyUniqueAliases(this.anyUniqueType(), this.anyUnique.bind(this)); - if(temp === null) { return null; } - return temp.unpack() - })(), - this.anyAmbiguousType(), - (() => { - let temp = MyGame.Example.unionToAnyAmbiguousAliases(this.anyAmbiguousType(), this.anyAmbiguous.bind(this)); - if(temp === null) { return null; } - return temp.unpack() - })(), - this.bb!.createScalarList(this.vectorOfEnums.bind(this), this.vectorOfEnumsLength()), - this.signedEnum(), - this.bb!.createScalarList(this.testrequirednestedflatbuffer.bind(this), this.testrequirednestedflatbufferLength()), - this.bb!.createObjList(this.scalarKeySortedTables.bind(this), this.scalarKeySortedTablesLength()) - ); -}; - -/** - * @param MonsterT _o - */ -unpackTo(_o: MonsterT): void { - _o.pos = (this.pos() !== null ? this.pos()!.unpack() : null); - _o.mana = this.mana(); - _o.hp = this.hp(); - _o.name = this.name(); - _o.inventory = this.bb!.createScalarList(this.inventory.bind(this), this.inventoryLength()); - _o.color = this.color(); - _o.testType = this.testType(); - _o.test = (() => { - let temp = MyGame.Example.unionToAny(this.testType(), this.test.bind(this)); - if(temp === null) { return null; } - return temp.unpack() - })(); - _o.test4 = this.bb!.createObjList(this.test4.bind(this), this.test4Length()); - _o.testarrayofstring = this.bb!.createStringList(this.testarrayofstring.bind(this), this.testarrayofstringLength()); - _o.testarrayoftables = this.bb!.createObjList(this.testarrayoftables.bind(this), this.testarrayoftablesLength()); - _o.enemy = (this.enemy() !== null ? this.enemy()!.unpack() : null); - _o.testnestedflatbuffer = this.bb!.createScalarList(this.testnestedflatbuffer.bind(this), this.testnestedflatbufferLength()); - _o.testempty = (this.testempty() !== null ? this.testempty()!.unpack() : null); - _o.testbool = this.testbool(); - _o.testhashs32Fnv1 = this.testhashs32Fnv1(); - _o.testhashu32Fnv1 = this.testhashu32Fnv1(); - _o.testhashs64Fnv1 = this.testhashs64Fnv1(); - _o.testhashu64Fnv1 = this.testhashu64Fnv1(); - _o.testhashs32Fnv1a = this.testhashs32Fnv1a(); - _o.testhashu32Fnv1a = this.testhashu32Fnv1a(); - _o.testhashs64Fnv1a = this.testhashs64Fnv1a(); - _o.testhashu64Fnv1a = this.testhashu64Fnv1a(); - _o.testarrayofbools = this.bb!.createScalarList(this.testarrayofbools.bind(this), this.testarrayofboolsLength()); - _o.testf = this.testf(); - _o.testf2 = this.testf2(); - _o.testf3 = this.testf3(); - _o.testarrayofstring2 = this.bb!.createStringList(this.testarrayofstring2.bind(this), this.testarrayofstring2Length()); - _o.testarrayofsortedstruct = this.bb!.createObjList(this.testarrayofsortedstruct.bind(this), this.testarrayofsortedstructLength()); - _o.flex = this.bb!.createScalarList(this.flex.bind(this), this.flexLength()); - _o.test5 = this.bb!.createObjList(this.test5.bind(this), this.test5Length()); - _o.vectorOfLongs = this.bb!.createScalarList(this.vectorOfLongs.bind(this), this.vectorOfLongsLength()); - _o.vectorOfDoubles = this.bb!.createScalarList(this.vectorOfDoubles.bind(this), this.vectorOfDoublesLength()); - _o.parentNamespaceTest = (this.parentNamespaceTest() !== null ? this.parentNamespaceTest()!.unpack() : null); - _o.vectorOfReferrables = this.bb!.createObjList(this.vectorOfReferrables.bind(this), this.vectorOfReferrablesLength()); - _o.singleWeakReference = this.singleWeakReference(); - _o.vectorOfWeakReferences = this.bb!.createScalarList(this.vectorOfWeakReferences.bind(this), this.vectorOfWeakReferencesLength()); - _o.vectorOfStrongReferrables = this.bb!.createObjList(this.vectorOfStrongReferrables.bind(this), this.vectorOfStrongReferrablesLength()); - _o.coOwningReference = this.coOwningReference(); - _o.vectorOfCoOwningReferences = this.bb!.createScalarList(this.vectorOfCoOwningReferences.bind(this), this.vectorOfCoOwningReferencesLength()); - _o.nonOwningReference = this.nonOwningReference(); - _o.vectorOfNonOwningReferences = this.bb!.createScalarList(this.vectorOfNonOwningReferences.bind(this), this.vectorOfNonOwningReferencesLength()); - _o.anyUniqueType = this.anyUniqueType(); - _o.anyUnique = (() => { - let temp = MyGame.Example.unionToAnyUniqueAliases(this.anyUniqueType(), this.anyUnique.bind(this)); - if(temp === null) { return null; } - return temp.unpack() - })(); - _o.anyAmbiguousType = this.anyAmbiguousType(); - _o.anyAmbiguous = (() => { - let temp = MyGame.Example.unionToAnyAmbiguousAliases(this.anyAmbiguousType(), this.anyAmbiguous.bind(this)); - if(temp === null) { return null; } - return temp.unpack() - })(); - _o.vectorOfEnums = this.bb!.createScalarList(this.vectorOfEnums.bind(this), this.vectorOfEnumsLength()); - _o.signedEnum = this.signedEnum(); - _o.testrequirednestedflatbuffer = this.bb!.createScalarList(this.testrequirednestedflatbuffer.bind(this), this.testrequirednestedflatbufferLength()); - _o.scalarKeySortedTables = this.bb!.createObjList(this.scalarKeySortedTables.bind(this), this.scalarKeySortedTablesLength()); -}; -} - -export class MonsterT { -/** - * @constructor - * @param MyGame.Example.Vec3T|null pos - * @param number mana - * @param number hp - * @param string|Uint8Array|null name - * @param (number)[] inventory - * @param MyGame.Example.Color color - * @param MyGame.Example.Any testType - * @param MyGame.Example.MonsterT|MyGame.Example.TestSimpleTableWithEnumT|MyGame.Example2.MonsterT|null test - * @param (MyGame.Example.TestT)[] test4 - * @param (string)[] testarrayofstring - * @param (MyGame.Example.MonsterT)[] testarrayoftables - * @param MyGame.Example.MonsterT|null enemy - * @param (number)[] testnestedflatbuffer - * @param MyGame.Example.StatT|null testempty - * @param boolean testbool - * @param number testhashs32Fnv1 - * @param number testhashu32Fnv1 - * @param flatbuffers.Long testhashs64Fnv1 - * @param flatbuffers.Long testhashu64Fnv1 - * @param number testhashs32Fnv1a - * @param number testhashu32Fnv1a - * @param flatbuffers.Long testhashs64Fnv1a - * @param flatbuffers.Long testhashu64Fnv1a - * @param (boolean)[] testarrayofbools - * @param number testf - * @param number testf2 - * @param number testf3 - * @param (string)[] testarrayofstring2 - * @param (MyGame.Example.AbilityT)[] testarrayofsortedstruct - * @param (number)[] flex - * @param (MyGame.Example.TestT)[] test5 - * @param (flatbuffers.Long)[] vectorOfLongs - * @param (number)[] vectorOfDoubles - * @param MyGame.InParentNamespaceT|null parentNamespaceTest - * @param (MyGame.Example.ReferrableT)[] vectorOfReferrables - * @param flatbuffers.Long singleWeakReference - * @param (flatbuffers.Long)[] vectorOfWeakReferences - * @param (MyGame.Example.ReferrableT)[] vectorOfStrongReferrables - * @param flatbuffers.Long coOwningReference - * @param (flatbuffers.Long)[] vectorOfCoOwningReferences - * @param flatbuffers.Long nonOwningReference - * @param (flatbuffers.Long)[] vectorOfNonOwningReferences - * @param MyGame.Example.AnyUniqueAliases anyUniqueType - * @param MyGame.Example.MonsterT|MyGame.Example.TestSimpleTableWithEnumT|MyGame.Example2.MonsterT|null anyUnique - * @param MyGame.Example.AnyAmbiguousAliases anyAmbiguousType - * @param MyGame.Example.MonsterT|null anyAmbiguous - * @param (MyGame.Example.Color)[] vectorOfEnums - * @param MyGame.Example.Race signedEnum - * @param (number)[] testrequirednestedflatbuffer - * @param (MyGame.Example.StatT)[] scalarKeySortedTables - */ -constructor( - public pos: MyGame.Example.Vec3T|null = null, - public mana: number = 150, - public hp: number = 100, - public name: string|Uint8Array|null = null, - public inventory: (number)[] = [], - public color: MyGame.Example.Color = MyGame.Example.Color.Blue, - public testType: MyGame.Example.Any = MyGame.Example.Any.NONE, - public test: MyGame.Example.MonsterT|MyGame.Example.TestSimpleTableWithEnumT|MyGame.Example2.MonsterT|null = null, - public test4: (MyGame.Example.TestT)[] = [], - public testarrayofstring: (string)[] = [], - public testarrayoftables: (MyGame.Example.MonsterT)[] = [], - public enemy: MyGame.Example.MonsterT|null = null, - public testnestedflatbuffer: (number)[] = [], - public testempty: MyGame.Example.StatT|null = null, - public testbool: boolean = false, - public testhashs32Fnv1: number = 0, - public testhashu32Fnv1: number = 0, - public testhashs64Fnv1: flatbuffers.Long = flatbuffers.createLong(0, 0), - public testhashu64Fnv1: flatbuffers.Long = flatbuffers.createLong(0, 0), - public testhashs32Fnv1a: number = 0, - public testhashu32Fnv1a: number = 0, - public testhashs64Fnv1a: flatbuffers.Long = flatbuffers.createLong(0, 0), - public testhashu64Fnv1a: flatbuffers.Long = flatbuffers.createLong(0, 0), - public testarrayofbools: (boolean)[] = [], - public testf: number = 3.14159, - public testf2: number = 3.0, - public testf3: number = 0.0, - public testarrayofstring2: (string)[] = [], - public testarrayofsortedstruct: (MyGame.Example.AbilityT)[] = [], - public flex: (number)[] = [], - public test5: (MyGame.Example.TestT)[] = [], - public vectorOfLongs: (flatbuffers.Long)[] = [], - public vectorOfDoubles: (number)[] = [], - public parentNamespaceTest: MyGame.InParentNamespaceT|null = null, - public vectorOfReferrables: (MyGame.Example.ReferrableT)[] = [], - public singleWeakReference: flatbuffers.Long = flatbuffers.createLong(0, 0), - public vectorOfWeakReferences: (flatbuffers.Long)[] = [], - public vectorOfStrongReferrables: (MyGame.Example.ReferrableT)[] = [], - public coOwningReference: flatbuffers.Long = flatbuffers.createLong(0, 0), - public vectorOfCoOwningReferences: (flatbuffers.Long)[] = [], - public nonOwningReference: flatbuffers.Long = flatbuffers.createLong(0, 0), - public vectorOfNonOwningReferences: (flatbuffers.Long)[] = [], - public anyUniqueType: MyGame.Example.AnyUniqueAliases = MyGame.Example.AnyUniqueAliases.NONE, - public anyUnique: MyGame.Example.MonsterT|MyGame.Example.TestSimpleTableWithEnumT|MyGame.Example2.MonsterT|null = null, - public anyAmbiguousType: MyGame.Example.AnyAmbiguousAliases = MyGame.Example.AnyAmbiguousAliases.NONE, - public anyAmbiguous: MyGame.Example.MonsterT|null = null, - public vectorOfEnums: (MyGame.Example.Color)[] = [], - public signedEnum: MyGame.Example.Race = MyGame.Example.Race.None, - public testrequirednestedflatbuffer: (number)[] = [], - public scalarKeySortedTables: (MyGame.Example.StatT)[] = [] -){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - const name = (this.name !== null ? builder.createString(this.name!) : 0); - const inventory = MyGame.Example.Monster.createInventoryVector(builder, this.inventory); - const test = builder.createObjectOffset(this.test); - const test4 = builder.createStructOffsetList(this.test4, MyGame.Example.Monster.startTest4Vector); - const testarrayofstring = MyGame.Example.Monster.createTestarrayofstringVector(builder, builder.createObjectOffsetList(this.testarrayofstring)); - const testarrayoftables = MyGame.Example.Monster.createTestarrayoftablesVector(builder, builder.createObjectOffsetList(this.testarrayoftables)); - const testnestedflatbuffer = MyGame.Example.Monster.createTestnestedflatbufferVector(builder, this.testnestedflatbuffer); - const testarrayofbools = MyGame.Example.Monster.createTestarrayofboolsVector(builder, this.testarrayofbools); - const testarrayofstring2 = MyGame.Example.Monster.createTestarrayofstring2Vector(builder, builder.createObjectOffsetList(this.testarrayofstring2)); - const testarrayofsortedstruct = builder.createStructOffsetList(this.testarrayofsortedstruct, MyGame.Example.Monster.startTestarrayofsortedstructVector); - const flex = MyGame.Example.Monster.createFlexVector(builder, this.flex); - const test5 = builder.createStructOffsetList(this.test5, MyGame.Example.Monster.startTest5Vector); - const vectorOfLongs = MyGame.Example.Monster.createVectorOfLongsVector(builder, this.vectorOfLongs); - const vectorOfDoubles = MyGame.Example.Monster.createVectorOfDoublesVector(builder, this.vectorOfDoubles); - const vectorOfReferrables = MyGame.Example.Monster.createVectorOfReferrablesVector(builder, builder.createObjectOffsetList(this.vectorOfReferrables)); - const vectorOfWeakReferences = MyGame.Example.Monster.createVectorOfWeakReferencesVector(builder, this.vectorOfWeakReferences); - const vectorOfStrongReferrables = MyGame.Example.Monster.createVectorOfStrongReferrablesVector(builder, builder.createObjectOffsetList(this.vectorOfStrongReferrables)); - const vectorOfCoOwningReferences = MyGame.Example.Monster.createVectorOfCoOwningReferencesVector(builder, this.vectorOfCoOwningReferences); - const vectorOfNonOwningReferences = MyGame.Example.Monster.createVectorOfNonOwningReferencesVector(builder, this.vectorOfNonOwningReferences); - const anyUnique = builder.createObjectOffset(this.anyUnique); - const anyAmbiguous = builder.createObjectOffset(this.anyAmbiguous); - const vectorOfEnums = MyGame.Example.Monster.createVectorOfEnumsVector(builder, this.vectorOfEnums); - const testrequirednestedflatbuffer = MyGame.Example.Monster.createTestrequirednestedflatbufferVector(builder, this.testrequirednestedflatbuffer); - const scalarKeySortedTables = MyGame.Example.Monster.createScalarKeySortedTablesVector(builder, builder.createObjectOffsetList(this.scalarKeySortedTables)); - - MyGame.Example.Monster.start(builder); - MyGame.Example.Monster.addPos(builder, (this.pos !== null ? this.pos!.pack(builder) : 0)); - MyGame.Example.Monster.addMana(builder, this.mana); - MyGame.Example.Monster.addHp(builder, this.hp); - MyGame.Example.Monster.addName(builder, name); - MyGame.Example.Monster.addInventory(builder, inventory); - MyGame.Example.Monster.addColor(builder, this.color); - MyGame.Example.Monster.addTestType(builder, this.testType); - MyGame.Example.Monster.addTest(builder, test); - MyGame.Example.Monster.addTest4(builder, test4); - MyGame.Example.Monster.addTestarrayofstring(builder, testarrayofstring); - MyGame.Example.Monster.addTestarrayoftables(builder, testarrayoftables); - MyGame.Example.Monster.addEnemy(builder, (this.enemy !== null ? this.enemy!.pack(builder) : 0)); - MyGame.Example.Monster.addTestnestedflatbuffer(builder, testnestedflatbuffer); - MyGame.Example.Monster.addTestempty(builder, (this.testempty !== null ? this.testempty!.pack(builder) : 0)); - MyGame.Example.Monster.addTestbool(builder, this.testbool); - MyGame.Example.Monster.addTesthashs32Fnv1(builder, this.testhashs32Fnv1); - MyGame.Example.Monster.addTesthashu32Fnv1(builder, this.testhashu32Fnv1); - MyGame.Example.Monster.addTesthashs64Fnv1(builder, this.testhashs64Fnv1); - MyGame.Example.Monster.addTesthashu64Fnv1(builder, this.testhashu64Fnv1); - MyGame.Example.Monster.addTesthashs32Fnv1a(builder, this.testhashs32Fnv1a); - MyGame.Example.Monster.addTesthashu32Fnv1a(builder, this.testhashu32Fnv1a); - MyGame.Example.Monster.addTesthashs64Fnv1a(builder, this.testhashs64Fnv1a); - MyGame.Example.Monster.addTesthashu64Fnv1a(builder, this.testhashu64Fnv1a); - MyGame.Example.Monster.addTestarrayofbools(builder, testarrayofbools); - MyGame.Example.Monster.addTestf(builder, this.testf); - MyGame.Example.Monster.addTestf2(builder, this.testf2); - MyGame.Example.Monster.addTestf3(builder, this.testf3); - MyGame.Example.Monster.addTestarrayofstring2(builder, testarrayofstring2); - MyGame.Example.Monster.addTestarrayofsortedstruct(builder, testarrayofsortedstruct); - MyGame.Example.Monster.addFlex(builder, flex); - MyGame.Example.Monster.addTest5(builder, test5); - MyGame.Example.Monster.addVectorOfLongs(builder, vectorOfLongs); - MyGame.Example.Monster.addVectorOfDoubles(builder, vectorOfDoubles); - MyGame.Example.Monster.addParentNamespaceTest(builder, (this.parentNamespaceTest !== null ? this.parentNamespaceTest!.pack(builder) : 0)); - MyGame.Example.Monster.addVectorOfReferrables(builder, vectorOfReferrables); - MyGame.Example.Monster.addSingleWeakReference(builder, this.singleWeakReference); - MyGame.Example.Monster.addVectorOfWeakReferences(builder, vectorOfWeakReferences); - MyGame.Example.Monster.addVectorOfStrongReferrables(builder, vectorOfStrongReferrables); - MyGame.Example.Monster.addCoOwningReference(builder, this.coOwningReference); - MyGame.Example.Monster.addVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences); - MyGame.Example.Monster.addNonOwningReference(builder, this.nonOwningReference); - MyGame.Example.Monster.addVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences); - MyGame.Example.Monster.addAnyUniqueType(builder, this.anyUniqueType); - MyGame.Example.Monster.addAnyUnique(builder, anyUnique); - MyGame.Example.Monster.addAnyAmbiguousType(builder, this.anyAmbiguousType); - MyGame.Example.Monster.addAnyAmbiguous(builder, anyAmbiguous); - MyGame.Example.Monster.addVectorOfEnums(builder, vectorOfEnums); - MyGame.Example.Monster.addSignedEnum(builder, this.signedEnum); - MyGame.Example.Monster.addTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer); - MyGame.Example.Monster.addScalarKeySortedTables(builder, scalarKeySortedTables); - - return MyGame.Example.Monster.end(builder); -}; -} -} -/** - * @constructor - */ -export namespace MyGame.Example{ -export class TypeAliases { - bb: flatbuffers.ByteBuffer|null = null; - - bb_pos:number = 0; -/** - * @param number i - * @param flatbuffers.ByteBuffer bb - * @returns TypeAliases - */ -__init(i:number, bb:flatbuffers.ByteBuffer):TypeAliases { - this.bb_pos = i; - this.bb = bb; - return this; -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param TypeAliases= obj - * @returns TypeAliases - */ -static getRootAsTypeAliases(bb:flatbuffers.ByteBuffer, obj?:TypeAliases):TypeAliases { - return (obj || new TypeAliases()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @param flatbuffers.ByteBuffer bb - * @param TypeAliases= obj - * @returns TypeAliases - */ -static getSizePrefixedRootAsTypeAliases(bb:flatbuffers.ByteBuffer, obj?:TypeAliases):TypeAliases { - bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); - return (obj || new TypeAliases()).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; - -/** - * @returns number - */ -i8():number { - var offset = this.bb!.__offset(this.bb_pos, 4); - return offset ? this.bb!.readInt8(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_i8(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 4); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt8(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -u8():number { - var offset = this.bb!.__offset(this.bb_pos, 6); - return offset ? this.bb!.readUint8(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_u8(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 6); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint8(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -i16():number { - var offset = this.bb!.__offset(this.bb_pos, 8); - return offset ? this.bb!.readInt16(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_i16(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 8); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt16(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -u16():number { - var offset = this.bb!.__offset(this.bb_pos, 10); - return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_u16(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 10); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint16(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -i32():number { - var offset = this.bb!.__offset(this.bb_pos, 12); - return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_i32(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 12); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -u32():number { - var offset = this.bb!.__offset(this.bb_pos, 14); - return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_u32(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 14); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns flatbuffers.Long - */ -i64():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 16); - return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_i64(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 16); - - if (offset === 0) { - return false; - } - - this.bb!.writeInt64(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns flatbuffers.Long - */ -u64():flatbuffers.Long { - var offset = this.bb!.__offset(this.bb_pos, 18); - return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); -}; - -/** - * @param flatbuffers.Long value - * @returns boolean - */ -mutate_u64(value:flatbuffers.Long):boolean { - var offset = this.bb!.__offset(this.bb_pos, 18); - - if (offset === 0) { - return false; - } - - this.bb!.writeUint64(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -f32():number { - var offset = this.bb!.__offset(this.bb_pos, 20); - return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 0.0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_f32(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 20); - - if (offset === 0) { - return false; - } - - this.bb!.writeFloat32(this.bb_pos + offset, value); - return true; -}; - -/** - * @returns number - */ -f64():number { - var offset = this.bb!.__offset(this.bb_pos, 22); - return offset ? this.bb!.readFloat64(this.bb_pos + offset) : 0.0; -}; - -/** - * @param number value - * @returns boolean - */ -mutate_f64(value:number):boolean { - var offset = this.bb!.__offset(this.bb_pos, 22); - - if (offset === 0) { - return false; - } - - this.bb!.writeFloat64(this.bb_pos + offset, value); - return true; -}; - -/** - * @param number index - * @returns number - */ -v8(index: number):number|null { - var offset = this.bb!.__offset(this.bb_pos, 24); - return offset ? this.bb!.readInt8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; -}; - -/** - * @returns number - */ -v8Length():number { - var offset = this.bb!.__offset(this.bb_pos, 24); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Int8Array - */ -v8Array():Int8Array|null { - var offset = this.bb!.__offset(this.bb_pos, 24); - return offset ? new Int8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @param number index - * @returns number - */ -vf64(index: number):number|null { - var offset = this.bb!.__offset(this.bb_pos, 26); - return offset ? this.bb!.readFloat64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : 0; -}; - -/** - * @returns number - */ -vf64Length():number { - var offset = this.bb!.__offset(this.bb_pos, 26); - return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; -}; - -/** - * @returns Float64Array - */ -vf64Array():Float64Array|null { - var offset = this.bb!.__offset(this.bb_pos, 26); - return offset ? new Float64Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; -}; - -/** - * @param flatbuffers.Builder builder - */ -static startTypeAliases(builder:flatbuffers.Builder) { - builder.startObject(12); -}; - -/** - * @param flatbuffers.Builder builder - * @param number i8 - */ -static addI8(builder:flatbuffers.Builder, i8:number) { - builder.addFieldInt8(0, i8, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number u8 - */ -static addU8(builder:flatbuffers.Builder, u8:number) { - builder.addFieldInt8(1, u8, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number i16 - */ -static addI16(builder:flatbuffers.Builder, i16:number) { - builder.addFieldInt16(2, i16, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number u16 - */ -static addU16(builder:flatbuffers.Builder, u16:number) { - builder.addFieldInt16(3, u16, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number i32 - */ -static addI32(builder:flatbuffers.Builder, i32:number) { - builder.addFieldInt32(4, i32, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number u32 - */ -static addU32(builder:flatbuffers.Builder, u32:number) { - builder.addFieldInt32(5, u32, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long i64 - */ -static addI64(builder:flatbuffers.Builder, i64:flatbuffers.Long) { - builder.addFieldInt64(6, i64, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Long u64 - */ -static addU64(builder:flatbuffers.Builder, u64:flatbuffers.Long) { - builder.addFieldInt64(7, u64, builder.createLong(0, 0)); -}; - -/** - * @param flatbuffers.Builder builder - * @param number f32 - */ -static addF32(builder:flatbuffers.Builder, f32:number) { - builder.addFieldFloat32(8, f32, 0.0); -}; - -/** - * @param flatbuffers.Builder builder - * @param number f64 - */ -static addF64(builder:flatbuffers.Builder, f64:number) { - builder.addFieldFloat64(9, f64, 0.0); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset v8Offset - */ -static addV8(builder:flatbuffers.Builder, v8Offset:flatbuffers.Offset) { - builder.addFieldOffset(10, v8Offset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<number> data - * @returns flatbuffers.Offset - */ -static createV8Vector(builder:flatbuffers.Builder, data:number[]|Int8Array):flatbuffers.Offset; -/** - * @deprecated This Uint8Array overload will be removed in the future. - */ -static createV8Vector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset; -static createV8Vector(builder:flatbuffers.Builder, data:number[]|Int8Array|Uint8Array):flatbuffers.Offset { - builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startV8Vector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(1, numElems, 1); -}; - -/** - * @param flatbuffers.Builder builder - * @param flatbuffers.Offset vf64Offset - */ -static addVf64(builder:flatbuffers.Builder, vf64Offset:flatbuffers.Offset) { - builder.addFieldOffset(11, vf64Offset, 0); -}; - -/** - * @param flatbuffers.Builder builder - * @param Array.<number> data - * @returns flatbuffers.Offset - */ -static createVf64Vector(builder:flatbuffers.Builder, data:number[]|Float64Array):flatbuffers.Offset; -/** - * @deprecated This Uint8Array overload will be removed in the future. - */ -static createVf64Vector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset; -static createVf64Vector(builder:flatbuffers.Builder, data:number[]|Float64Array|Uint8Array):flatbuffers.Offset { - builder.startVector(8, data.length, 8); - for (var i = data.length - 1; i >= 0; i--) { - builder.addFloat64(data[i]); - } - return builder.endVector(); -}; - -/** - * @param flatbuffers.Builder builder - * @param number numElems - */ -static startVf64Vector(builder:flatbuffers.Builder, numElems:number) { - builder.startVector(8, numElems, 8); -}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -static endTypeAliases(builder:flatbuffers.Builder):flatbuffers.Offset { - var offset = builder.endObject(); - return offset; -}; - -static createTypeAliases(builder:flatbuffers.Builder, i8:number, u8:number, i16:number, u16:number, i32:number, u32:number, i64:flatbuffers.Long, u64:flatbuffers.Long, f32:number, f64:number, v8Offset:flatbuffers.Offset, vf64Offset:flatbuffers.Offset):flatbuffers.Offset { - TypeAliases.startTypeAliases(builder); - TypeAliases.addI8(builder, i8); - TypeAliases.addU8(builder, u8); - TypeAliases.addI16(builder, i16); - TypeAliases.addU16(builder, u16); - TypeAliases.addI32(builder, i32); - TypeAliases.addU32(builder, u32); - TypeAliases.addI64(builder, i64); - TypeAliases.addU64(builder, u64); - TypeAliases.addF32(builder, f32); - TypeAliases.addF64(builder, f64); - TypeAliases.addV8(builder, v8Offset); - TypeAliases.addVf64(builder, vf64Offset); - return TypeAliases.endTypeAliases(builder); -} - -serialize():Uint8Array { - return this.bb!.bytes(); -} - -static deserialize(buffer: Uint8Array):TypeAliases { - return TypeAliases.getRootAsTypeAliases(new flatbuffers.ByteBuffer(buffer)) -} - -/** - * @returns TypeAliasesT - */ -unpack(): TypeAliasesT { - return new TypeAliasesT( - this.i8(), - this.u8(), - this.i16(), - this.u16(), - this.i32(), - this.u32(), - this.i64(), - this.u64(), - this.f32(), - this.f64(), - this.bb!.createScalarList(this.v8.bind(this), this.v8Length()), - this.bb!.createScalarList(this.vf64.bind(this), this.vf64Length()) - ); -}; - -/** - * @param TypeAliasesT _o - */ -unpackTo(_o: TypeAliasesT): void { - _o.i8 = this.i8(); - _o.u8 = this.u8(); - _o.i16 = this.i16(); - _o.u16 = this.u16(); - _o.i32 = this.i32(); - _o.u32 = this.u32(); - _o.i64 = this.i64(); - _o.u64 = this.u64(); - _o.f32 = this.f32(); - _o.f64 = this.f64(); - _o.v8 = this.bb!.createScalarList(this.v8.bind(this), this.v8Length()); - _o.vf64 = this.bb!.createScalarList(this.vf64.bind(this), this.vf64Length()); -}; -} - -export class TypeAliasesT { -/** - * @constructor - * @param number i8 - * @param number u8 - * @param number i16 - * @param number u16 - * @param number i32 - * @param number u32 - * @param flatbuffers.Long i64 - * @param flatbuffers.Long u64 - * @param number f32 - * @param number f64 - * @param (number)[] v8 - * @param (number)[] vf64 - */ -constructor( - public i8: number = 0, - public u8: number = 0, - public i16: number = 0, - public u16: number = 0, - public i32: number = 0, - public u32: number = 0, - public i64: flatbuffers.Long = flatbuffers.createLong(0, 0), - public u64: flatbuffers.Long = flatbuffers.createLong(0, 0), - public f32: number = 0.0, - public f64: number = 0.0, - public v8: (number)[] = [], - public vf64: (number)[] = [] -){}; - -/** - * @param flatbuffers.Builder builder - * @returns flatbuffers.Offset - */ -pack(builder:flatbuffers.Builder): flatbuffers.Offset { - const v8 = MyGame.Example.TypeAliases.createV8Vector(builder, this.v8); - const vf64 = MyGame.Example.TypeAliases.createVf64Vector(builder, this.vf64); - - return MyGame.Example.TypeAliases.createTypeAliases(builder, - this.i8, - this.u8, - this.i16, - this.u16, - this.i32, - this.u32, - this.i64, - this.u64, - this.f32, - this.f64, - v8, - vf64 - ); -}; -} -} diff --git a/tests/monster_test_grpc.d.ts b/tests/monster_test_grpc.d.ts new file mode 100644 index 00000000..a1535fed --- /dev/null +++ b/tests/monster_test_grpc.d.ts @@ -0,0 +1,93 @@ +// Generated GRPC code for FlatBuffers TS *** DO NOT EDIT *** +import { flatbuffers } from 'flatbuffers'; +import { Stat as MyGame_Example_Stat } from './my-game/example/stat'; +import { Monster as MyGame_Example_Monster } from './my-game/example/monster'; + +import * as grpc from 'grpc'; + +interface IMonsterStorageService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> { + Store: IMonsterStorageService_IStore; + Retrieve: IMonsterStorageService_IRetrieve; + GetMaxHitPoint: IMonsterStorageService_IGetMaxHitPoint; + GetMinMaxHitPoints: IMonsterStorageService_IGetMinMaxHitPoints; +} +interface IMonsterStorageService_IStore extends grpc.MethodDefinition<MyGame_Example_Monster, MyGame_Example_Stat> { + path: string; // /MyGame.Example.MonsterStorage/Store + requestStream: boolean; // false + responseStream: boolean; // false + requestSerialize: grpc.serialize<MyGame_Example_Monster>; + requestDeserialize: grpc.deserialize<MyGame_Example_Monster>; + responseSerialize: grpc.serialize<MyGame_Example_Stat>; + responseDeserialize: grpc.deserialize<MyGame_Example_Stat>; +} + +interface IMonsterStorageService_IRetrieve extends grpc.MethodDefinition<MyGame_Example_Stat, MyGame_Example_Monster> { + path: string; // /MyGame.Example.MonsterStorage/Retrieve + requestStream: boolean; // false + responseStream: boolean; // true + requestSerialize: grpc.serialize<MyGame_Example_Stat>; + requestDeserialize: grpc.deserialize<MyGame_Example_Stat>; + responseSerialize: grpc.serialize<MyGame_Example_Monster>; + responseDeserialize: grpc.deserialize<MyGame_Example_Monster>; +} + +interface IMonsterStorageService_IGetMaxHitPoint extends grpc.MethodDefinition<MyGame_Example_Monster, MyGame_Example_Stat> { + path: string; // /MyGame.Example.MonsterStorage/GetMaxHitPoint + requestStream: boolean; // true + responseStream: boolean; // false + requestSerialize: grpc.serialize<MyGame_Example_Monster>; + requestDeserialize: grpc.deserialize<MyGame_Example_Monster>; + responseSerialize: grpc.serialize<MyGame_Example_Stat>; + responseDeserialize: grpc.deserialize<MyGame_Example_Stat>; +} + +interface IMonsterStorageService_IGetMinMaxHitPoints extends grpc.MethodDefinition<MyGame_Example_Monster, MyGame_Example_Stat> { + path: string; // /MyGame.Example.MonsterStorage/GetMinMaxHitPoints + requestStream: boolean; // true + responseStream: boolean; // true + requestSerialize: grpc.serialize<MyGame_Example_Monster>; + requestDeserialize: grpc.deserialize<MyGame_Example_Monster>; + responseSerialize: grpc.serialize<MyGame_Example_Stat>; + responseDeserialize: grpc.deserialize<MyGame_Example_Stat>; +} + + +export const MonsterStorageService: IMonsterStorageService; + +export interface IMonsterStorageServer { + Store: grpc.handleUnaryCall<MyGame_Example_Monster, MyGame_Example_Stat>; + Retrieve: grpc.handleServerStreamingCall<MyGame_Example_Stat, MyGame_Example_Monster>; + GetMaxHitPoint: grpc.handleClientStreamingCall<MyGame_Example_Monster, MyGame_Example_Stat>; + GetMinMaxHitPoints: grpc.handleBidiStreamingCall<MyGame_Example_Monster, MyGame_Example_Stat>; +} + +export interface IMonsterStorageClient { + Store(request: MyGame_Example_Monster, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Stat) => void): grpc.ClientUnaryCall; + Store(request: MyGame_Example_Monster, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Stat) => void): grpc.ClientUnaryCall; + Store(request: MyGame_Example_Monster, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Stat) => void): grpc.ClientUnaryCall; + Retrieve(request: MyGame_Example_Stat, metadata: grpc.Metadata): grpc.ClientReadableStream<MyGame_Example_Monster>; + Retrieve(request: MyGame_Example_Stat, options: Partial<grpc.CallOptions>): grpc.ClientReadableStream<MyGame_Example_Monster>; + GetMaxHitPoint(callback: (error: grpc.ServiceError | null, response: MyGame_Example_Monster) => void): grpc.ClientWritableStream<MyGame_Example_Stat>; + GetMaxHitPoint(metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Monster) => void): grpc.ClientWritableStream<MyGame_Example_Stat>; + GetMaxHitPoint(options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Monster) => void): grpc.ClientWritableStream<MyGame_Example_Stat>; + GetMaxHitPoint(metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Monster) => void): grpc.ClientWritableStream<MyGame_Example_Stat>; + GetMinMaxHitPoints(): grpc.ClientDuplexStream<MyGame_Example_Monster, MyGame_Example_Stat>; + GetMinMaxHitPoints(options: Partial<grpc.CallOptions>): grpc.ClientDuplexStream<MyGame_Example_Monster, MyGame_Example_Stat>; + GetMinMaxHitPoints(metadata: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientDuplexStream<MyGame_Example_Monster, MyGame_Example_Stat>; +} + +export class MonsterStorageClient extends grpc.Client implements IMonsterStorageClient { + constructor(address: string, credentials: grpc.ChannelCredentials, options?: object); public Store(request: MyGame_Example_Monster, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Stat) => void): grpc.ClientUnaryCall; + public Store(request: MyGame_Example_Monster, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Stat) => void): grpc.ClientUnaryCall; + public Store(request: MyGame_Example_Monster, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Stat) => void): grpc.ClientUnaryCall; + public Retrieve(request: MyGame_Example_Stat, metadata: grpc.Metadata): grpc.ClientReadableStream<MyGame_Example_Monster>; + public Retrieve(request: MyGame_Example_Stat, options: Partial<grpc.CallOptions>): grpc.ClientReadableStream<MyGame_Example_Monster>; + public GetMaxHitPoint(callback: (error: grpc.ServiceError | null, response: MyGame_Example_Monster) => void): grpc.ClientWritableStream<MyGame_Example_Stat>; + public GetMaxHitPoint(metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Monster) => void): grpc.ClientWritableStream<MyGame_Example_Stat>; + public GetMaxHitPoint(options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Monster) => void): grpc.ClientWritableStream<MyGame_Example_Stat>; + public GetMaxHitPoint(metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: MyGame_Example_Monster) => void): grpc.ClientWritableStream<MyGame_Example_Stat>; + public GetMinMaxHitPoints(): grpc.ClientDuplexStream<MyGame_Example_Monster, MyGame_Example_Stat>; + public GetMinMaxHitPoints(options: Partial<grpc.CallOptions>): grpc.ClientDuplexStream<MyGame_Example_Monster, MyGame_Example_Stat>; + public GetMinMaxHitPoints(metadata: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientDuplexStream<MyGame_Example_Monster, MyGame_Example_Stat>; +} + diff --git a/tests/my-game/example/ability.ts b/tests/my-game/example/ability.ts new file mode 100644 index 00000000..6ab5b4d7 --- /dev/null +++ b/tests/my-game/example/ability.ts @@ -0,0 +1,73 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class Ability { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Ability { + this.bb_pos = i; + this.bb = bb; + return this; +} + +id():number { + return this.bb!.readUint32(this.bb_pos); +} + +mutate_id(value:number):boolean { + this.bb!.writeUint32(this.bb_pos + 0, value); + return true; +} + +distance():number { + return this.bb!.readUint32(this.bb_pos + 4); +} + +mutate_distance(value:number):boolean { + this.bb!.writeUint32(this.bb_pos + 4, value); + return true; +} + +static sizeOf():number { + return 8; +} + +static createAbility(builder:flatbuffers.Builder, id: number, distance: number):flatbuffers.Offset { + builder.prep(4, 8); + builder.writeInt32(distance); + builder.writeInt32(id); + return builder.offset(); +} + + +unpack(): AbilityT { + return new AbilityT( + this.id(), + this.distance() + ); +} + + +unpackTo(_o: AbilityT): void { + _o.id = this.id(); + _o.distance = this.distance(); +} +} + +export class AbilityT { +constructor( + public id: number = 0, + public distance: number = 0 +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return Ability.createAbility(builder, + this.id, + this.distance + ); +} +} diff --git a/tests/my-game/example/any-ambiguous-aliases.ts b/tests/my-game/example/any-ambiguous-aliases.ts new file mode 100644 index 00000000..6687a419 --- /dev/null +++ b/tests/my-game/example/any-ambiguous-aliases.ts @@ -0,0 +1,39 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import { Monster, MonsterT } from '../../my-game/example/monster'; + + +export enum AnyAmbiguousAliases{ + NONE = 0, + M1 = 1, + M2 = 2, + M3 = 3 +} + +export function unionToAnyAmbiguousAliases( + type: AnyAmbiguousAliases, + accessor: (obj:Monster) => Monster|null +): Monster|null { + switch(AnyAmbiguousAliases[type]) { + case 'NONE': return null; + case 'M1': return accessor(new Monster())! as Monster; + case 'M2': return accessor(new Monster())! as Monster; + case 'M3': return accessor(new Monster())! as Monster; + default: return null; + } +} + +export function unionListToAnyAmbiguousAliases( + type: AnyAmbiguousAliases, + accessor: (index: number, obj:Monster) => Monster|null, + index: number +): Monster|null { + switch(AnyAmbiguousAliases[type]) { + case 'NONE': return null; + case 'M1': return accessor(index, new Monster())! as Monster; + case 'M2': return accessor(index, new Monster())! as Monster; + case 'M3': return accessor(index, new Monster())! as Monster; + default: return null; + } +} + diff --git a/tests/my-game/example/any-unique-aliases.ts b/tests/my-game/example/any-unique-aliases.ts new file mode 100644 index 00000000..51061488 --- /dev/null +++ b/tests/my-game/example/any-unique-aliases.ts @@ -0,0 +1,41 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import { Monster as MyGameExample2Monster, MonsterT as MyGameExample2MonsterT } from '../../my-game/example2/monster'; +import { Monster, MonsterT } from '../../my-game/example/monster'; +import { TestSimpleTableWithEnum, TestSimpleTableWithEnumT } from '../../my-game/example/test-simple-table-with-enum'; + + +export enum AnyUniqueAliases{ + NONE = 0, + M = 1, + TS = 2, + M2 = 3 +} + +export function unionToAnyUniqueAliases( + type: AnyUniqueAliases, + accessor: (obj:Monster|MyGameExample2Monster|TestSimpleTableWithEnum) => Monster|MyGameExample2Monster|TestSimpleTableWithEnum|null +): Monster|MyGameExample2Monster|TestSimpleTableWithEnum|null { + switch(AnyUniqueAliases[type]) { + case 'NONE': return null; + case 'M': return accessor(new Monster())! as Monster; + case 'TS': return accessor(new TestSimpleTableWithEnum())! as TestSimpleTableWithEnum; + case 'M2': return accessor(new MyGameExample2Monster())! as MyGameExample2Monster; + default: return null; + } +} + +export function unionListToAnyUniqueAliases( + type: AnyUniqueAliases, + accessor: (index: number, obj:Monster|MyGameExample2Monster|TestSimpleTableWithEnum) => Monster|MyGameExample2Monster|TestSimpleTableWithEnum|null, + index: number +): Monster|MyGameExample2Monster|TestSimpleTableWithEnum|null { + switch(AnyUniqueAliases[type]) { + case 'NONE': return null; + case 'M': return accessor(index, new Monster())! as Monster; + case 'TS': return accessor(index, new TestSimpleTableWithEnum())! as TestSimpleTableWithEnum; + case 'M2': return accessor(index, new MyGameExample2Monster())! as MyGameExample2Monster; + default: return null; + } +} + diff --git a/tests/my-game/example/any.ts b/tests/my-game/example/any.ts new file mode 100644 index 00000000..9d8b2a61 --- /dev/null +++ b/tests/my-game/example/any.ts @@ -0,0 +1,41 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import { Monster as MyGameExample2Monster, MonsterT as MyGameExample2MonsterT } from '../../my-game/example2/monster'; +import { Monster, MonsterT } from '../../my-game/example/monster'; +import { TestSimpleTableWithEnum, TestSimpleTableWithEnumT } from '../../my-game/example/test-simple-table-with-enum'; + + +export enum Any{ + NONE = 0, + Monster = 1, + TestSimpleTableWithEnum = 2, + MyGame_Example2_Monster = 3 +} + +export function unionToAny( + type: Any, + accessor: (obj:Monster|MyGameExample2Monster|TestSimpleTableWithEnum) => Monster|MyGameExample2Monster|TestSimpleTableWithEnum|null +): Monster|MyGameExample2Monster|TestSimpleTableWithEnum|null { + switch(Any[type]) { + case 'NONE': return null; + case 'Monster': return accessor(new Monster())! as Monster; + case 'TestSimpleTableWithEnum': return accessor(new TestSimpleTableWithEnum())! as TestSimpleTableWithEnum; + case 'MyGame_Example2_Monster': return accessor(new MyGameExample2Monster())! as MyGameExample2Monster; + default: return null; + } +} + +export function unionListToAny( + type: Any, + accessor: (index: number, obj:Monster|MyGameExample2Monster|TestSimpleTableWithEnum) => Monster|MyGameExample2Monster|TestSimpleTableWithEnum|null, + index: number +): Monster|MyGameExample2Monster|TestSimpleTableWithEnum|null { + switch(Any[type]) { + case 'NONE': return null; + case 'Monster': return accessor(index, new Monster())! as Monster; + case 'TestSimpleTableWithEnum': return accessor(index, new TestSimpleTableWithEnum())! as TestSimpleTableWithEnum; + case 'MyGame_Example2_Monster': return accessor(index, new MyGameExample2Monster())! as MyGameExample2Monster; + default: return null; + } +} + diff --git a/tests/my-game/example/color.ts b/tests/my-game/example/color.ts new file mode 100644 index 00000000..ceb31f82 --- /dev/null +++ b/tests/my-game/example/color.ts @@ -0,0 +1,20 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/** + * Composite components of Monster color. + */ +export enum Color{ + Red = 1, + + /** + * \brief color Green + * Green is bit_flag with value (1u << 1) + */ + Green = 2, + + /** + * \brief color Blue (1u << 3) + */ + Blue = 8 +} + diff --git a/tests/my-game/example/monster.ts b/tests/my-game/example/monster.ts new file mode 100644 index 00000000..69bfa584 --- /dev/null +++ b/tests/my-game/example/monster.ts @@ -0,0 +1,1366 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + +import { Monster as MyGameExample2Monster, MonsterT as MyGameExample2MonsterT } from '../../my-game/example2/monster'; +import { Ability, AbilityT } from '../../my-game/example/ability'; +import { Any, unionToAny, unionListToAny } from '../../my-game/example/any'; +import { AnyAmbiguousAliases, unionToAnyAmbiguousAliases, unionListToAnyAmbiguousAliases } from '../../my-game/example/any-ambiguous-aliases'; +import { AnyUniqueAliases, unionToAnyUniqueAliases, unionListToAnyUniqueAliases } from '../../my-game/example/any-unique-aliases'; +import { Color } from '../../my-game/example/color'; +import { Race } from '../../my-game/example/race'; +import { Referrable, ReferrableT } from '../../my-game/example/referrable'; +import { Stat, StatT } from '../../my-game/example/stat'; +import { Test, TestT } from '../../my-game/example/test'; +import { TestSimpleTableWithEnum, TestSimpleTableWithEnumT } from '../../my-game/example/test-simple-table-with-enum'; +import { Vec3, Vec3T } from '../../my-game/example/vec3'; +import { InParentNamespace, InParentNamespaceT } from '../../my-game/in-parent-namespace'; + + +/** + * an example documentation comment: "monster object" + */ +export class Monster { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Monster { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsMonster(bb:flatbuffers.ByteBuffer, obj?:Monster):Monster { + return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsMonster(bb:flatbuffers.ByteBuffer, obj?:Monster):Monster { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean { + return bb.__has_identifier('MONS'); +} + +pos(obj?:Vec3):Vec3|null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? (obj || new Vec3()).__init(this.bb_pos + offset, this.bb!) : null; +} + +mana():number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt16(this.bb_pos + offset) : 150; +} + +mutate_mana(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 6); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt16(this.bb_pos + offset, value); + return true; +} + +hp():number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt16(this.bb_pos + offset) : 100; +} + +mutate_hp(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 8); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt16(this.bb_pos + offset, value); + return true; +} + +name():string|null +name(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null +name(optionalEncoding?:any):string|Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null; +} + +inventory(index: number):number|null { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; +} + +inventoryLength():number { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +inventoryArray():Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +color():Color { + const offset = this.bb!.__offset(this.bb_pos, 16); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : Color.Blue; +} + +mutate_color(value:Color):boolean { + const offset = this.bb!.__offset(this.bb_pos, 16); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint8(this.bb_pos + offset, value); + return true; +} + +testType():Any { + const offset = this.bb!.__offset(this.bb_pos, 18); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : Any.NONE; +} + +test<T extends flatbuffers.Table>(obj:any):any|null { + const offset = this.bb!.__offset(this.bb_pos, 20); + return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null; +} + +test4(index: number, obj?:Test):Test|null { + const offset = this.bb!.__offset(this.bb_pos, 22); + return offset ? (obj || new Test()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 4, this.bb!) : null; +} + +test4Length():number { + const offset = this.bb!.__offset(this.bb_pos, 22); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +testarrayofstring(index: number):string +testarrayofstring(index: number,optionalEncoding:flatbuffers.Encoding):string|Uint8Array +testarrayofstring(index: number,optionalEncoding?:any):string|Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 24); + return offset ? this.bb!.__string(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null; +} + +testarrayofstringLength():number { + const offset = this.bb!.__offset(this.bb_pos, 24); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +/** + * an example documentation comment: this will end up in the generated code + * multiline too + */ +testarrayoftables(index: number, obj?:Monster):Monster|null { + const offset = this.bb!.__offset(this.bb_pos, 26); + return offset ? (obj || new Monster()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; +} + +testarrayoftablesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 26); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +enemy(obj?:Monster):Monster|null { + const offset = this.bb!.__offset(this.bb_pos, 28); + return offset ? (obj || new Monster()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; +} + +testnestedflatbuffer(index: number):number|null { + const offset = this.bb!.__offset(this.bb_pos, 30); + return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; +} + +testnestedflatbufferLength():number { + const offset = this.bb!.__offset(this.bb_pos, 30); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +testnestedflatbufferArray():Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 30); + return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +testempty(obj?:Stat):Stat|null { + const offset = this.bb!.__offset(this.bb_pos, 32); + return offset ? (obj || new Stat()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; +} + +testbool():boolean { + const offset = this.bb!.__offset(this.bb_pos, 34); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; +} + +mutate_testbool(value:boolean):boolean { + const offset = this.bb!.__offset(this.bb_pos, 34); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt8(this.bb_pos + offset, +value); + return true; +} + +testhashs32Fnv1():number { + const offset = this.bb!.__offset(this.bb_pos, 36); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; +} + +mutate_testhashs32_fnv1(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 36); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt32(this.bb_pos + offset, value); + return true; +} + +testhashu32Fnv1():number { + const offset = this.bb!.__offset(this.bb_pos, 38); + return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0; +} + +mutate_testhashu32_fnv1(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 38); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint32(this.bb_pos + offset, value); + return true; +} + +testhashs64Fnv1():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 40); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_testhashs64_fnv1(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 40); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt64(this.bb_pos + offset, value); + return true; +} + +testhashu64Fnv1():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 42); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_testhashu64_fnv1(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 42); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint64(this.bb_pos + offset, value); + return true; +} + +testhashs32Fnv1a():number { + const offset = this.bb!.__offset(this.bb_pos, 44); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; +} + +mutate_testhashs32_fnv1a(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 44); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt32(this.bb_pos + offset, value); + return true; +} + +testhashu32Fnv1a():number { + const offset = this.bb!.__offset(this.bb_pos, 46); + return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0; +} + +mutate_testhashu32_fnv1a(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 46); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint32(this.bb_pos + offset, value); + return true; +} + +testhashs64Fnv1a():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 48); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_testhashs64_fnv1a(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 48); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt64(this.bb_pos + offset, value); + return true; +} + +testhashu64Fnv1a():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 50); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_testhashu64_fnv1a(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 50); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint64(this.bb_pos + offset, value); + return true; +} + +testarrayofbools(index: number):boolean|null { + const offset = this.bb!.__offset(this.bb_pos, 52); + return offset ? !!this.bb!.readInt8(this.bb!.__vector(this.bb_pos + offset) + index) : false; +} + +testarrayofboolsLength():number { + const offset = this.bb!.__offset(this.bb_pos, 52); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +testarrayofboolsArray():Int8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 52); + return offset ? new Int8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +testf():number { + const offset = this.bb!.__offset(this.bb_pos, 54); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 3.14159; +} + +mutate_testf(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 54); + + if (offset === 0) { + return false; + } + + this.bb!.writeFloat32(this.bb_pos + offset, value); + return true; +} + +testf2():number { + const offset = this.bb!.__offset(this.bb_pos, 56); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 3.0; +} + +mutate_testf2(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 56); + + if (offset === 0) { + return false; + } + + this.bb!.writeFloat32(this.bb_pos + offset, value); + return true; +} + +testf3():number { + const offset = this.bb!.__offset(this.bb_pos, 58); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 0.0; +} + +mutate_testf3(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 58); + + if (offset === 0) { + return false; + } + + this.bb!.writeFloat32(this.bb_pos + offset, value); + return true; +} + +testarrayofstring2(index: number):string +testarrayofstring2(index: number,optionalEncoding:flatbuffers.Encoding):string|Uint8Array +testarrayofstring2(index: number,optionalEncoding?:any):string|Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 60); + return offset ? this.bb!.__string(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null; +} + +testarrayofstring2Length():number { + const offset = this.bb!.__offset(this.bb_pos, 60); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +testarrayofsortedstruct(index: number, obj?:Ability):Ability|null { + const offset = this.bb!.__offset(this.bb_pos, 62); + return offset ? (obj || new Ability()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 8, this.bb!) : null; +} + +testarrayofsortedstructLength():number { + const offset = this.bb!.__offset(this.bb_pos, 62); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +flex(index: number):number|null { + const offset = this.bb!.__offset(this.bb_pos, 64); + return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; +} + +flexLength():number { + const offset = this.bb!.__offset(this.bb_pos, 64); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +flexArray():Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 64); + return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +test5(index: number, obj?:Test):Test|null { + const offset = this.bb!.__offset(this.bb_pos, 66); + return offset ? (obj || new Test()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 4, this.bb!) : null; +} + +test5Length():number { + const offset = this.bb!.__offset(this.bb_pos, 66); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +vectorOfLongs(index: number):flatbuffers.Long|null { + const offset = this.bb!.__offset(this.bb_pos, 68); + return offset ? this.bb!.readInt64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0); +} + +vectorOfLongsLength():number { + const offset = this.bb!.__offset(this.bb_pos, 68); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +vectorOfDoubles(index: number):number|null { + const offset = this.bb!.__offset(this.bb_pos, 70); + return offset ? this.bb!.readFloat64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : 0; +} + +vectorOfDoublesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 70); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +vectorOfDoublesArray():Float64Array|null { + const offset = this.bb!.__offset(this.bb_pos, 70); + return offset ? new Float64Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +parentNamespaceTest(obj?:InParentNamespace):InParentNamespace|null { + const offset = this.bb!.__offset(this.bb_pos, 72); + return offset ? (obj || new InParentNamespace()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; +} + +vectorOfReferrables(index: number, obj?:Referrable):Referrable|null { + const offset = this.bb!.__offset(this.bb_pos, 74); + return offset ? (obj || new Referrable()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; +} + +vectorOfReferrablesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 74); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +singleWeakReference():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 76); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_single_weak_reference(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 76); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint64(this.bb_pos + offset, value); + return true; +} + +vectorOfWeakReferences(index: number):flatbuffers.Long|null { + const offset = this.bb!.__offset(this.bb_pos, 78); + return offset ? this.bb!.readUint64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0); +} + +vectorOfWeakReferencesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 78); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +vectorOfStrongReferrables(index: number, obj?:Referrable):Referrable|null { + const offset = this.bb!.__offset(this.bb_pos, 80); + return offset ? (obj || new Referrable()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; +} + +vectorOfStrongReferrablesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 80); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +coOwningReference():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 82); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_co_owning_reference(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 82); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint64(this.bb_pos + offset, value); + return true; +} + +vectorOfCoOwningReferences(index: number):flatbuffers.Long|null { + const offset = this.bb!.__offset(this.bb_pos, 84); + return offset ? this.bb!.readUint64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0); +} + +vectorOfCoOwningReferencesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 84); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +nonOwningReference():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 86); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_non_owning_reference(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 86); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint64(this.bb_pos + offset, value); + return true; +} + +vectorOfNonOwningReferences(index: number):flatbuffers.Long|null { + const offset = this.bb!.__offset(this.bb_pos, 88); + return offset ? this.bb!.readUint64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0); +} + +vectorOfNonOwningReferencesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 88); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +anyUniqueType():AnyUniqueAliases { + const offset = this.bb!.__offset(this.bb_pos, 90); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : AnyUniqueAliases.NONE; +} + +anyUnique<T extends flatbuffers.Table>(obj:any):any|null { + const offset = this.bb!.__offset(this.bb_pos, 92); + return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null; +} + +anyAmbiguousType():AnyAmbiguousAliases { + const offset = this.bb!.__offset(this.bb_pos, 94); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : AnyAmbiguousAliases.NONE; +} + +anyAmbiguous<T extends flatbuffers.Table>(obj:any):any|null { + const offset = this.bb!.__offset(this.bb_pos, 96); + return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null; +} + +vectorOfEnums(index: number):Color|null { + const offset = this.bb!.__offset(this.bb_pos, 98); + return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; +} + +vectorOfEnumsLength():number { + const offset = this.bb!.__offset(this.bb_pos, 98); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +vectorOfEnumsArray():Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 98); + return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +signedEnum():Race { + const offset = this.bb!.__offset(this.bb_pos, 100); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : Race.None; +} + +mutate_signed_enum(value:Race):boolean { + const offset = this.bb!.__offset(this.bb_pos, 100); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt8(this.bb_pos + offset, value); + return true; +} + +testrequirednestedflatbuffer(index: number):number|null { + const offset = this.bb!.__offset(this.bb_pos, 102); + return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; +} + +testrequirednestedflatbufferLength():number { + const offset = this.bb!.__offset(this.bb_pos, 102); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +testrequirednestedflatbufferArray():Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 102); + return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +scalarKeySortedTables(index: number, obj?:Stat):Stat|null { + const offset = this.bb!.__offset(this.bb_pos, 104); + return offset ? (obj || new Stat()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; +} + +scalarKeySortedTablesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 104); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +static startMonster(builder:flatbuffers.Builder) { + builder.startObject(51); +} + +static addPos(builder:flatbuffers.Builder, posOffset:flatbuffers.Offset) { + builder.addFieldStruct(0, posOffset, 0); +} + +static addMana(builder:flatbuffers.Builder, mana:number) { + builder.addFieldInt16(1, mana, 150); +} + +static addHp(builder:flatbuffers.Builder, hp:number) { + builder.addFieldInt16(2, hp, 100); +} + +static addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) { + builder.addFieldOffset(3, nameOffset, 0); +} + +static addInventory(builder:flatbuffers.Builder, inventoryOffset:flatbuffers.Offset) { + builder.addFieldOffset(5, inventoryOffset, 0); +} + +static createInventoryVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { + builder.startVector(1, data.length, 1); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt8(data[i]!); + } + return builder.endVector(); +} + +static startInventoryVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(1, numElems, 1); +} + +static addColor(builder:flatbuffers.Builder, color:Color) { + builder.addFieldInt8(6, color, Color.Blue); +} + +static addTestType(builder:flatbuffers.Builder, testType:Any) { + builder.addFieldInt8(7, testType, Any.NONE); +} + +static addTest(builder:flatbuffers.Builder, testOffset:flatbuffers.Offset) { + builder.addFieldOffset(8, testOffset, 0); +} + +static addTest4(builder:flatbuffers.Builder, test4Offset:flatbuffers.Offset) { + builder.addFieldOffset(9, test4Offset, 0); +} + +static startTest4Vector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 2); +} + +static addTestarrayofstring(builder:flatbuffers.Builder, testarrayofstringOffset:flatbuffers.Offset) { + builder.addFieldOffset(10, testarrayofstringOffset, 0); +} + +static createTestarrayofstringVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startTestarrayofstringVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + +static addTestarrayoftables(builder:flatbuffers.Builder, testarrayoftablesOffset:flatbuffers.Offset) { + builder.addFieldOffset(11, testarrayoftablesOffset, 0); +} + +static createTestarrayoftablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startTestarrayoftablesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + +static addEnemy(builder:flatbuffers.Builder, enemyOffset:flatbuffers.Offset) { + builder.addFieldOffset(12, enemyOffset, 0); +} + +static addTestnestedflatbuffer(builder:flatbuffers.Builder, testnestedflatbufferOffset:flatbuffers.Offset) { + builder.addFieldOffset(13, testnestedflatbufferOffset, 0); +} + +static createTestnestedflatbufferVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { + builder.startVector(1, data.length, 1); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt8(data[i]!); + } + return builder.endVector(); +} + +static startTestnestedflatbufferVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(1, numElems, 1); +} + +static addTestempty(builder:flatbuffers.Builder, testemptyOffset:flatbuffers.Offset) { + builder.addFieldOffset(14, testemptyOffset, 0); +} + +static addTestbool(builder:flatbuffers.Builder, testbool:boolean) { + builder.addFieldInt8(15, +testbool, +false); +} + +static addTesthashs32Fnv1(builder:flatbuffers.Builder, testhashs32Fnv1:number) { + builder.addFieldInt32(16, testhashs32Fnv1, 0); +} + +static addTesthashu32Fnv1(builder:flatbuffers.Builder, testhashu32Fnv1:number) { + builder.addFieldInt32(17, testhashu32Fnv1, 0); +} + +static addTesthashs64Fnv1(builder:flatbuffers.Builder, testhashs64Fnv1:flatbuffers.Long) { + builder.addFieldInt64(18, testhashs64Fnv1, builder.createLong(0, 0)); +} + +static addTesthashu64Fnv1(builder:flatbuffers.Builder, testhashu64Fnv1:flatbuffers.Long) { + builder.addFieldInt64(19, testhashu64Fnv1, builder.createLong(0, 0)); +} + +static addTesthashs32Fnv1a(builder:flatbuffers.Builder, testhashs32Fnv1a:number) { + builder.addFieldInt32(20, testhashs32Fnv1a, 0); +} + +static addTesthashu32Fnv1a(builder:flatbuffers.Builder, testhashu32Fnv1a:number) { + builder.addFieldInt32(21, testhashu32Fnv1a, 0); +} + +static addTesthashs64Fnv1a(builder:flatbuffers.Builder, testhashs64Fnv1a:flatbuffers.Long) { + builder.addFieldInt64(22, testhashs64Fnv1a, builder.createLong(0, 0)); +} + +static addTesthashu64Fnv1a(builder:flatbuffers.Builder, testhashu64Fnv1a:flatbuffers.Long) { + builder.addFieldInt64(23, testhashu64Fnv1a, builder.createLong(0, 0)); +} + +static addTestarrayofbools(builder:flatbuffers.Builder, testarrayofboolsOffset:flatbuffers.Offset) { + builder.addFieldOffset(24, testarrayofboolsOffset, 0); +} + +static createTestarrayofboolsVector(builder:flatbuffers.Builder, data:boolean[]):flatbuffers.Offset { + builder.startVector(1, data.length, 1); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt8(+data[i]!); + } + return builder.endVector(); +} + +static startTestarrayofboolsVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(1, numElems, 1); +} + +static addTestf(builder:flatbuffers.Builder, testf:number) { + builder.addFieldFloat32(25, testf, 3.14159); +} + +static addTestf2(builder:flatbuffers.Builder, testf2:number) { + builder.addFieldFloat32(26, testf2, 3.0); +} + +static addTestf3(builder:flatbuffers.Builder, testf3:number) { + builder.addFieldFloat32(27, testf3, 0.0); +} + +static addTestarrayofstring2(builder:flatbuffers.Builder, testarrayofstring2Offset:flatbuffers.Offset) { + builder.addFieldOffset(28, testarrayofstring2Offset, 0); +} + +static createTestarrayofstring2Vector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startTestarrayofstring2Vector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + +static addTestarrayofsortedstruct(builder:flatbuffers.Builder, testarrayofsortedstructOffset:flatbuffers.Offset) { + builder.addFieldOffset(29, testarrayofsortedstructOffset, 0); +} + +static startTestarrayofsortedstructVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(8, numElems, 4); +} + +static addFlex(builder:flatbuffers.Builder, flexOffset:flatbuffers.Offset) { + builder.addFieldOffset(30, flexOffset, 0); +} + +static createFlexVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { + builder.startVector(1, data.length, 1); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt8(data[i]!); + } + return builder.endVector(); +} + +static startFlexVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(1, numElems, 1); +} + +static addTest5(builder:flatbuffers.Builder, test5Offset:flatbuffers.Offset) { + builder.addFieldOffset(31, test5Offset, 0); +} + +static startTest5Vector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 2); +} + +static addVectorOfLongs(builder:flatbuffers.Builder, vectorOfLongsOffset:flatbuffers.Offset) { + builder.addFieldOffset(32, vectorOfLongsOffset, 0); +} + +static createVectorOfLongsVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { + builder.startVector(8, data.length, 8); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt64(data[i]!); + } + return builder.endVector(); +} + +static startVectorOfLongsVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(8, numElems, 8); +} + +static addVectorOfDoubles(builder:flatbuffers.Builder, vectorOfDoublesOffset:flatbuffers.Offset) { + builder.addFieldOffset(33, vectorOfDoublesOffset, 0); +} + +static createVectorOfDoublesVector(builder:flatbuffers.Builder, data:number[]|Float64Array):flatbuffers.Offset; +/** + * @deprecated This Uint8Array overload will be removed in the future. + */ +static createVectorOfDoublesVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset; +static createVectorOfDoublesVector(builder:flatbuffers.Builder, data:number[]|Float64Array|Uint8Array):flatbuffers.Offset { + builder.startVector(8, data.length, 8); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat64(data[i]!); + } + return builder.endVector(); +} + +static startVectorOfDoublesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(8, numElems, 8); +} + +static addParentNamespaceTest(builder:flatbuffers.Builder, parentNamespaceTestOffset:flatbuffers.Offset) { + builder.addFieldOffset(34, parentNamespaceTestOffset, 0); +} + +static addVectorOfReferrables(builder:flatbuffers.Builder, vectorOfReferrablesOffset:flatbuffers.Offset) { + builder.addFieldOffset(35, vectorOfReferrablesOffset, 0); +} + +static createVectorOfReferrablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startVectorOfReferrablesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + +static addSingleWeakReference(builder:flatbuffers.Builder, singleWeakReference:flatbuffers.Long) { + builder.addFieldInt64(36, singleWeakReference, builder.createLong(0, 0)); +} + +static addVectorOfWeakReferences(builder:flatbuffers.Builder, vectorOfWeakReferencesOffset:flatbuffers.Offset) { + builder.addFieldOffset(37, vectorOfWeakReferencesOffset, 0); +} + +static createVectorOfWeakReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { + builder.startVector(8, data.length, 8); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt64(data[i]!); + } + return builder.endVector(); +} + +static startVectorOfWeakReferencesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(8, numElems, 8); +} + +static addVectorOfStrongReferrables(builder:flatbuffers.Builder, vectorOfStrongReferrablesOffset:flatbuffers.Offset) { + builder.addFieldOffset(38, vectorOfStrongReferrablesOffset, 0); +} + +static createVectorOfStrongReferrablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startVectorOfStrongReferrablesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + +static addCoOwningReference(builder:flatbuffers.Builder, coOwningReference:flatbuffers.Long) { + builder.addFieldInt64(39, coOwningReference, builder.createLong(0, 0)); +} + +static addVectorOfCoOwningReferences(builder:flatbuffers.Builder, vectorOfCoOwningReferencesOffset:flatbuffers.Offset) { + builder.addFieldOffset(40, vectorOfCoOwningReferencesOffset, 0); +} + +static createVectorOfCoOwningReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { + builder.startVector(8, data.length, 8); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt64(data[i]!); + } + return builder.endVector(); +} + +static startVectorOfCoOwningReferencesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(8, numElems, 8); +} + +static addNonOwningReference(builder:flatbuffers.Builder, nonOwningReference:flatbuffers.Long) { + builder.addFieldInt64(41, nonOwningReference, builder.createLong(0, 0)); +} + +static addVectorOfNonOwningReferences(builder:flatbuffers.Builder, vectorOfNonOwningReferencesOffset:flatbuffers.Offset) { + builder.addFieldOffset(42, vectorOfNonOwningReferencesOffset, 0); +} + +static createVectorOfNonOwningReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { + builder.startVector(8, data.length, 8); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt64(data[i]!); + } + return builder.endVector(); +} + +static startVectorOfNonOwningReferencesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(8, numElems, 8); +} + +static addAnyUniqueType(builder:flatbuffers.Builder, anyUniqueType:AnyUniqueAliases) { + builder.addFieldInt8(43, anyUniqueType, AnyUniqueAliases.NONE); +} + +static addAnyUnique(builder:flatbuffers.Builder, anyUniqueOffset:flatbuffers.Offset) { + builder.addFieldOffset(44, anyUniqueOffset, 0); +} + +static addAnyAmbiguousType(builder:flatbuffers.Builder, anyAmbiguousType:AnyAmbiguousAliases) { + builder.addFieldInt8(45, anyAmbiguousType, AnyAmbiguousAliases.NONE); +} + +static addAnyAmbiguous(builder:flatbuffers.Builder, anyAmbiguousOffset:flatbuffers.Offset) { + builder.addFieldOffset(46, anyAmbiguousOffset, 0); +} + +static addVectorOfEnums(builder:flatbuffers.Builder, vectorOfEnumsOffset:flatbuffers.Offset) { + builder.addFieldOffset(47, vectorOfEnumsOffset, 0); +} + +static createVectorOfEnumsVector(builder:flatbuffers.Builder, data:Color[]):flatbuffers.Offset { + builder.startVector(1, data.length, 1); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt8(data[i]!); + } + return builder.endVector(); +} + +static startVectorOfEnumsVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(1, numElems, 1); +} + +static addSignedEnum(builder:flatbuffers.Builder, signedEnum:Race) { + builder.addFieldInt8(48, signedEnum, Race.None); +} + +static addTestrequirednestedflatbuffer(builder:flatbuffers.Builder, testrequirednestedflatbufferOffset:flatbuffers.Offset) { + builder.addFieldOffset(49, testrequirednestedflatbufferOffset, 0); +} + +static createTestrequirednestedflatbufferVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { + builder.startVector(1, data.length, 1); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt8(data[i]!); + } + return builder.endVector(); +} + +static startTestrequirednestedflatbufferVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(1, numElems, 1); +} + +static addScalarKeySortedTables(builder:flatbuffers.Builder, scalarKeySortedTablesOffset:flatbuffers.Offset) { + builder.addFieldOffset(50, scalarKeySortedTablesOffset, 0); +} + +static createScalarKeySortedTablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startScalarKeySortedTablesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + +static endMonster(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + builder.requiredField(offset, 10) // name + return offset; +} + +static finishMonsterBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { + builder.finish(offset, 'MONS'); +} + +static finishSizePrefixedMonsterBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { + builder.finish(offset, 'MONS', true); +} + + +serialize():Uint8Array { + return this.bb!.bytes(); +} + +static deserialize(buffer: Uint8Array):Monster { + return Monster.getRootAsMonster(new flatbuffers.ByteBuffer(buffer)) +} + +unpack(): MonsterT { + return new MonsterT( + (this.pos() !== null ? this.pos()!.unpack() : null), + this.mana(), + this.hp(), + this.name(), + this.bb!.createScalarList(this.inventory.bind(this), this.inventoryLength()), + this.color(), + this.testType(), + (() => { + let temp = unionToAny(this.testType(), this.test.bind(this)); + if(temp === null) { return null; } + return temp.unpack() + })(), + this.bb!.createObjList(this.test4.bind(this), this.test4Length()), + this.bb!.createScalarList(this.testarrayofstring.bind(this), this.testarrayofstringLength()), + this.bb!.createObjList(this.testarrayoftables.bind(this), this.testarrayoftablesLength()), + (this.enemy() !== null ? this.enemy()!.unpack() : null), + this.bb!.createScalarList(this.testnestedflatbuffer.bind(this), this.testnestedflatbufferLength()), + (this.testempty() !== null ? this.testempty()!.unpack() : null), + this.testbool(), + this.testhashs32Fnv1(), + this.testhashu32Fnv1(), + this.testhashs64Fnv1(), + this.testhashu64Fnv1(), + this.testhashs32Fnv1a(), + this.testhashu32Fnv1a(), + this.testhashs64Fnv1a(), + this.testhashu64Fnv1a(), + this.bb!.createScalarList(this.testarrayofbools.bind(this), this.testarrayofboolsLength()), + this.testf(), + this.testf2(), + this.testf3(), + this.bb!.createScalarList(this.testarrayofstring2.bind(this), this.testarrayofstring2Length()), + this.bb!.createObjList(this.testarrayofsortedstruct.bind(this), this.testarrayofsortedstructLength()), + this.bb!.createScalarList(this.flex.bind(this), this.flexLength()), + this.bb!.createObjList(this.test5.bind(this), this.test5Length()), + this.bb!.createScalarList(this.vectorOfLongs.bind(this), this.vectorOfLongsLength()), + this.bb!.createScalarList(this.vectorOfDoubles.bind(this), this.vectorOfDoublesLength()), + (this.parentNamespaceTest() !== null ? this.parentNamespaceTest()!.unpack() : null), + this.bb!.createObjList(this.vectorOfReferrables.bind(this), this.vectorOfReferrablesLength()), + this.singleWeakReference(), + this.bb!.createScalarList(this.vectorOfWeakReferences.bind(this), this.vectorOfWeakReferencesLength()), + this.bb!.createObjList(this.vectorOfStrongReferrables.bind(this), this.vectorOfStrongReferrablesLength()), + this.coOwningReference(), + this.bb!.createScalarList(this.vectorOfCoOwningReferences.bind(this), this.vectorOfCoOwningReferencesLength()), + this.nonOwningReference(), + this.bb!.createScalarList(this.vectorOfNonOwningReferences.bind(this), this.vectorOfNonOwningReferencesLength()), + this.anyUniqueType(), + (() => { + let temp = unionToAnyUniqueAliases(this.anyUniqueType(), this.anyUnique.bind(this)); + if(temp === null) { return null; } + return temp.unpack() + })(), + this.anyAmbiguousType(), + (() => { + let temp = unionToAnyAmbiguousAliases(this.anyAmbiguousType(), this.anyAmbiguous.bind(this)); + if(temp === null) { return null; } + return temp.unpack() + })(), + this.bb!.createScalarList(this.vectorOfEnums.bind(this), this.vectorOfEnumsLength()), + this.signedEnum(), + this.bb!.createScalarList(this.testrequirednestedflatbuffer.bind(this), this.testrequirednestedflatbufferLength()), + this.bb!.createObjList(this.scalarKeySortedTables.bind(this), this.scalarKeySortedTablesLength()) + ); +} + + +unpackTo(_o: MonsterT): void { + _o.pos = (this.pos() !== null ? this.pos()!.unpack() : null); + _o.mana = this.mana(); + _o.hp = this.hp(); + _o.name = this.name(); + _o.inventory = this.bb!.createScalarList(this.inventory.bind(this), this.inventoryLength()); + _o.color = this.color(); + _o.testType = this.testType(); + _o.test = (() => { + let temp = unionToAny(this.testType(), this.test.bind(this)); + if(temp === null) { return null; } + return temp.unpack() + })(); + _o.test4 = this.bb!.createObjList(this.test4.bind(this), this.test4Length()); + _o.testarrayofstring = this.bb!.createScalarList(this.testarrayofstring.bind(this), this.testarrayofstringLength()); + _o.testarrayoftables = this.bb!.createObjList(this.testarrayoftables.bind(this), this.testarrayoftablesLength()); + _o.enemy = (this.enemy() !== null ? this.enemy()!.unpack() : null); + _o.testnestedflatbuffer = this.bb!.createScalarList(this.testnestedflatbuffer.bind(this), this.testnestedflatbufferLength()); + _o.testempty = (this.testempty() !== null ? this.testempty()!.unpack() : null); + _o.testbool = this.testbool(); + _o.testhashs32Fnv1 = this.testhashs32Fnv1(); + _o.testhashu32Fnv1 = this.testhashu32Fnv1(); + _o.testhashs64Fnv1 = this.testhashs64Fnv1(); + _o.testhashu64Fnv1 = this.testhashu64Fnv1(); + _o.testhashs32Fnv1a = this.testhashs32Fnv1a(); + _o.testhashu32Fnv1a = this.testhashu32Fnv1a(); + _o.testhashs64Fnv1a = this.testhashs64Fnv1a(); + _o.testhashu64Fnv1a = this.testhashu64Fnv1a(); + _o.testarrayofbools = this.bb!.createScalarList(this.testarrayofbools.bind(this), this.testarrayofboolsLength()); + _o.testf = this.testf(); + _o.testf2 = this.testf2(); + _o.testf3 = this.testf3(); + _o.testarrayofstring2 = this.bb!.createScalarList(this.testarrayofstring2.bind(this), this.testarrayofstring2Length()); + _o.testarrayofsortedstruct = this.bb!.createObjList(this.testarrayofsortedstruct.bind(this), this.testarrayofsortedstructLength()); + _o.flex = this.bb!.createScalarList(this.flex.bind(this), this.flexLength()); + _o.test5 = this.bb!.createObjList(this.test5.bind(this), this.test5Length()); + _o.vectorOfLongs = this.bb!.createScalarList(this.vectorOfLongs.bind(this), this.vectorOfLongsLength()); + _o.vectorOfDoubles = this.bb!.createScalarList(this.vectorOfDoubles.bind(this), this.vectorOfDoublesLength()); + _o.parentNamespaceTest = (this.parentNamespaceTest() !== null ? this.parentNamespaceTest()!.unpack() : null); + _o.vectorOfReferrables = this.bb!.createObjList(this.vectorOfReferrables.bind(this), this.vectorOfReferrablesLength()); + _o.singleWeakReference = this.singleWeakReference(); + _o.vectorOfWeakReferences = this.bb!.createScalarList(this.vectorOfWeakReferences.bind(this), this.vectorOfWeakReferencesLength()); + _o.vectorOfStrongReferrables = this.bb!.createObjList(this.vectorOfStrongReferrables.bind(this), this.vectorOfStrongReferrablesLength()); + _o.coOwningReference = this.coOwningReference(); + _o.vectorOfCoOwningReferences = this.bb!.createScalarList(this.vectorOfCoOwningReferences.bind(this), this.vectorOfCoOwningReferencesLength()); + _o.nonOwningReference = this.nonOwningReference(); + _o.vectorOfNonOwningReferences = this.bb!.createScalarList(this.vectorOfNonOwningReferences.bind(this), this.vectorOfNonOwningReferencesLength()); + _o.anyUniqueType = this.anyUniqueType(); + _o.anyUnique = (() => { + let temp = unionToAnyUniqueAliases(this.anyUniqueType(), this.anyUnique.bind(this)); + if(temp === null) { return null; } + return temp.unpack() + })(); + _o.anyAmbiguousType = this.anyAmbiguousType(); + _o.anyAmbiguous = (() => { + let temp = unionToAnyAmbiguousAliases(this.anyAmbiguousType(), this.anyAmbiguous.bind(this)); + if(temp === null) { return null; } + return temp.unpack() + })(); + _o.vectorOfEnums = this.bb!.createScalarList(this.vectorOfEnums.bind(this), this.vectorOfEnumsLength()); + _o.signedEnum = this.signedEnum(); + _o.testrequirednestedflatbuffer = this.bb!.createScalarList(this.testrequirednestedflatbuffer.bind(this), this.testrequirednestedflatbufferLength()); + _o.scalarKeySortedTables = this.bb!.createObjList(this.scalarKeySortedTables.bind(this), this.scalarKeySortedTablesLength()); +} +} + +export class MonsterT { +constructor( + public pos: Vec3T|null = null, + public mana: number = 150, + public hp: number = 100, + public name: string|Uint8Array|null = null, + public inventory: (number)[] = [], + public color: Color = Color.Blue, + public testType: Any = Any.NONE, + public test: MonsterT|MyGameExample2MonsterT|TestSimpleTableWithEnumT|null = null, + public test4: (TestT)[] = [], + public testarrayofstring: (string)[] = [], + public testarrayoftables: (MonsterT)[] = [], + public enemy: MonsterT|null = null, + public testnestedflatbuffer: (number)[] = [], + public testempty: StatT|null = null, + public testbool: boolean = false, + public testhashs32Fnv1: number = 0, + public testhashu32Fnv1: number = 0, + public testhashs64Fnv1: flatbuffers.Long = flatbuffers.createLong(0, 0), + public testhashu64Fnv1: flatbuffers.Long = flatbuffers.createLong(0, 0), + public testhashs32Fnv1a: number = 0, + public testhashu32Fnv1a: number = 0, + public testhashs64Fnv1a: flatbuffers.Long = flatbuffers.createLong(0, 0), + public testhashu64Fnv1a: flatbuffers.Long = flatbuffers.createLong(0, 0), + public testarrayofbools: (boolean)[] = [], + public testf: number = 3.14159, + public testf2: number = 3.0, + public testf3: number = 0.0, + public testarrayofstring2: (string)[] = [], + public testarrayofsortedstruct: (AbilityT)[] = [], + public flex: (number)[] = [], + public test5: (TestT)[] = [], + public vectorOfLongs: (flatbuffers.Long)[] = [], + public vectorOfDoubles: (number)[] = [], + public parentNamespaceTest: InParentNamespaceT|null = null, + public vectorOfReferrables: (ReferrableT)[] = [], + public singleWeakReference: flatbuffers.Long = flatbuffers.createLong(0, 0), + public vectorOfWeakReferences: (flatbuffers.Long)[] = [], + public vectorOfStrongReferrables: (ReferrableT)[] = [], + public coOwningReference: flatbuffers.Long = flatbuffers.createLong(0, 0), + public vectorOfCoOwningReferences: (flatbuffers.Long)[] = [], + public nonOwningReference: flatbuffers.Long = flatbuffers.createLong(0, 0), + public vectorOfNonOwningReferences: (flatbuffers.Long)[] = [], + public anyUniqueType: AnyUniqueAliases = AnyUniqueAliases.NONE, + public anyUnique: MonsterT|MyGameExample2MonsterT|TestSimpleTableWithEnumT|null = null, + public anyAmbiguousType: AnyAmbiguousAliases = AnyAmbiguousAliases.NONE, + public anyAmbiguous: MonsterT|null = null, + public vectorOfEnums: (Color)[] = [], + public signedEnum: Race = Race.None, + public testrequirednestedflatbuffer: (number)[] = [], + public scalarKeySortedTables: (StatT)[] = [] +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + const name = (this.name !== null ? builder.createString(this.name!) : 0); + const inventory = Monster.createInventoryVector(builder, this.inventory); + const test = builder.createObjectOffset(this.test); + const test4 = builder.createStructOffsetList(this.test4, Monster.startTest4Vector); + const testarrayofstring = Monster.createTestarrayofstringVector(builder, builder.createObjectOffsetList(this.testarrayofstring)); + const testarrayoftables = Monster.createTestarrayoftablesVector(builder, builder.createObjectOffsetList(this.testarrayoftables)); + const testnestedflatbuffer = Monster.createTestnestedflatbufferVector(builder, this.testnestedflatbuffer); + const testarrayofbools = Monster.createTestarrayofboolsVector(builder, this.testarrayofbools); + const testarrayofstring2 = Monster.createTestarrayofstring2Vector(builder, builder.createObjectOffsetList(this.testarrayofstring2)); + const testarrayofsortedstruct = builder.createStructOffsetList(this.testarrayofsortedstruct, Monster.startTestarrayofsortedstructVector); + const flex = Monster.createFlexVector(builder, this.flex); + const test5 = builder.createStructOffsetList(this.test5, Monster.startTest5Vector); + const vectorOfLongs = Monster.createVectorOfLongsVector(builder, this.vectorOfLongs); + const vectorOfDoubles = Monster.createVectorOfDoublesVector(builder, this.vectorOfDoubles); + const vectorOfReferrables = Monster.createVectorOfReferrablesVector(builder, builder.createObjectOffsetList(this.vectorOfReferrables)); + const vectorOfWeakReferences = Monster.createVectorOfWeakReferencesVector(builder, this.vectorOfWeakReferences); + const vectorOfStrongReferrables = Monster.createVectorOfStrongReferrablesVector(builder, builder.createObjectOffsetList(this.vectorOfStrongReferrables)); + const vectorOfCoOwningReferences = Monster.createVectorOfCoOwningReferencesVector(builder, this.vectorOfCoOwningReferences); + const vectorOfNonOwningReferences = Monster.createVectorOfNonOwningReferencesVector(builder, this.vectorOfNonOwningReferences); + const anyUnique = builder.createObjectOffset(this.anyUnique); + const anyAmbiguous = builder.createObjectOffset(this.anyAmbiguous); + const vectorOfEnums = Monster.createVectorOfEnumsVector(builder, this.vectorOfEnums); + const testrequirednestedflatbuffer = Monster.createTestrequirednestedflatbufferVector(builder, this.testrequirednestedflatbuffer); + const scalarKeySortedTables = Monster.createScalarKeySortedTablesVector(builder, builder.createObjectOffsetList(this.scalarKeySortedTables)); + + Monster.startMonster(builder); + Monster.addPos(builder, (this.pos !== null ? this.pos!.pack(builder) : 0)); + Monster.addMana(builder, this.mana); + Monster.addHp(builder, this.hp); + Monster.addName(builder, name); + Monster.addInventory(builder, inventory); + Monster.addColor(builder, this.color); + Monster.addTestType(builder, this.testType); + Monster.addTest(builder, test); + Monster.addTest4(builder, test4); + Monster.addTestarrayofstring(builder, testarrayofstring); + Monster.addTestarrayoftables(builder, testarrayoftables); + Monster.addEnemy(builder, (this.enemy !== null ? this.enemy!.pack(builder) : 0)); + Monster.addTestnestedflatbuffer(builder, testnestedflatbuffer); + Monster.addTestempty(builder, (this.testempty !== null ? this.testempty!.pack(builder) : 0)); + Monster.addTestbool(builder, this.testbool); + Monster.addTesthashs32Fnv1(builder, this.testhashs32Fnv1); + Monster.addTesthashu32Fnv1(builder, this.testhashu32Fnv1); + Monster.addTesthashs64Fnv1(builder, this.testhashs64Fnv1); + Monster.addTesthashu64Fnv1(builder, this.testhashu64Fnv1); + Monster.addTesthashs32Fnv1a(builder, this.testhashs32Fnv1a); + Monster.addTesthashu32Fnv1a(builder, this.testhashu32Fnv1a); + Monster.addTesthashs64Fnv1a(builder, this.testhashs64Fnv1a); + Monster.addTesthashu64Fnv1a(builder, this.testhashu64Fnv1a); + Monster.addTestarrayofbools(builder, testarrayofbools); + Monster.addTestf(builder, this.testf); + Monster.addTestf2(builder, this.testf2); + Monster.addTestf3(builder, this.testf3); + Monster.addTestarrayofstring2(builder, testarrayofstring2); + Monster.addTestarrayofsortedstruct(builder, testarrayofsortedstruct); + Monster.addFlex(builder, flex); + Monster.addTest5(builder, test5); + Monster.addVectorOfLongs(builder, vectorOfLongs); + Monster.addVectorOfDoubles(builder, vectorOfDoubles); + Monster.addParentNamespaceTest(builder, (this.parentNamespaceTest !== null ? this.parentNamespaceTest!.pack(builder) : 0)); + Monster.addVectorOfReferrables(builder, vectorOfReferrables); + Monster.addSingleWeakReference(builder, this.singleWeakReference); + Monster.addVectorOfWeakReferences(builder, vectorOfWeakReferences); + Monster.addVectorOfStrongReferrables(builder, vectorOfStrongReferrables); + Monster.addCoOwningReference(builder, this.coOwningReference); + Monster.addVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences); + Monster.addNonOwningReference(builder, this.nonOwningReference); + Monster.addVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences); + Monster.addAnyUniqueType(builder, this.anyUniqueType); + Monster.addAnyUnique(builder, anyUnique); + Monster.addAnyAmbiguousType(builder, this.anyAmbiguousType); + Monster.addAnyAmbiguous(builder, anyAmbiguous); + Monster.addVectorOfEnums(builder, vectorOfEnums); + Monster.addSignedEnum(builder, this.signedEnum); + Monster.addTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer); + Monster.addScalarKeySortedTables(builder, scalarKeySortedTables); + + return Monster.endMonster(builder); +} +} diff --git a/tests/my-game/example/race.ts b/tests/my-game/example/race.ts new file mode 100644 index 00000000..06ca128b --- /dev/null +++ b/tests/my-game/example/race.ts @@ -0,0 +1,9 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +export enum Race{ + None = -1, + Human = 0, + Dwarf = 1, + Elf = 2 +} + diff --git a/tests/my-game/example/referrable.ts b/tests/my-game/example/referrable.ts new file mode 100644 index 00000000..05e2a890 --- /dev/null +++ b/tests/my-game/example/referrable.ts @@ -0,0 +1,91 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class Referrable { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Referrable { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsReferrable(bb:flatbuffers.ByteBuffer, obj?:Referrable):Referrable { + return (obj || new Referrable()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsReferrable(bb:flatbuffers.ByteBuffer, obj?:Referrable):Referrable { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new Referrable()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +id():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_id(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 4); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint64(this.bb_pos + offset, value); + return true; +} + +static startReferrable(builder:flatbuffers.Builder) { + builder.startObject(1); +} + +static addId(builder:flatbuffers.Builder, id:flatbuffers.Long) { + builder.addFieldInt64(0, id, builder.createLong(0, 0)); +} + +static endReferrable(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createReferrable(builder:flatbuffers.Builder, id:flatbuffers.Long):flatbuffers.Offset { + Referrable.startReferrable(builder); + Referrable.addId(builder, id); + return Referrable.endReferrable(builder); +} + +serialize():Uint8Array { + return this.bb!.bytes(); +} + +static deserialize(buffer: Uint8Array):Referrable { + return Referrable.getRootAsReferrable(new flatbuffers.ByteBuffer(buffer)) +} + +unpack(): ReferrableT { + return new ReferrableT( + this.id() + ); +} + + +unpackTo(_o: ReferrableT): void { + _o.id = this.id(); +} +} + +export class ReferrableT { +constructor( + public id: flatbuffers.Long = flatbuffers.createLong(0, 0) +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return Referrable.createReferrable(builder, + this.id + ); +} +} diff --git a/tests/my-game/example/stat.ts b/tests/my-game/example/stat.ts new file mode 100644 index 00000000..87361e0b --- /dev/null +++ b/tests/my-game/example/stat.ts @@ -0,0 +1,134 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class Stat { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Stat { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsStat(bb:flatbuffers.ByteBuffer, obj?:Stat):Stat { + return (obj || new Stat()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsStat(bb:flatbuffers.ByteBuffer, obj?:Stat):Stat { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new Stat()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +id():string|null +id(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null +id(optionalEncoding?:any):string|Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null; +} + +val():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_val(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 6); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt64(this.bb_pos + offset, value); + return true; +} + +count():number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0; +} + +mutate_count(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 8); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint16(this.bb_pos + offset, value); + return true; +} + +static startStat(builder:flatbuffers.Builder) { + builder.startObject(3); +} + +static addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) { + builder.addFieldOffset(0, idOffset, 0); +} + +static addVal(builder:flatbuffers.Builder, val:flatbuffers.Long) { + builder.addFieldInt64(1, val, builder.createLong(0, 0)); +} + +static addCount(builder:flatbuffers.Builder, count:number) { + builder.addFieldInt16(2, count, 0); +} + +static endStat(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createStat(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset, val:flatbuffers.Long, count:number):flatbuffers.Offset { + Stat.startStat(builder); + Stat.addId(builder, idOffset); + Stat.addVal(builder, val); + Stat.addCount(builder, count); + return Stat.endStat(builder); +} + +serialize():Uint8Array { + return this.bb!.bytes(); +} + +static deserialize(buffer: Uint8Array):Stat { + return Stat.getRootAsStat(new flatbuffers.ByteBuffer(buffer)) +} + +unpack(): StatT { + return new StatT( + this.id(), + this.val(), + this.count() + ); +} + + +unpackTo(_o: StatT): void { + _o.id = this.id(); + _o.val = this.val(); + _o.count = this.count(); +} +} + +export class StatT { +constructor( + public id: string|Uint8Array|null = null, + public val: flatbuffers.Long = flatbuffers.createLong(0, 0), + public count: number = 0 +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + const id = (this.id !== null ? builder.createString(this.id!) : 0); + + return Stat.createStat(builder, + id, + this.val, + this.count + ); +} +} diff --git a/tests/my-game/example/test-simple-table-with-enum.ts b/tests/my-game/example/test-simple-table-with-enum.ts new file mode 100644 index 00000000..e8121b41 --- /dev/null +++ b/tests/my-game/example/test-simple-table-with-enum.ts @@ -0,0 +1,92 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + +import { Color } from '../../my-game/example/color'; + + +export class TestSimpleTableWithEnum { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):TestSimpleTableWithEnum { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsTestSimpleTableWithEnum(bb:flatbuffers.ByteBuffer, obj?:TestSimpleTableWithEnum):TestSimpleTableWithEnum { + return (obj || new TestSimpleTableWithEnum()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsTestSimpleTableWithEnum(bb:flatbuffers.ByteBuffer, obj?:TestSimpleTableWithEnum):TestSimpleTableWithEnum { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TestSimpleTableWithEnum()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +color():Color { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : Color.Green; +} + +mutate_color(value:Color):boolean { + const offset = this.bb!.__offset(this.bb_pos, 4); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint8(this.bb_pos + offset, value); + return true; +} + +static startTestSimpleTableWithEnum(builder:flatbuffers.Builder) { + builder.startObject(1); +} + +static addColor(builder:flatbuffers.Builder, color:Color) { + builder.addFieldInt8(0, color, Color.Green); +} + +static endTestSimpleTableWithEnum(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createTestSimpleTableWithEnum(builder:flatbuffers.Builder, color:Color):flatbuffers.Offset { + TestSimpleTableWithEnum.startTestSimpleTableWithEnum(builder); + TestSimpleTableWithEnum.addColor(builder, color); + return TestSimpleTableWithEnum.endTestSimpleTableWithEnum(builder); +} + +serialize():Uint8Array { + return this.bb!.bytes(); +} + +static deserialize(buffer: Uint8Array):TestSimpleTableWithEnum { + return TestSimpleTableWithEnum.getRootAsTestSimpleTableWithEnum(new flatbuffers.ByteBuffer(buffer)) +} + +unpack(): TestSimpleTableWithEnumT { + return new TestSimpleTableWithEnumT( + this.color() + ); +} + + +unpackTo(_o: TestSimpleTableWithEnumT): void { + _o.color = this.color(); +} +} + +export class TestSimpleTableWithEnumT { +constructor( + public color: Color = Color.Green +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return TestSimpleTableWithEnum.createTestSimpleTableWithEnum(builder, + this.color + ); +} +} diff --git a/tests/my-game/example/test.ts b/tests/my-game/example/test.ts new file mode 100644 index 00000000..e49374db --- /dev/null +++ b/tests/my-game/example/test.ts @@ -0,0 +1,74 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class Test { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Test { + this.bb_pos = i; + this.bb = bb; + return this; +} + +a():number { + return this.bb!.readInt16(this.bb_pos); +} + +mutate_a(value:number):boolean { + this.bb!.writeInt16(this.bb_pos + 0, value); + return true; +} + +b():number { + return this.bb!.readInt8(this.bb_pos + 2); +} + +mutate_b(value:number):boolean { + this.bb!.writeInt8(this.bb_pos + 2, value); + return true; +} + +static sizeOf():number { + return 4; +} + +static createTest(builder:flatbuffers.Builder, a: number, b: number):flatbuffers.Offset { + builder.prep(2, 4); + builder.pad(1); + builder.writeInt8(b); + builder.writeInt16(a); + return builder.offset(); +} + + +unpack(): TestT { + return new TestT( + this.a(), + this.b() + ); +} + + +unpackTo(_o: TestT): void { + _o.a = this.a(); + _o.b = this.b(); +} +} + +export class TestT { +constructor( + public a: number = 0, + public b: number = 0 +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return Test.createTest(builder, + this.a, + this.b + ); +} +} diff --git a/tests/my-game/example/type-aliases.ts b/tests/my-game/example/type-aliases.ts new file mode 100644 index 00000000..8e89bbcb --- /dev/null +++ b/tests/my-game/example/type-aliases.ts @@ -0,0 +1,401 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class TypeAliases { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):TypeAliases { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsTypeAliases(bb:flatbuffers.ByteBuffer, obj?:TypeAliases):TypeAliases { + return (obj || new TypeAliases()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsTypeAliases(bb:flatbuffers.ByteBuffer, obj?:TypeAliases):TypeAliases { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TypeAliases()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +i8():number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : 0; +} + +mutate_i8(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 4); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt8(this.bb_pos + offset, value); + return true; +} + +u8():number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : 0; +} + +mutate_u8(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 6); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint8(this.bb_pos + offset, value); + return true; +} + +i16():number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt16(this.bb_pos + offset) : 0; +} + +mutate_i16(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 8); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt16(this.bb_pos + offset, value); + return true; +} + +u16():number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0; +} + +mutate_u16(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 10); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint16(this.bb_pos + offset, value); + return true; +} + +i32():number { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; +} + +mutate_i32(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 12); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt32(this.bb_pos + offset, value); + return true; +} + +u32():number { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0; +} + +mutate_u32(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 14); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint32(this.bb_pos + offset, value); + return true; +} + +i64():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 16); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_i64(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 16); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt64(this.bb_pos + offset, value); + return true; +} + +u64():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 18); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +mutate_u64(value:flatbuffers.Long):boolean { + const offset = this.bb!.__offset(this.bb_pos, 18); + + if (offset === 0) { + return false; + } + + this.bb!.writeUint64(this.bb_pos + offset, value); + return true; +} + +f32():number { + const offset = this.bb!.__offset(this.bb_pos, 20); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 0.0; +} + +mutate_f32(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 20); + + if (offset === 0) { + return false; + } + + this.bb!.writeFloat32(this.bb_pos + offset, value); + return true; +} + +f64():number { + const offset = this.bb!.__offset(this.bb_pos, 22); + return offset ? this.bb!.readFloat64(this.bb_pos + offset) : 0.0; +} + +mutate_f64(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 22); + + if (offset === 0) { + return false; + } + + this.bb!.writeFloat64(this.bb_pos + offset, value); + return true; +} + +v8(index: number):number|null { + const offset = this.bb!.__offset(this.bb_pos, 24); + return offset ? this.bb!.readInt8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; +} + +v8Length():number { + const offset = this.bb!.__offset(this.bb_pos, 24); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +v8Array():Int8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 24); + return offset ? new Int8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +vf64(index: number):number|null { + const offset = this.bb!.__offset(this.bb_pos, 26); + return offset ? this.bb!.readFloat64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : 0; +} + +vf64Length():number { + const offset = this.bb!.__offset(this.bb_pos, 26); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +vf64Array():Float64Array|null { + const offset = this.bb!.__offset(this.bb_pos, 26); + return offset ? new Float64Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +static startTypeAliases(builder:flatbuffers.Builder) { + builder.startObject(12); +} + +static addI8(builder:flatbuffers.Builder, i8:number) { + builder.addFieldInt8(0, i8, 0); +} + +static addU8(builder:flatbuffers.Builder, u8:number) { + builder.addFieldInt8(1, u8, 0); +} + +static addI16(builder:flatbuffers.Builder, i16:number) { + builder.addFieldInt16(2, i16, 0); +} + +static addU16(builder:flatbuffers.Builder, u16:number) { + builder.addFieldInt16(3, u16, 0); +} + +static addI32(builder:flatbuffers.Builder, i32:number) { + builder.addFieldInt32(4, i32, 0); +} + +static addU32(builder:flatbuffers.Builder, u32:number) { + builder.addFieldInt32(5, u32, 0); +} + +static addI64(builder:flatbuffers.Builder, i64:flatbuffers.Long) { + builder.addFieldInt64(6, i64, builder.createLong(0, 0)); +} + +static addU64(builder:flatbuffers.Builder, u64:flatbuffers.Long) { + builder.addFieldInt64(7, u64, builder.createLong(0, 0)); +} + +static addF32(builder:flatbuffers.Builder, f32:number) { + builder.addFieldFloat32(8, f32, 0.0); +} + +static addF64(builder:flatbuffers.Builder, f64:number) { + builder.addFieldFloat64(9, f64, 0.0); +} + +static addV8(builder:flatbuffers.Builder, v8Offset:flatbuffers.Offset) { + builder.addFieldOffset(10, v8Offset, 0); +} + +static createV8Vector(builder:flatbuffers.Builder, data:number[]|Int8Array):flatbuffers.Offset; +/** + * @deprecated This Uint8Array overload will be removed in the future. + */ +static createV8Vector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset; +static createV8Vector(builder:flatbuffers.Builder, data:number[]|Int8Array|Uint8Array):flatbuffers.Offset { + builder.startVector(1, data.length, 1); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt8(data[i]!); + } + return builder.endVector(); +} + +static startV8Vector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(1, numElems, 1); +} + +static addVf64(builder:flatbuffers.Builder, vf64Offset:flatbuffers.Offset) { + builder.addFieldOffset(11, vf64Offset, 0); +} + +static createVf64Vector(builder:flatbuffers.Builder, data:number[]|Float64Array):flatbuffers.Offset; +/** + * @deprecated This Uint8Array overload will be removed in the future. + */ +static createVf64Vector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset; +static createVf64Vector(builder:flatbuffers.Builder, data:number[]|Float64Array|Uint8Array):flatbuffers.Offset { + builder.startVector(8, data.length, 8); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat64(data[i]!); + } + return builder.endVector(); +} + +static startVf64Vector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(8, numElems, 8); +} + +static endTypeAliases(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createTypeAliases(builder:flatbuffers.Builder, i8:number, u8:number, i16:number, u16:number, i32:number, u32:number, i64:flatbuffers.Long, u64:flatbuffers.Long, f32:number, f64:number, v8Offset:flatbuffers.Offset, vf64Offset:flatbuffers.Offset):flatbuffers.Offset { + TypeAliases.startTypeAliases(builder); + TypeAliases.addI8(builder, i8); + TypeAliases.addU8(builder, u8); + TypeAliases.addI16(builder, i16); + TypeAliases.addU16(builder, u16); + TypeAliases.addI32(builder, i32); + TypeAliases.addU32(builder, u32); + TypeAliases.addI64(builder, i64); + TypeAliases.addU64(builder, u64); + TypeAliases.addF32(builder, f32); + TypeAliases.addF64(builder, f64); + TypeAliases.addV8(builder, v8Offset); + TypeAliases.addVf64(builder, vf64Offset); + return TypeAliases.endTypeAliases(builder); +} + +serialize():Uint8Array { + return this.bb!.bytes(); +} + +static deserialize(buffer: Uint8Array):TypeAliases { + return TypeAliases.getRootAsTypeAliases(new flatbuffers.ByteBuffer(buffer)) +} + +unpack(): TypeAliasesT { + return new TypeAliasesT( + this.i8(), + this.u8(), + this.i16(), + this.u16(), + this.i32(), + this.u32(), + this.i64(), + this.u64(), + this.f32(), + this.f64(), + this.bb!.createScalarList(this.v8.bind(this), this.v8Length()), + this.bb!.createScalarList(this.vf64.bind(this), this.vf64Length()) + ); +} + + +unpackTo(_o: TypeAliasesT): void { + _o.i8 = this.i8(); + _o.u8 = this.u8(); + _o.i16 = this.i16(); + _o.u16 = this.u16(); + _o.i32 = this.i32(); + _o.u32 = this.u32(); + _o.i64 = this.i64(); + _o.u64 = this.u64(); + _o.f32 = this.f32(); + _o.f64 = this.f64(); + _o.v8 = this.bb!.createScalarList(this.v8.bind(this), this.v8Length()); + _o.vf64 = this.bb!.createScalarList(this.vf64.bind(this), this.vf64Length()); +} +} + +export class TypeAliasesT { +constructor( + public i8: number = 0, + public u8: number = 0, + public i16: number = 0, + public u16: number = 0, + public i32: number = 0, + public u32: number = 0, + public i64: flatbuffers.Long = flatbuffers.createLong(0, 0), + public u64: flatbuffers.Long = flatbuffers.createLong(0, 0), + public f32: number = 0.0, + public f64: number = 0.0, + public v8: (number)[] = [], + public vf64: (number)[] = [] +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + const v8 = TypeAliases.createV8Vector(builder, this.v8); + const vf64 = TypeAliases.createVf64Vector(builder, this.vf64); + + return TypeAliases.createTypeAliases(builder, + this.i8, + this.u8, + this.i16, + this.u16, + this.i32, + this.u32, + this.i64, + this.u64, + this.f32, + this.f64, + v8, + vf64 + ); +} +} diff --git a/tests/my-game/example/vec3.ts b/tests/my-game/example/vec3.ts new file mode 100644 index 00000000..eafc147b --- /dev/null +++ b/tests/my-game/example/vec3.ts @@ -0,0 +1,133 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + +import { Color } from '../../my-game/example/color'; +import { Test, TestT } from '../../my-game/example/test'; + + +export class Vec3 { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Vec3 { + this.bb_pos = i; + this.bb = bb; + return this; +} + +x():number { + return this.bb!.readFloat32(this.bb_pos); +} + +mutate_x(value:number):boolean { + this.bb!.writeFloat32(this.bb_pos + 0, value); + return true; +} + +y():number { + return this.bb!.readFloat32(this.bb_pos + 4); +} + +mutate_y(value:number):boolean { + this.bb!.writeFloat32(this.bb_pos + 4, value); + return true; +} + +z():number { + return this.bb!.readFloat32(this.bb_pos + 8); +} + +mutate_z(value:number):boolean { + this.bb!.writeFloat32(this.bb_pos + 8, value); + return true; +} + +test1():number { + return this.bb!.readFloat64(this.bb_pos + 16); +} + +mutate_test1(value:number):boolean { + this.bb!.writeFloat64(this.bb_pos + 16, value); + return true; +} + +test2():Color { + return this.bb!.readUint8(this.bb_pos + 24); +} + +mutate_test2(value:Color):boolean { + this.bb!.writeUint8(this.bb_pos + 24, value); + return true; +} + +test3(obj?:Test):Test|null { + return (obj || new Test()).__init(this.bb_pos + 26, this.bb!); +} + +static sizeOf():number { + return 32; +} + +static createVec3(builder:flatbuffers.Builder, x: number, y: number, z: number, test1: number, test2: Color, test3_a: number, test3_b: number):flatbuffers.Offset { + builder.prep(8, 32); + builder.pad(2); + builder.prep(2, 4); + builder.pad(1); + builder.writeInt8(test3_b); + builder.writeInt16(test3_a); + builder.pad(1); + builder.writeInt8(test2); + builder.writeFloat64(test1); + builder.pad(4); + builder.writeFloat32(z); + builder.writeFloat32(y); + builder.writeFloat32(x); + return builder.offset(); +} + + +unpack(): Vec3T { + return new Vec3T( + this.x(), + this.y(), + this.z(), + this.test1(), + this.test2(), + (this.test3() !== null ? this.test3()!.unpack() : null) + ); +} + + +unpackTo(_o: Vec3T): void { + _o.x = this.x(); + _o.y = this.y(); + _o.z = this.z(); + _o.test1 = this.test1(); + _o.test2 = this.test2(); + _o.test3 = (this.test3() !== null ? this.test3()!.unpack() : null); +} +} + +export class Vec3T { +constructor( + public x: number = 0.0, + public y: number = 0.0, + public z: number = 0.0, + public test1: number = 0.0, + public test2: Color = 0, + public test3: TestT|null = null +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return Vec3.createVec3(builder, + this.x, + this.y, + this.z, + this.test1, + this.test2, + (this.test3 === null ? 0 : this.test3.a!), + (this.test3 === null ? 0 : this.test3.b!) + ); +} +} diff --git a/tests/my-game/example2/monster.ts b/tests/my-game/example2/monster.ts new file mode 100644 index 00000000..d1aca42c --- /dev/null +++ b/tests/my-game/example2/monster.ts @@ -0,0 +1,62 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class Monster { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Monster { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsMonster(bb:flatbuffers.ByteBuffer, obj?:Monster):Monster { + return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsMonster(bb:flatbuffers.ByteBuffer, obj?:Monster):Monster { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new Monster()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static startMonster(builder:flatbuffers.Builder) { + builder.startObject(0); +} + +static endMonster(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createMonster(builder:flatbuffers.Builder):flatbuffers.Offset { + Monster.startMonster(builder); + return Monster.endMonster(builder); +} + +serialize():Uint8Array { + return this.bb!.bytes(); +} + +static deserialize(buffer: Uint8Array):Monster { + return Monster.getRootAsMonster(new flatbuffers.ByteBuffer(buffer)) +} + +unpack(): MonsterT { + return new MonsterT(); +} + + +unpackTo(_o: MonsterT): void {} +} + +export class MonsterT { +constructor(){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return Monster.createMonster(builder); +} +} diff --git a/tests/my-game/in-parent-namespace.ts b/tests/my-game/in-parent-namespace.ts new file mode 100644 index 00000000..9cb46c01 --- /dev/null +++ b/tests/my-game/in-parent-namespace.ts @@ -0,0 +1,62 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class InParentNamespace { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):InParentNamespace { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsInParentNamespace(bb:flatbuffers.ByteBuffer, obj?:InParentNamespace):InParentNamespace { + return (obj || new InParentNamespace()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsInParentNamespace(bb:flatbuffers.ByteBuffer, obj?:InParentNamespace):InParentNamespace { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new InParentNamespace()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static startInParentNamespace(builder:flatbuffers.Builder) { + builder.startObject(0); +} + +static endInParentNamespace(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createInParentNamespace(builder:flatbuffers.Builder):flatbuffers.Offset { + InParentNamespace.startInParentNamespace(builder); + return InParentNamespace.endInParentNamespace(builder); +} + +serialize():Uint8Array { + return this.bb!.bytes(); +} + +static deserialize(buffer: Uint8Array):InParentNamespace { + return InParentNamespace.getRootAsInParentNamespace(new flatbuffers.ByteBuffer(buffer)) +} + +unpack(): InParentNamespaceT { + return new InParentNamespaceT(); +} + + +unpackTo(_o: InParentNamespaceT): void {} +} + +export class InParentNamespaceT { +constructor(){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return InParentNamespace.createInParentNamespace(builder); +} +} diff --git a/tests/namespace_test/namespace-a/namespace-b/enum-in-nested-n-s.ts b/tests/namespace_test/namespace-a/namespace-b/enum-in-nested-n-s.ts new file mode 100644 index 00000000..676b7e43 --- /dev/null +++ b/tests/namespace_test/namespace-a/namespace-b/enum-in-nested-n-s.ts @@ -0,0 +1,8 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +export enum EnumInNestedNS{ + A = 0, + B = 1, + C = 2 +} + diff --git a/tests/namespace_test/namespace-a/namespace-b/struct-in-nested-n-s.ts b/tests/namespace_test/namespace-a/namespace-b/struct-in-nested-n-s.ts new file mode 100644 index 00000000..4b10118e --- /dev/null +++ b/tests/namespace_test/namespace-a/namespace-b/struct-in-nested-n-s.ts @@ -0,0 +1,77 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class StructInNestedNS { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):StructInNestedNS { + this.bb_pos = i; + this.bb = bb; + return this; +} + +a():number { + return this.bb!.readInt32(this.bb_pos); +} + +mutate_a(value:number):boolean { + this.bb!.writeInt32(this.bb_pos + 0, value); + return true; +} + +b():number { + return this.bb!.readInt32(this.bb_pos + 4); +} + +mutate_b(value:number):boolean { + this.bb!.writeInt32(this.bb_pos + 4, value); + return true; +} + +static getFullyQualifiedName():string { + return 'NamespaceA.NamespaceB.StructInNestedNS'; +} + +static sizeOf():number { + return 8; +} + +static createStructInNestedNS(builder:flatbuffers.Builder, a: number, b: number):flatbuffers.Offset { + builder.prep(4, 8); + builder.writeInt32(b); + builder.writeInt32(a); + return builder.offset(); +} + + +unpack(): StructInNestedNST { + return new StructInNestedNST( + this.a(), + this.b() + ); +} + + +unpackTo(_o: StructInNestedNST): void { + _o.a = this.a(); + _o.b = this.b(); +} +} + +export class StructInNestedNST { +constructor( + public a: number = 0, + public b: number = 0 +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return StructInNestedNS.createStructInNestedNS(builder, + this.a, + this.b + ); +} +} diff --git a/tests/namespace_test/namespace-a/namespace-b/table-in-nested-n-s.ts b/tests/namespace_test/namespace-a/namespace-b/table-in-nested-n-s.ts new file mode 100644 index 00000000..5279fdbd --- /dev/null +++ b/tests/namespace_test/namespace-a/namespace-b/table-in-nested-n-s.ts @@ -0,0 +1,87 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class TableInNestedNS { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):TableInNestedNS { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsTableInNestedNS(bb:flatbuffers.ByteBuffer, obj?:TableInNestedNS):TableInNestedNS { + return (obj || new TableInNestedNS()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsTableInNestedNS(bb:flatbuffers.ByteBuffer, obj?:TableInNestedNS):TableInNestedNS { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TableInNestedNS()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +foo():number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; +} + +mutate_foo(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 4); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt32(this.bb_pos + offset, value); + return true; +} + +static getFullyQualifiedName():string { + return 'NamespaceA.NamespaceB.TableInNestedNS'; +} + +static startTableInNestedNS(builder:flatbuffers.Builder) { + builder.startObject(1); +} + +static addFoo(builder:flatbuffers.Builder, foo:number) { + builder.addFieldInt32(0, foo, 0); +} + +static endTableInNestedNS(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createTableInNestedNS(builder:flatbuffers.Builder, foo:number):flatbuffers.Offset { + TableInNestedNS.startTableInNestedNS(builder); + TableInNestedNS.addFoo(builder, foo); + return TableInNestedNS.endTableInNestedNS(builder); +} + +unpack(): TableInNestedNST { + return new TableInNestedNST( + this.foo() + ); +} + + +unpackTo(_o: TableInNestedNST): void { + _o.foo = this.foo(); +} +} + +export class TableInNestedNST { +constructor( + public foo: number = 0 +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return TableInNestedNS.createTableInNestedNS(builder, + this.foo + ); +} +} diff --git a/tests/namespace_test/namespace-a/namespace-b/union-in-nested-n-s.ts b/tests/namespace_test/namespace-a/namespace-b/union-in-nested-n-s.ts new file mode 100644 index 00000000..441ebf76 --- /dev/null +++ b/tests/namespace_test/namespace-a/namespace-b/union-in-nested-n-s.ts @@ -0,0 +1,33 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import { TableInNestedNS, TableInNestedNST } from '../../namespace-a/namespace-b/table-in-nested-n-s'; + + +export enum UnionInNestedNS{ + NONE = 0, + TableInNestedNS = 1 +} + +export function unionToUnionInNestedNS( + type: UnionInNestedNS, + accessor: (obj:TableInNestedNS) => TableInNestedNS|null +): TableInNestedNS|null { + switch(UnionInNestedNS[type]) { + case 'NONE': return null; + case 'TableInNestedNS': return accessor(new TableInNestedNS())! as TableInNestedNS; + default: return null; + } +} + +export function unionListToUnionInNestedNS( + type: UnionInNestedNS, + accessor: (index: number, obj:TableInNestedNS) => TableInNestedNS|null, + index: number +): TableInNestedNS|null { + switch(UnionInNestedNS[type]) { + case 'NONE': return null; + case 'TableInNestedNS': return accessor(index, new TableInNestedNS())! as TableInNestedNS; + default: return null; + } +} + diff --git a/tests/namespace_test/namespace-a/second-table-in-a.ts b/tests/namespace_test/namespace-a/second-table-in-a.ts new file mode 100644 index 00000000..2d50a83b --- /dev/null +++ b/tests/namespace_test/namespace-a/second-table-in-a.ts @@ -0,0 +1,77 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + +import { TableInC, TableInCT } from '../namespace-c/table-in-c'; + + +export class SecondTableInA { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):SecondTableInA { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsSecondTableInA(bb:flatbuffers.ByteBuffer, obj?:SecondTableInA):SecondTableInA { + return (obj || new SecondTableInA()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsSecondTableInA(bb:flatbuffers.ByteBuffer, obj?:SecondTableInA):SecondTableInA { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new SecondTableInA()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +referToC(obj?:TableInC):TableInC|null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? (obj || new TableInC()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; +} + +static getFullyQualifiedName():string { + return 'NamespaceA.SecondTableInA'; +} + +static startSecondTableInA(builder:flatbuffers.Builder) { + builder.startObject(1); +} + +static addReferToC(builder:flatbuffers.Builder, referToCOffset:flatbuffers.Offset) { + builder.addFieldOffset(0, referToCOffset, 0); +} + +static endSecondTableInA(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createSecondTableInA(builder:flatbuffers.Builder, referToCOffset:flatbuffers.Offset):flatbuffers.Offset { + SecondTableInA.startSecondTableInA(builder); + SecondTableInA.addReferToC(builder, referToCOffset); + return SecondTableInA.endSecondTableInA(builder); +} + +unpack(): SecondTableInAT { + return new SecondTableInAT( + (this.referToC() !== null ? this.referToC()!.unpack() : null) + ); +} + + +unpackTo(_o: SecondTableInAT): void { + _o.referToC = (this.referToC() !== null ? this.referToC()!.unpack() : null); +} +} + +export class SecondTableInAT { +constructor( + public referToC: TableInCT|null = null +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return SecondTableInA.createSecondTableInA(builder, + (this.referToC !== null ? this.referToC!.pack(builder) : 0) + ); +} +} diff --git a/tests/namespace_test/namespace-a/table-in-first-n-s.ts b/tests/namespace_test/namespace-a/table-in-first-n-s.ts new file mode 100644 index 00000000..7a8832ea --- /dev/null +++ b/tests/namespace_test/namespace-a/table-in-first-n-s.ts @@ -0,0 +1,149 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + +import { EnumInNestedNS } from '../namespace-a/namespace-b/enum-in-nested-n-s'; +import { StructInNestedNS, StructInNestedNST } from '../namespace-a/namespace-b/struct-in-nested-n-s'; +import { TableInNestedNS, TableInNestedNST } from '../namespace-a/namespace-b/table-in-nested-n-s'; +import { UnionInNestedNS, unionToUnionInNestedNS, unionListToUnionInNestedNS } from '../namespace-a/namespace-b/union-in-nested-n-s'; + + +export class TableInFirstNS { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):TableInFirstNS { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsTableInFirstNS(bb:flatbuffers.ByteBuffer, obj?:TableInFirstNS):TableInFirstNS { + return (obj || new TableInFirstNS()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsTableInFirstNS(bb:flatbuffers.ByteBuffer, obj?:TableInFirstNS):TableInFirstNS { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TableInFirstNS()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +fooTable(obj?:NS8755221360535654258.TableInNestedNS):NS8755221360535654258.TableInNestedNS|null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? (obj || new NS8755221360535654258.TableInNestedNS()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; +} + +fooEnum():EnumInNestedNS { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : EnumInNestedNS.A; +} + +mutate_foo_enum(value:EnumInNestedNS):boolean { + const offset = this.bb!.__offset(this.bb_pos, 6); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt8(this.bb_pos + offset, value); + return true; +} + +fooUnionType():UnionInNestedNS { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : UnionInNestedNS.NONE; +} + +fooUnion<T extends flatbuffers.Table>(obj:any):any|null { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null; +} + +fooStruct(obj?:NS8755221360535654258.StructInNestedNS):NS8755221360535654258.StructInNestedNS|null { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? (obj || new NS8755221360535654258.StructInNestedNS()).__init(this.bb_pos + offset, this.bb!) : null; +} + +static getFullyQualifiedName():string { + return 'NamespaceA.TableInFirstNS'; +} + +static startTableInFirstNS(builder:flatbuffers.Builder) { + builder.startObject(5); +} + +static addFooTable(builder:flatbuffers.Builder, fooTableOffset:flatbuffers.Offset) { + builder.addFieldOffset(0, fooTableOffset, 0); +} + +static addFooEnum(builder:flatbuffers.Builder, fooEnum:EnumInNestedNS) { + builder.addFieldInt8(1, fooEnum, EnumInNestedNS.A); +} + +static addFooUnionType(builder:flatbuffers.Builder, fooUnionType:UnionInNestedNS) { + builder.addFieldInt8(2, fooUnionType, UnionInNestedNS.NONE); +} + +static addFooUnion(builder:flatbuffers.Builder, fooUnionOffset:flatbuffers.Offset) { + builder.addFieldOffset(3, fooUnionOffset, 0); +} + +static addFooStruct(builder:flatbuffers.Builder, fooStructOffset:flatbuffers.Offset) { + builder.addFieldStruct(4, fooStructOffset, 0); +} + +static endTableInFirstNS(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + + +unpack(): TableInFirstNST { + return new TableInFirstNST( + (this.fooTable() !== null ? this.fooTable()!.unpack() : null), + this.fooEnum(), + this.fooUnionType(), + (() => { + let temp = unionToUnionInNestedNS(this.fooUnionType(), this.fooUnion.bind(this)); + if(temp === null) { return null; } + return temp.unpack() + })(), + (this.fooStruct() !== null ? this.fooStruct()!.unpack() : null) + ); +} + + +unpackTo(_o: TableInFirstNST): void { + _o.fooTable = (this.fooTable() !== null ? this.fooTable()!.unpack() : null); + _o.fooEnum = this.fooEnum(); + _o.fooUnionType = this.fooUnionType(); + _o.fooUnion = (() => { + let temp = unionToUnionInNestedNS(this.fooUnionType(), this.fooUnion.bind(this)); + if(temp === null) { return null; } + return temp.unpack() + })(); + _o.fooStruct = (this.fooStruct() !== null ? this.fooStruct()!.unpack() : null); +} +} + +export class TableInFirstNST { +constructor( + public fooTable: TableInNestedNST|null = null, + public fooEnum: EnumInNestedNS = EnumInNestedNS.A, + public fooUnionType: UnionInNestedNS = UnionInNestedNS.NONE, + public fooUnion: TableInNestedNST|null = null, + public fooStruct: StructInNestedNST|null = null +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + const fooUnion = builder.createObjectOffset(this.fooUnion); + + TableInFirstNS.startTableInFirstNS(builder); + TableInFirstNS.addFooTable(builder, (this.fooTable !== null ? this.fooTable!.pack(builder) : 0)); + TableInFirstNS.addFooEnum(builder, this.fooEnum); + TableInFirstNS.addFooUnionType(builder, this.fooUnionType); + TableInFirstNS.addFooUnion(builder, fooUnion); + TableInFirstNS.addFooStruct(builder, (this.fooStruct !== null ? this.fooStruct!.pack(builder) : 0)); + + return TableInFirstNS.endTableInFirstNS(builder); +} +} diff --git a/tests/namespace_test/namespace-c/table-in-c.ts b/tests/namespace_test/namespace-c/table-in-c.ts new file mode 100644 index 00000000..7fd559bd --- /dev/null +++ b/tests/namespace_test/namespace-c/table-in-c.ts @@ -0,0 +1,87 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + +import { SecondTableInA, SecondTableInAT } from '../namespace-a/second-table-in-a'; +import { TableInFirstNS, TableInFirstNST } from '../namespace-a/table-in-first-n-s'; + + +export class TableInC { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):TableInC { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsTableInC(bb:flatbuffers.ByteBuffer, obj?:TableInC):TableInC { + return (obj || new TableInC()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsTableInC(bb:flatbuffers.ByteBuffer, obj?:TableInC):TableInC { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TableInC()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +referToA1(obj?:TableInFirstNS):TableInFirstNS|null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? (obj || new TableInFirstNS()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; +} + +referToA2(obj?:SecondTableInA):SecondTableInA|null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? (obj || new SecondTableInA()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; +} + +static getFullyQualifiedName():string { + return 'NamespaceC.TableInC'; +} + +static startTableInC(builder:flatbuffers.Builder) { + builder.startObject(2); +} + +static addReferToA1(builder:flatbuffers.Builder, referToA1Offset:flatbuffers.Offset) { + builder.addFieldOffset(0, referToA1Offset, 0); +} + +static addReferToA2(builder:flatbuffers.Builder, referToA2Offset:flatbuffers.Offset) { + builder.addFieldOffset(1, referToA2Offset, 0); +} + +static endTableInC(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + + +unpack(): TableInCT { + return new TableInCT( + (this.referToA1() !== null ? this.referToA1()!.unpack() : null), + (this.referToA2() !== null ? this.referToA2()!.unpack() : null) + ); +} + + +unpackTo(_o: TableInCT): void { + _o.referToA1 = (this.referToA1() !== null ? this.referToA1()!.unpack() : null); + _o.referToA2 = (this.referToA2() !== null ? this.referToA2()!.unpack() : null); +} +} + +export class TableInCT { +constructor( + public referToA1: TableInFirstNST|null = null, + public referToA2: SecondTableInAT|null = null +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + TableInC.startTableInC(builder); + TableInC.addReferToA1(builder, (this.referToA1 !== null ? this.referToA1!.pack(builder) : 0)); + TableInC.addReferToA2(builder, (this.referToA2 !== null ? this.referToA2!.pack(builder) : 0)); + + return TableInC.endTableInC(builder); +} +} diff --git a/tests/optional_scalars/optional-byte.ts b/tests/optional_scalars/optional-byte.ts new file mode 100644 index 00000000..1db479f1 --- /dev/null +++ b/tests/optional_scalars/optional-byte.ts @@ -0,0 +1,8 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +export enum OptionalByte{ + None = 0, + One = 1, + Two = 2 +} + diff --git a/tests/optional_scalars/scalar-stuff.ts b/tests/optional_scalars/scalar-stuff.ts new file mode 100644 index 00000000..ed611375 --- /dev/null +++ b/tests/optional_scalars/scalar-stuff.ts @@ -0,0 +1,423 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + +import { OptionalByte } from '../optional_scalars/optional-byte'; + + +export class ScalarStuff { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):ScalarStuff { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsScalarStuff(bb:flatbuffers.ByteBuffer, obj?:ScalarStuff):ScalarStuff { + return (obj || new ScalarStuff()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsScalarStuff(bb:flatbuffers.ByteBuffer, obj?:ScalarStuff):ScalarStuff { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new ScalarStuff()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean { + return bb.__has_identifier('NULL'); +} + +justI8():number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : 0; +} + +maybeI8():number|null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : null; +} + +defaultI8():number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : 42; +} + +justU8():number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : 0; +} + +maybeU8():number|null { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : null; +} + +defaultU8():number { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : 42; +} + +justI16():number { + const offset = this.bb!.__offset(this.bb_pos, 16); + return offset ? this.bb!.readInt16(this.bb_pos + offset) : 0; +} + +maybeI16():number|null { + const offset = this.bb!.__offset(this.bb_pos, 18); + return offset ? this.bb!.readInt16(this.bb_pos + offset) : null; +} + +defaultI16():number { + const offset = this.bb!.__offset(this.bb_pos, 20); + return offset ? this.bb!.readInt16(this.bb_pos + offset) : 42; +} + +justU16():number { + const offset = this.bb!.__offset(this.bb_pos, 22); + return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0; +} + +maybeU16():number|null { + const offset = this.bb!.__offset(this.bb_pos, 24); + return offset ? this.bb!.readUint16(this.bb_pos + offset) : null; +} + +defaultU16():number { + const offset = this.bb!.__offset(this.bb_pos, 26); + return offset ? this.bb!.readUint16(this.bb_pos + offset) : 42; +} + +justI32():number { + const offset = this.bb!.__offset(this.bb_pos, 28); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; +} + +maybeI32():number|null { + const offset = this.bb!.__offset(this.bb_pos, 30); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : null; +} + +defaultI32():number { + const offset = this.bb!.__offset(this.bb_pos, 32); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 42; +} + +justU32():number { + const offset = this.bb!.__offset(this.bb_pos, 34); + return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0; +} + +maybeU32():number|null { + const offset = this.bb!.__offset(this.bb_pos, 36); + return offset ? this.bb!.readUint32(this.bb_pos + offset) : null; +} + +defaultU32():number { + const offset = this.bb!.__offset(this.bb_pos, 38); + return offset ? this.bb!.readUint32(this.bb_pos + offset) : 42; +} + +justI64():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 40); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +maybeI64():flatbuffers.Long|null { + const offset = this.bb!.__offset(this.bb_pos, 42); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : null; +} + +defaultI64():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 44); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(42, 0); +} + +justU64():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 46); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(0, 0); +} + +maybeU64():flatbuffers.Long|null { + const offset = this.bb!.__offset(this.bb_pos, 48); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : null; +} + +defaultU64():flatbuffers.Long { + const offset = this.bb!.__offset(this.bb_pos, 50); + return offset ? this.bb!.readUint64(this.bb_pos + offset) : this.bb!.createLong(42, 0); +} + +justF32():number { + const offset = this.bb!.__offset(this.bb_pos, 52); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 0.0; +} + +maybeF32():number|null { + const offset = this.bb!.__offset(this.bb_pos, 54); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : null; +} + +defaultF32():number { + const offset = this.bb!.__offset(this.bb_pos, 56); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 42.0; +} + +justF64():number { + const offset = this.bb!.__offset(this.bb_pos, 58); + return offset ? this.bb!.readFloat64(this.bb_pos + offset) : 0.0; +} + +maybeF64():number|null { + const offset = this.bb!.__offset(this.bb_pos, 60); + return offset ? this.bb!.readFloat64(this.bb_pos + offset) : null; +} + +defaultF64():number { + const offset = this.bb!.__offset(this.bb_pos, 62); + return offset ? this.bb!.readFloat64(this.bb_pos + offset) : 42.0; +} + +justBool():boolean { + const offset = this.bb!.__offset(this.bb_pos, 64); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; +} + +maybeBool():boolean|null { + const offset = this.bb!.__offset(this.bb_pos, 66); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : null; +} + +defaultBool():boolean { + const offset = this.bb!.__offset(this.bb_pos, 68); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : true; +} + +justEnum():OptionalByte { + const offset = this.bb!.__offset(this.bb_pos, 70); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : OptionalByte.None; +} + +maybeEnum():OptionalByte|null { + const offset = this.bb!.__offset(this.bb_pos, 72); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : null; +} + +defaultEnum():OptionalByte { + const offset = this.bb!.__offset(this.bb_pos, 74); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : OptionalByte.One; +} + +static startScalarStuff(builder:flatbuffers.Builder) { + builder.startObject(36); +} + +static addJustI8(builder:flatbuffers.Builder, justI8:number) { + builder.addFieldInt8(0, justI8, 0); +} + +static addMaybeI8(builder:flatbuffers.Builder, maybeI8:number) { + builder.addFieldInt8(1, maybeI8, 0); +} + +static addDefaultI8(builder:flatbuffers.Builder, defaultI8:number) { + builder.addFieldInt8(2, defaultI8, 42); +} + +static addJustU8(builder:flatbuffers.Builder, justU8:number) { + builder.addFieldInt8(3, justU8, 0); +} + +static addMaybeU8(builder:flatbuffers.Builder, maybeU8:number) { + builder.addFieldInt8(4, maybeU8, 0); +} + +static addDefaultU8(builder:flatbuffers.Builder, defaultU8:number) { + builder.addFieldInt8(5, defaultU8, 42); +} + +static addJustI16(builder:flatbuffers.Builder, justI16:number) { + builder.addFieldInt16(6, justI16, 0); +} + +static addMaybeI16(builder:flatbuffers.Builder, maybeI16:number) { + builder.addFieldInt16(7, maybeI16, 0); +} + +static addDefaultI16(builder:flatbuffers.Builder, defaultI16:number) { + builder.addFieldInt16(8, defaultI16, 42); +} + +static addJustU16(builder:flatbuffers.Builder, justU16:number) { + builder.addFieldInt16(9, justU16, 0); +} + +static addMaybeU16(builder:flatbuffers.Builder, maybeU16:number) { + builder.addFieldInt16(10, maybeU16, 0); +} + +static addDefaultU16(builder:flatbuffers.Builder, defaultU16:number) { + builder.addFieldInt16(11, defaultU16, 42); +} + +static addJustI32(builder:flatbuffers.Builder, justI32:number) { + builder.addFieldInt32(12, justI32, 0); +} + +static addMaybeI32(builder:flatbuffers.Builder, maybeI32:number) { + builder.addFieldInt32(13, maybeI32, 0); +} + +static addDefaultI32(builder:flatbuffers.Builder, defaultI32:number) { + builder.addFieldInt32(14, defaultI32, 42); +} + +static addJustU32(builder:flatbuffers.Builder, justU32:number) { + builder.addFieldInt32(15, justU32, 0); +} + +static addMaybeU32(builder:flatbuffers.Builder, maybeU32:number) { + builder.addFieldInt32(16, maybeU32, 0); +} + +static addDefaultU32(builder:flatbuffers.Builder, defaultU32:number) { + builder.addFieldInt32(17, defaultU32, 42); +} + +static addJustI64(builder:flatbuffers.Builder, justI64:flatbuffers.Long) { + builder.addFieldInt64(18, justI64, builder.createLong(0, 0)); +} + +static addMaybeI64(builder:flatbuffers.Builder, maybeI64:flatbuffers.Long) { + builder.addFieldInt64(19, maybeI64, builder.createLong(0, 0)); +} + +static addDefaultI64(builder:flatbuffers.Builder, defaultI64:flatbuffers.Long) { + builder.addFieldInt64(20, defaultI64, builder.createLong(42, 0)); +} + +static addJustU64(builder:flatbuffers.Builder, justU64:flatbuffers.Long) { + builder.addFieldInt64(21, justU64, builder.createLong(0, 0)); +} + +static addMaybeU64(builder:flatbuffers.Builder, maybeU64:flatbuffers.Long) { + builder.addFieldInt64(22, maybeU64, builder.createLong(0, 0)); +} + +static addDefaultU64(builder:flatbuffers.Builder, defaultU64:flatbuffers.Long) { + builder.addFieldInt64(23, defaultU64, builder.createLong(42, 0)); +} + +static addJustF32(builder:flatbuffers.Builder, justF32:number) { + builder.addFieldFloat32(24, justF32, 0.0); +} + +static addMaybeF32(builder:flatbuffers.Builder, maybeF32:number) { + builder.addFieldFloat32(25, maybeF32, 0); +} + +static addDefaultF32(builder:flatbuffers.Builder, defaultF32:number) { + builder.addFieldFloat32(26, defaultF32, 42.0); +} + +static addJustF64(builder:flatbuffers.Builder, justF64:number) { + builder.addFieldFloat64(27, justF64, 0.0); +} + +static addMaybeF64(builder:flatbuffers.Builder, maybeF64:number) { + builder.addFieldFloat64(28, maybeF64, 0); +} + +static addDefaultF64(builder:flatbuffers.Builder, defaultF64:number) { + builder.addFieldFloat64(29, defaultF64, 42.0); +} + +static addJustBool(builder:flatbuffers.Builder, justBool:boolean) { + builder.addFieldInt8(30, +justBool, +false); +} + +static addMaybeBool(builder:flatbuffers.Builder, maybeBool:boolean) { + builder.addFieldInt8(31, +maybeBool, 0); +} + +static addDefaultBool(builder:flatbuffers.Builder, defaultBool:boolean) { + builder.addFieldInt8(32, +defaultBool, +true); +} + +static addJustEnum(builder:flatbuffers.Builder, justEnum:OptionalByte) { + builder.addFieldInt8(33, justEnum, OptionalByte.None); +} + +static addMaybeEnum(builder:flatbuffers.Builder, maybeEnum:OptionalByte) { + builder.addFieldInt8(34, maybeEnum, 0); +} + +static addDefaultEnum(builder:flatbuffers.Builder, defaultEnum:OptionalByte) { + builder.addFieldInt8(35, defaultEnum, OptionalByte.One); +} + +static endScalarStuff(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static finishScalarStuffBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { + builder.finish(offset, 'NULL'); +} + +static finishSizePrefixedScalarStuffBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { + builder.finish(offset, 'NULL', true); +} + +static createScalarStuff(builder:flatbuffers.Builder, justI8:number, maybeI8:number|null, defaultI8:number, justU8:number, maybeU8:number|null, defaultU8:number, justI16:number, maybeI16:number|null, defaultI16:number, justU16:number, maybeU16:number|null, defaultU16:number, justI32:number, maybeI32:number|null, defaultI32:number, justU32:number, maybeU32:number|null, defaultU32:number, justI64:flatbuffers.Long, maybeI64:flatbuffers.Long|null, defaultI64:flatbuffers.Long, justU64:flatbuffers.Long, maybeU64:flatbuffers.Long|null, defaultU64:flatbuffers.Long, justF32:number, maybeF32:number|null, defaultF32:number, justF64:number, maybeF64:number|null, defaultF64:number, justBool:boolean, maybeBool:boolean|null, defaultBool:boolean, justEnum:OptionalByte, maybeEnum:OptionalByte|null, defaultEnum:OptionalByte):flatbuffers.Offset { + ScalarStuff.startScalarStuff(builder); + ScalarStuff.addJustI8(builder, justI8); + if (maybeI8 !== null) + ScalarStuff.addMaybeI8(builder, maybeI8); + ScalarStuff.addDefaultI8(builder, defaultI8); + ScalarStuff.addJustU8(builder, justU8); + if (maybeU8 !== null) + ScalarStuff.addMaybeU8(builder, maybeU8); + ScalarStuff.addDefaultU8(builder, defaultU8); + ScalarStuff.addJustI16(builder, justI16); + if (maybeI16 !== null) + ScalarStuff.addMaybeI16(builder, maybeI16); + ScalarStuff.addDefaultI16(builder, defaultI16); + ScalarStuff.addJustU16(builder, justU16); + if (maybeU16 !== null) + ScalarStuff.addMaybeU16(builder, maybeU16); + ScalarStuff.addDefaultU16(builder, defaultU16); + ScalarStuff.addJustI32(builder, justI32); + if (maybeI32 !== null) + ScalarStuff.addMaybeI32(builder, maybeI32); + ScalarStuff.addDefaultI32(builder, defaultI32); + ScalarStuff.addJustU32(builder, justU32); + if (maybeU32 !== null) + ScalarStuff.addMaybeU32(builder, maybeU32); + ScalarStuff.addDefaultU32(builder, defaultU32); + ScalarStuff.addJustI64(builder, justI64); + if (maybeI64 !== null) + ScalarStuff.addMaybeI64(builder, maybeI64); + ScalarStuff.addDefaultI64(builder, defaultI64); + ScalarStuff.addJustU64(builder, justU64); + if (maybeU64 !== null) + ScalarStuff.addMaybeU64(builder, maybeU64); + ScalarStuff.addDefaultU64(builder, defaultU64); + ScalarStuff.addJustF32(builder, justF32); + if (maybeF32 !== null) + ScalarStuff.addMaybeF32(builder, maybeF32); + ScalarStuff.addDefaultF32(builder, defaultF32); + ScalarStuff.addJustF64(builder, justF64); + if (maybeF64 !== null) + ScalarStuff.addMaybeF64(builder, maybeF64); + ScalarStuff.addDefaultF64(builder, defaultF64); + ScalarStuff.addJustBool(builder, justBool); + if (maybeBool !== null) + ScalarStuff.addMaybeBool(builder, maybeBool); + ScalarStuff.addDefaultBool(builder, defaultBool); + ScalarStuff.addJustEnum(builder, justEnum); + if (maybeEnum !== null) + ScalarStuff.addMaybeEnum(builder, maybeEnum); + ScalarStuff.addDefaultEnum(builder, defaultEnum); + return ScalarStuff.endScalarStuff(builder); +} +} diff --git a/tests/ts/movie.ts b/tests/ts/movie.ts index a07b6eaa..b3e83819 100644 --- a/tests/ts/movie.ts +++ b/tests/ts/movie.ts @@ -88,7 +88,7 @@ static addCharactersType(builder:flatbuffers.Builder, charactersTypeOffset:flatb static createCharactersTypeVector(builder:flatbuffers.Builder, data:Character[]):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); + builder.addInt8(data[i]!); } return builder.endVector(); } @@ -104,7 +104,7 @@ static addCharacters(builder:flatbuffers.Builder, charactersOffset:flatbuffers.O static createCharactersVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); + builder.addOffset(data[i]!); } return builder.endVector(); } diff --git a/tests/ts/my-game/example/monster.ts b/tests/ts/my-game/example/monster.ts index b334782e..49e528e6 100644 --- a/tests/ts/my-game/example/monster.ts +++ b/tests/ts/my-game/example/monster.ts @@ -677,7 +677,7 @@ static addInventory(builder:flatbuffers.Builder, inventoryOffset:flatbuffers.Off static createInventoryVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); + builder.addInt8(data[i]!); } return builder.endVector(); } @@ -713,7 +713,7 @@ static addTestarrayofstring(builder:flatbuffers.Builder, testarrayofstringOffset static createTestarrayofstringVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); + builder.addOffset(data[i]!); } return builder.endVector(); } @@ -729,7 +729,7 @@ static addTestarrayoftables(builder:flatbuffers.Builder, testarrayoftablesOffset static createTestarrayoftablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); + builder.addOffset(data[i]!); } return builder.endVector(); } @@ -749,7 +749,7 @@ static addTestnestedflatbuffer(builder:flatbuffers.Builder, testnestedflatbuffer static createTestnestedflatbufferVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); + builder.addInt8(data[i]!); } return builder.endVector(); } @@ -805,7 +805,7 @@ static addTestarrayofbools(builder:flatbuffers.Builder, testarrayofboolsOffset:f static createTestarrayofboolsVector(builder:flatbuffers.Builder, data:boolean[]):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt8(+data[i]); + builder.addInt8(+data[i]!); } return builder.endVector(); } @@ -833,7 +833,7 @@ static addTestarrayofstring2(builder:flatbuffers.Builder, testarrayofstring2Offs static createTestarrayofstring2Vector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); + builder.addOffset(data[i]!); } return builder.endVector(); } @@ -857,7 +857,7 @@ static addFlex(builder:flatbuffers.Builder, flexOffset:flatbuffers.Offset) { static createFlexVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); + builder.addInt8(data[i]!); } return builder.endVector(); } @@ -881,7 +881,7 @@ static addVectorOfLongs(builder:flatbuffers.Builder, vectorOfLongsOffset:flatbuf static createVectorOfLongsVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { builder.startVector(8, data.length, 8); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt64(data[i]); + builder.addInt64(data[i]!); } return builder.endVector(); } @@ -902,7 +902,7 @@ static createVectorOfDoublesVector(builder:flatbuffers.Builder, data:number[]|Ui static createVectorOfDoublesVector(builder:flatbuffers.Builder, data:number[]|Float64Array|Uint8Array):flatbuffers.Offset { builder.startVector(8, data.length, 8); for (let i = data.length - 1; i >= 0; i--) { - builder.addFloat64(data[i]); + builder.addFloat64(data[i]!); } return builder.endVector(); } @@ -922,7 +922,7 @@ static addVectorOfReferrables(builder:flatbuffers.Builder, vectorOfReferrablesOf static createVectorOfReferrablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); + builder.addOffset(data[i]!); } return builder.endVector(); } @@ -942,7 +942,7 @@ static addVectorOfWeakReferences(builder:flatbuffers.Builder, vectorOfWeakRefere static createVectorOfWeakReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { builder.startVector(8, data.length, 8); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt64(data[i]); + builder.addInt64(data[i]!); } return builder.endVector(); } @@ -958,7 +958,7 @@ static addVectorOfStrongReferrables(builder:flatbuffers.Builder, vectorOfStrongR static createVectorOfStrongReferrablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); + builder.addOffset(data[i]!); } return builder.endVector(); } @@ -978,7 +978,7 @@ static addVectorOfCoOwningReferences(builder:flatbuffers.Builder, vectorOfCoOwni static createVectorOfCoOwningReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { builder.startVector(8, data.length, 8); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt64(data[i]); + builder.addInt64(data[i]!); } return builder.endVector(); } @@ -998,7 +998,7 @@ static addVectorOfNonOwningReferences(builder:flatbuffers.Builder, vectorOfNonOw static createVectorOfNonOwningReferencesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset { builder.startVector(8, data.length, 8); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt64(data[i]); + builder.addInt64(data[i]!); } return builder.endVector(); } @@ -1030,7 +1030,7 @@ static addVectorOfEnums(builder:flatbuffers.Builder, vectorOfEnumsOffset:flatbuf static createVectorOfEnumsVector(builder:flatbuffers.Builder, data:Color[]):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); + builder.addInt8(data[i]!); } return builder.endVector(); } @@ -1050,7 +1050,7 @@ static addTestrequirednestedflatbuffer(builder:flatbuffers.Builder, testrequired static createTestrequirednestedflatbufferVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); + builder.addInt8(data[i]!); } return builder.endVector(); } @@ -1066,7 +1066,7 @@ static addScalarKeySortedTables(builder:flatbuffers.Builder, scalarKeySortedTabl static createScalarKeySortedTablesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { - builder.addOffset(data[i]); + builder.addOffset(data[i]!); } return builder.endVector(); } diff --git a/tests/ts/my-game/example/type-aliases.ts b/tests/ts/my-game/example/type-aliases.ts index 9409eafc..58940d01 100644 --- a/tests/ts/my-game/example/type-aliases.ts +++ b/tests/ts/my-game/example/type-aliases.ts @@ -272,7 +272,7 @@ static createV8Vector(builder:flatbuffers.Builder, data:number[]|Uint8Array):fla static createV8Vector(builder:flatbuffers.Builder, data:number[]|Int8Array|Uint8Array):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { - builder.addInt8(data[i]); + builder.addInt8(data[i]!); } return builder.endVector(); } @@ -293,7 +293,7 @@ static createVf64Vector(builder:flatbuffers.Builder, data:number[]|Uint8Array):f static createVf64Vector(builder:flatbuffers.Builder, data:number[]|Float64Array|Uint8Array):flatbuffers.Offset { builder.startVector(8, data.length, 8); for (let i = data.length - 1; i >= 0; i--) { - builder.addFloat64(data[i]); + builder.addFloat64(data[i]!); } return builder.endVector(); } diff --git a/tests/union_vector/attacker.ts b/tests/union_vector/attacker.ts new file mode 100644 index 00000000..af370205 --- /dev/null +++ b/tests/union_vector/attacker.ts @@ -0,0 +1,87 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class Attacker { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Attacker { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsAttacker(bb:flatbuffers.ByteBuffer, obj?:Attacker):Attacker { + return (obj || new Attacker()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsAttacker(bb:flatbuffers.ByteBuffer, obj?:Attacker):Attacker { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new Attacker()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +swordAttackDamage():number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; +} + +mutate_sword_attack_damage(value:number):boolean { + const offset = this.bb!.__offset(this.bb_pos, 4); + + if (offset === 0) { + return false; + } + + this.bb!.writeInt32(this.bb_pos + offset, value); + return true; +} + +static getFullyQualifiedName():string { + return 'Attacker'; +} + +static startAttacker(builder:flatbuffers.Builder) { + builder.startObject(1); +} + +static addSwordAttackDamage(builder:flatbuffers.Builder, swordAttackDamage:number) { + builder.addFieldInt32(0, swordAttackDamage, 0); +} + +static endAttacker(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static createAttacker(builder:flatbuffers.Builder, swordAttackDamage:number):flatbuffers.Offset { + Attacker.startAttacker(builder); + Attacker.addSwordAttackDamage(builder, swordAttackDamage); + return Attacker.endAttacker(builder); +} + +unpack(): AttackerT { + return new AttackerT( + this.swordAttackDamage() + ); +} + + +unpackTo(_o: AttackerT): void { + _o.swordAttackDamage = this.swordAttackDamage(); +} +} + +export class AttackerT { +constructor( + public swordAttackDamage: number = 0 +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return Attacker.createAttacker(builder, + this.swordAttackDamage + ); +} +} diff --git a/tests/union_vector/book-reader.ts b/tests/union_vector/book-reader.ts new file mode 100644 index 00000000..23106006 --- /dev/null +++ b/tests/union_vector/book-reader.ts @@ -0,0 +1,63 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class BookReader { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):BookReader { + this.bb_pos = i; + this.bb = bb; + return this; +} + +booksRead():number { + return this.bb!.readInt32(this.bb_pos); +} + +mutate_books_read(value:number):boolean { + this.bb!.writeInt32(this.bb_pos + 0, value); + return true; +} + +static getFullyQualifiedName():string { + return 'BookReader'; +} + +static sizeOf():number { + return 4; +} + +static createBookReader(builder:flatbuffers.Builder, books_read: number):flatbuffers.Offset { + builder.prep(4, 4); + builder.writeInt32(books_read); + return builder.offset(); +} + + +unpack(): BookReaderT { + return new BookReaderT( + this.booksRead() + ); +} + + +unpackTo(_o: BookReaderT): void { + _o.booksRead = this.booksRead(); +} +} + +export class BookReaderT { +constructor( + public booksRead: number = 0 +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return BookReader.createBookReader(builder, + this.booksRead + ); +} +} diff --git a/tests/union_vector/character.ts b/tests/union_vector/character.ts new file mode 100644 index 00000000..dbf8d51d --- /dev/null +++ b/tests/union_vector/character.ts @@ -0,0 +1,50 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import { Attacker, AttackerT } from './attacker'; +import { BookReader, BookReaderT } from './book-reader'; +import { Rapunzel, RapunzelT } from './rapunzel'; + + +export enum Character{ + NONE = 0, + MuLan = 1, + Rapunzel = 2, + Belle = 3, + BookFan = 4, + Other = 5, + Unused = 6 +} + +export function unionToCharacter( + type: Character, + accessor: (obj:Attacker|BookReader|Rapunzel|string) => Attacker|BookReader|Rapunzel|string|null +): Attacker|BookReader|Rapunzel|string|null { + switch(Character[type]) { + case 'NONE': return null; + case 'MuLan': return accessor(new Attacker())! as Attacker; + case 'Rapunzel': return accessor(new Rapunzel())! as Rapunzel; + case 'Belle': return accessor(new BookReader())! as BookReader; + case 'BookFan': return accessor(new BookReader())! as BookReader; + case 'Other': return accessor('') as string; + case 'Unused': return accessor('') as string; + default: return null; + } +} + +export function unionListToCharacter( + type: Character, + accessor: (index: number, obj:Attacker|BookReader|Rapunzel|string) => Attacker|BookReader|Rapunzel|string|null, + index: number +): Attacker|BookReader|Rapunzel|string|null { + switch(Character[type]) { + case 'NONE': return null; + case 'MuLan': return accessor(index, new Attacker())! as Attacker; + case 'Rapunzel': return accessor(index, new Rapunzel())! as Rapunzel; + case 'Belle': return accessor(index, new BookReader())! as BookReader; + case 'BookFan': return accessor(index, new BookReader())! as BookReader; + case 'Other': return accessor(index, '') as string; + case 'Unused': return accessor(index, '') as string; + default: return null; + } +} + diff --git a/tests/union_vector/movie.ts b/tests/union_vector/movie.ts new file mode 100644 index 00000000..b3e83819 --- /dev/null +++ b/tests/union_vector/movie.ts @@ -0,0 +1,211 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + +import { Attacker, AttackerT } from './attacker'; +import { BookReader, BookReaderT } from './book-reader'; +import { Character, unionToCharacter, unionListToCharacter } from './character'; +import { Rapunzel, RapunzelT } from './rapunzel'; + + +export class Movie { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Movie { + this.bb_pos = i; + this.bb = bb; + return this; +} + +static getRootAsMovie(bb:flatbuffers.ByteBuffer, obj?:Movie):Movie { + return (obj || new Movie()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static getSizePrefixedRootAsMovie(bb:flatbuffers.ByteBuffer, obj?:Movie):Movie { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new Movie()).__init(bb.readInt32(bb.position()) + bb.position(), bb); +} + +static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean { + return bb.__has_identifier('MOVI'); +} + +mainCharacterType():Character { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readUint8(this.bb_pos + offset) : Character.NONE; +} + +mainCharacter<T extends flatbuffers.Table>(obj:any|string):any|string|null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.__union_with_string(obj, this.bb_pos + offset) : null; +} + +charactersType(index: number):Character|null { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; +} + +charactersTypeLength():number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +charactersTypeArray():Uint8Array|null { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; +} + +characters(index: number, obj:any|string):any|string|null { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.__union_with_string(obj, this.bb!.__vector(this.bb_pos + offset) + index * 4) : null; +} + +charactersLength():number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + +static getFullyQualifiedName():string { + return 'Movie'; +} + +static startMovie(builder:flatbuffers.Builder) { + builder.startObject(4); +} + +static addMainCharacterType(builder:flatbuffers.Builder, mainCharacterType:Character) { + builder.addFieldInt8(0, mainCharacterType, Character.NONE); +} + +static addMainCharacter(builder:flatbuffers.Builder, mainCharacterOffset:flatbuffers.Offset) { + builder.addFieldOffset(1, mainCharacterOffset, 0); +} + +static addCharactersType(builder:flatbuffers.Builder, charactersTypeOffset:flatbuffers.Offset) { + builder.addFieldOffset(2, charactersTypeOffset, 0); +} + +static createCharactersTypeVector(builder:flatbuffers.Builder, data:Character[]):flatbuffers.Offset { + builder.startVector(1, data.length, 1); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt8(data[i]!); + } + return builder.endVector(); +} + +static startCharactersTypeVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(1, numElems, 1); +} + +static addCharacters(builder:flatbuffers.Builder, charactersOffset:flatbuffers.Offset) { + builder.addFieldOffset(3, charactersOffset, 0); +} + +static createCharactersVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startCharactersVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + +static endMovie(builder:flatbuffers.Builder):flatbuffers.Offset { + const offset = builder.endObject(); + return offset; +} + +static finishMovieBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { + builder.finish(offset, 'MOVI'); +} + +static finishSizePrefixedMovieBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { + builder.finish(offset, 'MOVI', true); +} + +static createMovie(builder:flatbuffers.Builder, mainCharacterType:Character, mainCharacterOffset:flatbuffers.Offset, charactersTypeOffset:flatbuffers.Offset, charactersOffset:flatbuffers.Offset):flatbuffers.Offset { + Movie.startMovie(builder); + Movie.addMainCharacterType(builder, mainCharacterType); + Movie.addMainCharacter(builder, mainCharacterOffset); + Movie.addCharactersType(builder, charactersTypeOffset); + Movie.addCharacters(builder, charactersOffset); + return Movie.endMovie(builder); +} + +unpack(): MovieT { + return new MovieT( + this.mainCharacterType(), + (() => { + let temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this)); + if(temp === null) { return null; } + if(typeof temp === 'string') { return temp; } + return temp.unpack() + })(), + this.bb!.createScalarList(this.charactersType.bind(this), this.charactersTypeLength()), + (() => { + let ret = []; + for(let targetEnumIndex = 0; targetEnumIndex < this.charactersTypeLength(); ++targetEnumIndex) { + let targetEnum = this.charactersType(targetEnumIndex); + if(targetEnum === null || Character[targetEnum!] === 'NONE') { continue; } + + let temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex); + if(temp === null) { continue; } + if(typeof temp === 'string') { ret.push(temp); continue; } + ret.push(temp.unpack()); + } + return ret; + })() + ); +} + + +unpackTo(_o: MovieT): void { + _o.mainCharacterType = this.mainCharacterType(); + _o.mainCharacter = (() => { + let temp = unionToCharacter(this.mainCharacterType(), this.mainCharacter.bind(this)); + if(temp === null) { return null; } + if(typeof temp === 'string') { return temp; } + return temp.unpack() + })(); + _o.charactersType = this.bb!.createScalarList(this.charactersType.bind(this), this.charactersTypeLength()); + _o.characters = (() => { + let ret = []; + for(let targetEnumIndex = 0; targetEnumIndex < this.charactersTypeLength(); ++targetEnumIndex) { + let targetEnum = this.charactersType(targetEnumIndex); + if(targetEnum === null || Character[targetEnum!] === 'NONE') { continue; } + + let temp = unionListToCharacter(targetEnum, this.characters.bind(this), targetEnumIndex); + if(temp === null) { continue; } + if(typeof temp === 'string') { ret.push(temp); continue; } + ret.push(temp.unpack()); + } + return ret; + })(); +} +} + +export class MovieT { +constructor( + public mainCharacterType: Character = Character.NONE, + public mainCharacter: AttackerT|BookReaderT|RapunzelT|string|null = null, + public charactersType: (Character)[] = [], + public characters: (AttackerT|BookReaderT|RapunzelT|string)[] = [] +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + const mainCharacter = builder.createObjectOffset(this.mainCharacter); + const charactersType = Movie.createCharactersTypeVector(builder, this.charactersType); + const characters = Movie.createCharactersVector(builder, builder.createObjectOffsetList(this.characters)); + + return Movie.createMovie(builder, + this.mainCharacterType, + mainCharacter, + charactersType, + characters + ); +} +} diff --git a/tests/union_vector/rapunzel.ts b/tests/union_vector/rapunzel.ts new file mode 100644 index 00000000..28f6e999 --- /dev/null +++ b/tests/union_vector/rapunzel.ts @@ -0,0 +1,63 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +import * as flatbuffers from 'flatbuffers'; + + + +export class Rapunzel { + bb: flatbuffers.ByteBuffer|null = null; + bb_pos = 0; +__init(i:number, bb:flatbuffers.ByteBuffer):Rapunzel { + this.bb_pos = i; + this.bb = bb; + return this; +} + +hairLength():number { + return this.bb!.readInt32(this.bb_pos); +} + +mutate_hair_length(value:number):boolean { + this.bb!.writeInt32(this.bb_pos + 0, value); + return true; +} + +static getFullyQualifiedName():string { + return 'Rapunzel'; +} + +static sizeOf():number { + return 4; +} + +static createRapunzel(builder:flatbuffers.Builder, hair_length: number):flatbuffers.Offset { + builder.prep(4, 4); + builder.writeInt32(hair_length); + return builder.offset(); +} + + +unpack(): RapunzelT { + return new RapunzelT( + this.hairLength() + ); +} + + +unpackTo(_o: RapunzelT): void { + _o.hairLength = this.hairLength(); +} +} + +export class RapunzelT { +constructor( + public hairLength: number = 0 +){} + + +pack(builder:flatbuffers.Builder): flatbuffers.Offset { + return Rapunzel.createRapunzel(builder, + this.hairLength + ); +} +} |