[TS/JS] Entry point per namespace and reworked 1.x compatible single file build (#7510)

* [TS/JS] Entry point per namespace

* Fix handling of outputpath and array_test

* Attempt to fix generate_code

* Fix cwd for ts in generate_code

* Attempt to fixup bazel and some docs

* Add --ts-flat-files to bazel build to get bundle

* Move to DEFAULT_FLATC_TS_ARGS

* Attempt to add esbuild

* Attempt to use npm instead

* Remove futile attempt to add esbuild

* Attempt to as bazel esbuild

* Shuffle

* Upgrade bazel deps

* Revert failed attempts to get bazel working

* Ignore flatc tests for now

* Add esbuild dependency

* `package.json` Include esbuild

* `WORKSPACE` Add fetching esbuild binary

* Update WORKSPACE

* Unfreeze Lockfile

* Update WORKSPACE

* Update BUILD.bazel

* Rework to suggest instead of running external bundler

* Add esbuild generation to test script

* Prelim bundle test

* Run test JavaScriptTest from flatbuffers 1.x

* Deps upgrade

* Clang format fix

* Revert bazel changes

* Fix newline

* Generate with type declarations

* Handle "empty" root namespace

* Adjust tests for typescript_keywords.ts

* Separate test procedure for old node resolution module output

* Fix rel path for root level re-exports

* Bazel support for esbuild-based flatc

Unfortunately, we lose typing information because the new esbuild method
of generating single files does not generate type information.

The method used here is a bit hack-ish because it relies on parsing the
console output of flatc to figure out what to do.

* Try to fix bazel build for when node isn't present on host

* Auto formatting fixes

* Fix missing generated code

Co-authored-by: Derek Bailey <derekbailey@google.com>
Co-authored-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
This commit is contained in:
Björn Harrtell
2023-01-21 21:22:22 +01:00
committed by GitHub
parent 1703662285
commit ef76b5ece4
249 changed files with 11509 additions and 15906 deletions

21
tests/ts/my-game/example/ability.d.ts vendored Normal file
View File

@@ -0,0 +1,21 @@
import * as flatbuffers from 'flatbuffers';
export declare class Ability implements flatbuffers.IUnpackableObject<AbilityT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Ability;
id(): number;
mutate_id(value: number): boolean;
distance(): number;
mutate_distance(value: number): boolean;
static getFullyQualifiedName(): string;
static sizeOf(): number;
static createAbility(builder: flatbuffers.Builder, id: number, distance: number): flatbuffers.Offset;
unpack(): AbilityT;
unpackTo(_o: AbilityT): void;
}
export declare class AbilityT implements flatbuffers.IGeneratedObject {
id: number;
distance: number;
constructor(id?: number, distance?: number);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

View File

@@ -0,0 +1,9 @@
import { Monster } from '../../my-game/example/monster.js';
export declare enum AnyAmbiguousAliases {
NONE = 0,
M1 = 1,
M2 = 2,
M3 = 3
}
export declare function unionToAnyAmbiguousAliases(type: AnyAmbiguousAliases, accessor: (obj: Monster) => Monster | null): Monster | null;
export declare function unionListToAnyAmbiguousAliases(type: AnyAmbiguousAliases, accessor: (index: number, obj: Monster) => Monster | null, index: number): Monster | null;

View File

@@ -6,7 +6,7 @@ export var AnyAmbiguousAliases;
AnyAmbiguousAliases[AnyAmbiguousAliases["M1"] = 1] = "M1";
AnyAmbiguousAliases[AnyAmbiguousAliases["M2"] = 2] = "M2";
AnyAmbiguousAliases[AnyAmbiguousAliases["M3"] = 3] = "M3";
})(AnyAmbiguousAliases || (AnyAmbiguousAliases = {}));
})(AnyAmbiguousAliases = AnyAmbiguousAliases || (AnyAmbiguousAliases = {}));
export function unionToAnyAmbiguousAliases(type, accessor) {
switch (AnyAmbiguousAliases[type]) {
case 'NONE': return null;

View File

@@ -0,0 +1,11 @@
import { Monster as MyGame_Example2_Monster } from '../../my-game/example2/monster.js';
import { Monster } from '../../my-game/example/monster.js';
import { TestSimpleTableWithEnum } from '../../my-game/example/test-simple-table-with-enum.js';
export declare enum AnyUniqueAliases {
NONE = 0,
M = 1,
TS = 2,
M2 = 3
}
export declare function unionToAnyUniqueAliases(type: AnyUniqueAliases, accessor: (obj: Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum) => Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum | null): Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum | null;
export declare function unionListToAnyUniqueAliases(type: AnyUniqueAliases, accessor: (index: number, obj: Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum) => Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum | null, index: number): Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum | null;

View File

@@ -8,7 +8,7 @@ export var AnyUniqueAliases;
AnyUniqueAliases[AnyUniqueAliases["M"] = 1] = "M";
AnyUniqueAliases[AnyUniqueAliases["TS"] = 2] = "TS";
AnyUniqueAliases[AnyUniqueAliases["M2"] = 3] = "M2";
})(AnyUniqueAliases || (AnyUniqueAliases = {}));
})(AnyUniqueAliases = AnyUniqueAliases || (AnyUniqueAliases = {}));
export function unionToAnyUniqueAliases(type, accessor) {
switch (AnyUniqueAliases[type]) {
case 'NONE': return null;

11
tests/ts/my-game/example/any.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import { Monster as MyGame_Example2_Monster } from '../../my-game/example2/monster.js';
import { Monster } from '../../my-game/example/monster.js';
import { TestSimpleTableWithEnum } from '../../my-game/example/test-simple-table-with-enum.js';
export declare enum Any {
NONE = 0,
Monster = 1,
TestSimpleTableWithEnum = 2,
MyGame_Example2_Monster = 3
}
export declare function unionToAny(type: Any, accessor: (obj: Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum) => Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum | null): Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum | null;
export declare function unionListToAny(type: Any, accessor: (index: number, obj: Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum) => Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum | null, index: number): Monster | MyGame_Example2_Monster | TestSimpleTableWithEnum | null;

View File

@@ -8,7 +8,7 @@ export var Any;
Any[Any["Monster"] = 1] = "Monster";
Any[Any["TestSimpleTableWithEnum"] = 2] = "TestSimpleTableWithEnum";
Any[Any["MyGame_Example2_Monster"] = 3] = "MyGame_Example2_Monster";
})(Any || (Any = {}));
})(Any = Any || (Any = {}));
export function unionToAny(type, accessor) {
switch (Any[type]) {
case 'NONE': return null;

15
tests/ts/my-game/example/color.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
/**
* Composite components of Monster color.
*/
export declare enum Color {
Red = 1,
/**
* \brief color Green
* Green is bit_flag with value (1u << 1)
*/
Green = 2,
/**
* \brief color Blue (1u << 3)
*/
Blue = 8
}

View File

@@ -14,4 +14,4 @@ export var Color;
* \brief color Blue (1u << 3)
*/
Color[Color["Blue"] = 8] = "Blue";
})(Color || (Color = {}));
})(Color = Color || (Color = {}));

View File

@@ -0,0 +1,5 @@
export declare enum LongEnum {
LongOne = "2",
LongTwo = "4",
LongBig = "1099511627776"
}

View File

@@ -4,4 +4,4 @@ export var LongEnum;
LongEnum["LongOne"] = "2";
LongEnum["LongTwo"] = "4";
LongEnum["LongBig"] = "1099511627776";
})(LongEnum || (LongEnum = {}));
})(LongEnum = LongEnum || (LongEnum = {}));

325
tests/ts/my-game/example/monster.d.ts vendored Normal file
View File

@@ -0,0 +1,325 @@
import * as flatbuffers from 'flatbuffers';
import { MonsterT as MyGame_Example2_MonsterT } from '../../my-game/example2/monster.js';
import { Ability, AbilityT } from '../../my-game/example/ability.js';
import { Any } from '../../my-game/example/any.js';
import { AnyAmbiguousAliases } from '../../my-game/example/any-ambiguous-aliases.js';
import { AnyUniqueAliases } from '../../my-game/example/any-unique-aliases.js';
import { Color } from '../../my-game/example/color.js';
import { Race } from '../../my-game/example/race.js';
import { Referrable, ReferrableT } from '../../my-game/example/referrable.js';
import { Stat, StatT } from '../../my-game/example/stat.js';
import { Test, TestT } from '../../my-game/example/test.js';
import { TestSimpleTableWithEnumT } from '../../my-game/example/test-simple-table-with-enum.js';
import { Vec3, Vec3T } from '../../my-game/example/vec3.js';
import { InParentNamespace, InParentNamespaceT } from '../../my-game/in-parent-namespace.js';
/**
* an example documentation comment: "monster object"
*/
export declare class Monster implements flatbuffers.IUnpackableObject<MonsterT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Monster;
static getRootAsMonster(bb: flatbuffers.ByteBuffer, obj?: Monster): Monster;
static getSizePrefixedRootAsMonster(bb: flatbuffers.ByteBuffer, obj?: Monster): Monster;
static bufferHasIdentifier(bb: flatbuffers.ByteBuffer): boolean;
pos(obj?: Vec3): Vec3 | null;
mana(): number;
mutate_mana(value: number): boolean;
hp(): number;
mutate_hp(value: number): boolean;
name(): string | null;
name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
inventory(index: number): number | null;
inventoryLength(): number;
inventoryArray(): Uint8Array | null;
color(): Color;
mutate_color(value: Color): boolean;
testType(): Any;
test<T extends flatbuffers.Table>(obj: any): any | null;
test4(index: number, obj?: Test): Test | null;
test4Length(): number;
testarrayofstring(index: number): string;
testarrayofstring(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
testarrayofstringLength(): number;
/**
* an example documentation comment: this will end up in the generated code
* multiline too
*/
testarrayoftables(index: number, obj?: Monster): Monster | null;
testarrayoftablesLength(): number;
enemy(obj?: Monster): Monster | null;
testnestedflatbuffer(index: number): number | null;
testnestedflatbufferLength(): number;
testnestedflatbufferArray(): Uint8Array | null;
testempty(obj?: Stat): Stat | null;
testbool(): boolean;
mutate_testbool(value: boolean): boolean;
testhashs32Fnv1(): number;
mutate_testhashs32_fnv1(value: number): boolean;
testhashu32Fnv1(): number;
mutate_testhashu32_fnv1(value: number): boolean;
testhashs64Fnv1(): bigint;
mutate_testhashs64_fnv1(value: bigint): boolean;
testhashu64Fnv1(): bigint;
mutate_testhashu64_fnv1(value: bigint): boolean;
testhashs32Fnv1a(): number;
mutate_testhashs32_fnv1a(value: number): boolean;
testhashu32Fnv1a(): number;
mutate_testhashu32_fnv1a(value: number): boolean;
testhashs64Fnv1a(): bigint;
mutate_testhashs64_fnv1a(value: bigint): boolean;
testhashu64Fnv1a(): bigint;
mutate_testhashu64_fnv1a(value: bigint): boolean;
testarrayofbools(index: number): boolean | null;
testarrayofboolsLength(): number;
testarrayofboolsArray(): Int8Array | null;
testf(): number;
mutate_testf(value: number): boolean;
testf2(): number;
mutate_testf2(value: number): boolean;
testf3(): number;
mutate_testf3(value: number): boolean;
testarrayofstring2(index: number): string;
testarrayofstring2(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
testarrayofstring2Length(): number;
testarrayofsortedstruct(index: number, obj?: Ability): Ability | null;
testarrayofsortedstructLength(): number;
flex(index: number): number | null;
flexLength(): number;
flexArray(): Uint8Array | null;
test5(index: number, obj?: Test): Test | null;
test5Length(): number;
vectorOfLongs(index: number): bigint | null;
vectorOfLongsLength(): number;
vectorOfDoubles(index: number): number | null;
vectorOfDoublesLength(): number;
vectorOfDoublesArray(): Float64Array | null;
parentNamespaceTest(obj?: InParentNamespace): InParentNamespace | null;
vectorOfReferrables(index: number, obj?: Referrable): Referrable | null;
vectorOfReferrablesLength(): number;
singleWeakReference(): bigint;
mutate_single_weak_reference(value: bigint): boolean;
vectorOfWeakReferences(index: number): bigint | null;
vectorOfWeakReferencesLength(): number;
vectorOfStrongReferrables(index: number, obj?: Referrable): Referrable | null;
vectorOfStrongReferrablesLength(): number;
coOwningReference(): bigint;
mutate_co_owning_reference(value: bigint): boolean;
vectorOfCoOwningReferences(index: number): bigint | null;
vectorOfCoOwningReferencesLength(): number;
nonOwningReference(): bigint;
mutate_non_owning_reference(value: bigint): boolean;
vectorOfNonOwningReferences(index: number): bigint | null;
vectorOfNonOwningReferencesLength(): number;
anyUniqueType(): AnyUniqueAliases;
anyUnique<T extends flatbuffers.Table>(obj: any): any | null;
anyAmbiguousType(): AnyAmbiguousAliases;
anyAmbiguous<T extends flatbuffers.Table>(obj: any): any | null;
vectorOfEnums(index: number): Color | null;
vectorOfEnumsLength(): number;
vectorOfEnumsArray(): Uint8Array | null;
signedEnum(): Race;
mutate_signed_enum(value: Race): boolean;
testrequirednestedflatbuffer(index: number): number | null;
testrequirednestedflatbufferLength(): number;
testrequirednestedflatbufferArray(): Uint8Array | null;
scalarKeySortedTables(index: number, obj?: Stat): Stat | null;
scalarKeySortedTablesLength(): number;
nativeInline(obj?: Test): Test | null;
longEnumNonEnumDefault(): bigint;
mutate_long_enum_non_enum_default(value: bigint): boolean;
longEnumNormalDefault(): bigint;
mutate_long_enum_normal_default(value: bigint): boolean;
nanDefault(): number;
mutate_nan_default(value: number): boolean;
infDefault(): number;
mutate_inf_default(value: number): boolean;
positiveInfDefault(): number;
mutate_positive_inf_default(value: number): boolean;
infinityDefault(): number;
mutate_infinity_default(value: number): boolean;
positiveInfinityDefault(): number;
mutate_positive_infinity_default(value: number): boolean;
negativeInfDefault(): number;
mutate_negative_inf_default(value: number): boolean;
negativeInfinityDefault(): number;
mutate_negative_infinity_default(value: number): boolean;
doubleInfDefault(): number;
mutate_double_inf_default(value: number): boolean;
static getFullyQualifiedName(): string;
static startMonster(builder: flatbuffers.Builder): void;
static addPos(builder: flatbuffers.Builder, posOffset: flatbuffers.Offset): void;
static addMana(builder: flatbuffers.Builder, mana: number): void;
static addHp(builder: flatbuffers.Builder, hp: number): void;
static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset): void;
static addInventory(builder: flatbuffers.Builder, inventoryOffset: flatbuffers.Offset): void;
static createInventoryVector(builder: flatbuffers.Builder, data: number[] | Uint8Array): flatbuffers.Offset;
static startInventoryVector(builder: flatbuffers.Builder, numElems: number): void;
static addColor(builder: flatbuffers.Builder, color: Color): void;
static addTestType(builder: flatbuffers.Builder, testType: Any): void;
static addTest(builder: flatbuffers.Builder, testOffset: flatbuffers.Offset): void;
static addTest4(builder: flatbuffers.Builder, test4Offset: flatbuffers.Offset): void;
static startTest4Vector(builder: flatbuffers.Builder, numElems: number): void;
static addTestarrayofstring(builder: flatbuffers.Builder, testarrayofstringOffset: flatbuffers.Offset): void;
static createTestarrayofstringVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startTestarrayofstringVector(builder: flatbuffers.Builder, numElems: number): void;
static addTestarrayoftables(builder: flatbuffers.Builder, testarrayoftablesOffset: flatbuffers.Offset): void;
static createTestarrayoftablesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startTestarrayoftablesVector(builder: flatbuffers.Builder, numElems: number): void;
static addEnemy(builder: flatbuffers.Builder, enemyOffset: flatbuffers.Offset): void;
static addTestnestedflatbuffer(builder: flatbuffers.Builder, testnestedflatbufferOffset: flatbuffers.Offset): void;
static createTestnestedflatbufferVector(builder: flatbuffers.Builder, data: number[] | Uint8Array): flatbuffers.Offset;
static startTestnestedflatbufferVector(builder: flatbuffers.Builder, numElems: number): void;
static addTestempty(builder: flatbuffers.Builder, testemptyOffset: flatbuffers.Offset): void;
static addTestbool(builder: flatbuffers.Builder, testbool: boolean): void;
static addTesthashs32Fnv1(builder: flatbuffers.Builder, testhashs32Fnv1: number): void;
static addTesthashu32Fnv1(builder: flatbuffers.Builder, testhashu32Fnv1: number): void;
static addTesthashs64Fnv1(builder: flatbuffers.Builder, testhashs64Fnv1: bigint): void;
static addTesthashu64Fnv1(builder: flatbuffers.Builder, testhashu64Fnv1: bigint): void;
static addTesthashs32Fnv1a(builder: flatbuffers.Builder, testhashs32Fnv1a: number): void;
static addTesthashu32Fnv1a(builder: flatbuffers.Builder, testhashu32Fnv1a: number): void;
static addTesthashs64Fnv1a(builder: flatbuffers.Builder, testhashs64Fnv1a: bigint): void;
static addTesthashu64Fnv1a(builder: flatbuffers.Builder, testhashu64Fnv1a: bigint): void;
static addTestarrayofbools(builder: flatbuffers.Builder, testarrayofboolsOffset: flatbuffers.Offset): void;
static createTestarrayofboolsVector(builder: flatbuffers.Builder, data: boolean[]): flatbuffers.Offset;
static startTestarrayofboolsVector(builder: flatbuffers.Builder, numElems: number): void;
static addTestf(builder: flatbuffers.Builder, testf: number): void;
static addTestf2(builder: flatbuffers.Builder, testf2: number): void;
static addTestf3(builder: flatbuffers.Builder, testf3: number): void;
static addTestarrayofstring2(builder: flatbuffers.Builder, testarrayofstring2Offset: flatbuffers.Offset): void;
static createTestarrayofstring2Vector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startTestarrayofstring2Vector(builder: flatbuffers.Builder, numElems: number): void;
static addTestarrayofsortedstruct(builder: flatbuffers.Builder, testarrayofsortedstructOffset: flatbuffers.Offset): void;
static startTestarrayofsortedstructVector(builder: flatbuffers.Builder, numElems: number): void;
static addFlex(builder: flatbuffers.Builder, flexOffset: flatbuffers.Offset): void;
static createFlexVector(builder: flatbuffers.Builder, data: number[] | Uint8Array): flatbuffers.Offset;
static startFlexVector(builder: flatbuffers.Builder, numElems: number): void;
static addTest5(builder: flatbuffers.Builder, test5Offset: flatbuffers.Offset): void;
static startTest5Vector(builder: flatbuffers.Builder, numElems: number): void;
static addVectorOfLongs(builder: flatbuffers.Builder, vectorOfLongsOffset: flatbuffers.Offset): void;
static createVectorOfLongsVector(builder: flatbuffers.Builder, data: bigint[]): flatbuffers.Offset;
static startVectorOfLongsVector(builder: flatbuffers.Builder, numElems: number): void;
static addVectorOfDoubles(builder: flatbuffers.Builder, vectorOfDoublesOffset: flatbuffers.Offset): void;
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 startVectorOfDoublesVector(builder: flatbuffers.Builder, numElems: number): void;
static addParentNamespaceTest(builder: flatbuffers.Builder, parentNamespaceTestOffset: flatbuffers.Offset): void;
static addVectorOfReferrables(builder: flatbuffers.Builder, vectorOfReferrablesOffset: flatbuffers.Offset): void;
static createVectorOfReferrablesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startVectorOfReferrablesVector(builder: flatbuffers.Builder, numElems: number): void;
static addSingleWeakReference(builder: flatbuffers.Builder, singleWeakReference: bigint): void;
static addVectorOfWeakReferences(builder: flatbuffers.Builder, vectorOfWeakReferencesOffset: flatbuffers.Offset): void;
static createVectorOfWeakReferencesVector(builder: flatbuffers.Builder, data: bigint[]): flatbuffers.Offset;
static startVectorOfWeakReferencesVector(builder: flatbuffers.Builder, numElems: number): void;
static addVectorOfStrongReferrables(builder: flatbuffers.Builder, vectorOfStrongReferrablesOffset: flatbuffers.Offset): void;
static createVectorOfStrongReferrablesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startVectorOfStrongReferrablesVector(builder: flatbuffers.Builder, numElems: number): void;
static addCoOwningReference(builder: flatbuffers.Builder, coOwningReference: bigint): void;
static addVectorOfCoOwningReferences(builder: flatbuffers.Builder, vectorOfCoOwningReferencesOffset: flatbuffers.Offset): void;
static createVectorOfCoOwningReferencesVector(builder: flatbuffers.Builder, data: bigint[]): flatbuffers.Offset;
static startVectorOfCoOwningReferencesVector(builder: flatbuffers.Builder, numElems: number): void;
static addNonOwningReference(builder: flatbuffers.Builder, nonOwningReference: bigint): void;
static addVectorOfNonOwningReferences(builder: flatbuffers.Builder, vectorOfNonOwningReferencesOffset: flatbuffers.Offset): void;
static createVectorOfNonOwningReferencesVector(builder: flatbuffers.Builder, data: bigint[]): flatbuffers.Offset;
static startVectorOfNonOwningReferencesVector(builder: flatbuffers.Builder, numElems: number): void;
static addAnyUniqueType(builder: flatbuffers.Builder, anyUniqueType: AnyUniqueAliases): void;
static addAnyUnique(builder: flatbuffers.Builder, anyUniqueOffset: flatbuffers.Offset): void;
static addAnyAmbiguousType(builder: flatbuffers.Builder, anyAmbiguousType: AnyAmbiguousAliases): void;
static addAnyAmbiguous(builder: flatbuffers.Builder, anyAmbiguousOffset: flatbuffers.Offset): void;
static addVectorOfEnums(builder: flatbuffers.Builder, vectorOfEnumsOffset: flatbuffers.Offset): void;
static createVectorOfEnumsVector(builder: flatbuffers.Builder, data: Color[]): flatbuffers.Offset;
static startVectorOfEnumsVector(builder: flatbuffers.Builder, numElems: number): void;
static addSignedEnum(builder: flatbuffers.Builder, signedEnum: Race): void;
static addTestrequirednestedflatbuffer(builder: flatbuffers.Builder, testrequirednestedflatbufferOffset: flatbuffers.Offset): void;
static createTestrequirednestedflatbufferVector(builder: flatbuffers.Builder, data: number[] | Uint8Array): flatbuffers.Offset;
static startTestrequirednestedflatbufferVector(builder: flatbuffers.Builder, numElems: number): void;
static addScalarKeySortedTables(builder: flatbuffers.Builder, scalarKeySortedTablesOffset: flatbuffers.Offset): void;
static createScalarKeySortedTablesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startScalarKeySortedTablesVector(builder: flatbuffers.Builder, numElems: number): void;
static addNativeInline(builder: flatbuffers.Builder, nativeInlineOffset: flatbuffers.Offset): void;
static addLongEnumNonEnumDefault(builder: flatbuffers.Builder, longEnumNonEnumDefault: bigint): void;
static addLongEnumNormalDefault(builder: flatbuffers.Builder, longEnumNormalDefault: bigint): void;
static addNanDefault(builder: flatbuffers.Builder, nanDefault: number): void;
static addInfDefault(builder: flatbuffers.Builder, infDefault: number): void;
static addPositiveInfDefault(builder: flatbuffers.Builder, positiveInfDefault: number): void;
static addInfinityDefault(builder: flatbuffers.Builder, infinityDefault: number): void;
static addPositiveInfinityDefault(builder: flatbuffers.Builder, positiveInfinityDefault: number): void;
static addNegativeInfDefault(builder: flatbuffers.Builder, negativeInfDefault: number): void;
static addNegativeInfinityDefault(builder: flatbuffers.Builder, negativeInfinityDefault: number): void;
static addDoubleInfDefault(builder: flatbuffers.Builder, doubleInfDefault: number): void;
static endMonster(builder: flatbuffers.Builder): flatbuffers.Offset;
static finishMonsterBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
static finishSizePrefixedMonsterBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
serialize(): Uint8Array;
static deserialize(buffer: Uint8Array): Monster;
unpack(): MonsterT;
unpackTo(_o: MonsterT): void;
}
export declare class MonsterT implements flatbuffers.IGeneratedObject {
pos: Vec3T | null;
mana: number;
hp: number;
name: string | Uint8Array | null;
inventory: (number)[];
color: Color;
testType: Any;
test: MonsterT | MyGame_Example2_MonsterT | TestSimpleTableWithEnumT | null;
test4: (TestT)[];
testarrayofstring: (string)[];
testarrayoftables: (MonsterT)[];
enemy: MonsterT | null;
testnestedflatbuffer: (number)[];
testempty: StatT | null;
testbool: boolean;
testhashs32Fnv1: number;
testhashu32Fnv1: number;
testhashs64Fnv1: bigint;
testhashu64Fnv1: bigint;
testhashs32Fnv1a: number;
testhashu32Fnv1a: number;
testhashs64Fnv1a: bigint;
testhashu64Fnv1a: bigint;
testarrayofbools: (boolean)[];
testf: number;
testf2: number;
testf3: number;
testarrayofstring2: (string)[];
testarrayofsortedstruct: (AbilityT)[];
flex: (number)[];
test5: (TestT)[];
vectorOfLongs: (bigint)[];
vectorOfDoubles: (number)[];
parentNamespaceTest: InParentNamespaceT | null;
vectorOfReferrables: (ReferrableT)[];
singleWeakReference: bigint;
vectorOfWeakReferences: (bigint)[];
vectorOfStrongReferrables: (ReferrableT)[];
coOwningReference: bigint;
vectorOfCoOwningReferences: (bigint)[];
nonOwningReference: bigint;
vectorOfNonOwningReferences: (bigint)[];
anyUniqueType: AnyUniqueAliases;
anyUnique: MonsterT | MyGame_Example2_MonsterT | TestSimpleTableWithEnumT | null;
anyAmbiguousType: AnyAmbiguousAliases;
anyAmbiguous: MonsterT | null;
vectorOfEnums: (Color)[];
signedEnum: Race;
testrequirednestedflatbuffer: (number)[];
scalarKeySortedTables: (StatT)[];
nativeInline: TestT | null;
longEnumNonEnumDefault: bigint;
longEnumNormalDefault: bigint;
nanDefault: number;
infDefault: number;
positiveInfDefault: number;
infinityDefault: number;
positiveInfinityDefault: number;
negativeInfDefault: number;
negativeInfinityDefault: number;
doubleInfDefault: number;
constructor(pos?: Vec3T | null, mana?: number, hp?: number, name?: string | Uint8Array | null, inventory?: (number)[], color?: Color, testType?: Any, test?: MonsterT | MyGame_Example2_MonsterT | TestSimpleTableWithEnumT | null, test4?: (TestT)[], testarrayofstring?: (string)[], testarrayoftables?: (MonsterT)[], enemy?: MonsterT | null, testnestedflatbuffer?: (number)[], testempty?: StatT | null, testbool?: boolean, testhashs32Fnv1?: number, testhashu32Fnv1?: number, testhashs64Fnv1?: bigint, testhashu64Fnv1?: bigint, testhashs32Fnv1a?: number, testhashu32Fnv1a?: number, testhashs64Fnv1a?: bigint, testhashu64Fnv1a?: bigint, testarrayofbools?: (boolean)[], testf?: number, testf2?: number, testf3?: number, testarrayofstring2?: (string)[], testarrayofsortedstruct?: (AbilityT)[], flex?: (number)[], test5?: (TestT)[], vectorOfLongs?: (bigint)[], vectorOfDoubles?: (number)[], parentNamespaceTest?: InParentNamespaceT | null, vectorOfReferrables?: (ReferrableT)[], singleWeakReference?: bigint, vectorOfWeakReferences?: (bigint)[], vectorOfStrongReferrables?: (ReferrableT)[], coOwningReference?: bigint, vectorOfCoOwningReferences?: (bigint)[], nonOwningReference?: bigint, vectorOfNonOwningReferences?: (bigint)[], anyUniqueType?: AnyUniqueAliases, anyUnique?: MonsterT | MyGame_Example2_MonsterT | TestSimpleTableWithEnumT | null, anyAmbiguousType?: AnyAmbiguousAliases, anyAmbiguous?: MonsterT | null, vectorOfEnums?: (Color)[], signedEnum?: Race, testrequirednestedflatbuffer?: (number)[], scalarKeySortedTables?: (StatT)[], nativeInline?: TestT | null, longEnumNonEnumDefault?: bigint, longEnumNormalDefault?: bigint, nanDefault?: number, infDefault?: number, positiveInfDefault?: number, infinityDefault?: number, positiveInfinityDefault?: number, negativeInfDefault?: number, negativeInfinityDefault?: number, doubleInfDefault?: number);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

6
tests/ts/my-game/example/race.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
export declare enum Race {
None = -1,
Human = 0,
Dwarf = 1,
Elf = 2
}

View File

@@ -5,4 +5,4 @@ export var Race;
Race[Race["Human"] = 0] = "Human";
Race[Race["Dwarf"] = 1] = "Dwarf";
Race[Race["Elf"] = 2] = "Elf";
})(Race || (Race = {}));
})(Race = Race || (Race = {}));

View File

@@ -0,0 +1,24 @@
import * as flatbuffers from 'flatbuffers';
export declare class Referrable implements flatbuffers.IUnpackableObject<ReferrableT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Referrable;
static getRootAsReferrable(bb: flatbuffers.ByteBuffer, obj?: Referrable): Referrable;
static getSizePrefixedRootAsReferrable(bb: flatbuffers.ByteBuffer, obj?: Referrable): Referrable;
id(): bigint;
mutate_id(value: bigint): boolean;
static getFullyQualifiedName(): string;
static startReferrable(builder: flatbuffers.Builder): void;
static addId(builder: flatbuffers.Builder, id: bigint): void;
static endReferrable(builder: flatbuffers.Builder): flatbuffers.Offset;
static createReferrable(builder: flatbuffers.Builder, id: bigint): flatbuffers.Offset;
serialize(): Uint8Array;
static deserialize(buffer: Uint8Array): Referrable;
unpack(): ReferrableT;
unpackTo(_o: ReferrableT): void;
}
export declare class ReferrableT implements flatbuffers.IGeneratedObject {
id: bigint;
constructor(id?: bigint);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

32
tests/ts/my-game/example/stat.d.ts vendored Normal file
View File

@@ -0,0 +1,32 @@
import * as flatbuffers from 'flatbuffers';
export declare class Stat implements flatbuffers.IUnpackableObject<StatT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Stat;
static getRootAsStat(bb: flatbuffers.ByteBuffer, obj?: Stat): Stat;
static getSizePrefixedRootAsStat(bb: flatbuffers.ByteBuffer, obj?: Stat): Stat;
id(): string | null;
id(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
val(): bigint;
mutate_val(value: bigint): boolean;
count(): number;
mutate_count(value: number): boolean;
static getFullyQualifiedName(): string;
static startStat(builder: flatbuffers.Builder): void;
static addId(builder: flatbuffers.Builder, idOffset: flatbuffers.Offset): void;
static addVal(builder: flatbuffers.Builder, val: bigint): void;
static addCount(builder: flatbuffers.Builder, count: number): void;
static endStat(builder: flatbuffers.Builder): flatbuffers.Offset;
static createStat(builder: flatbuffers.Builder, idOffset: flatbuffers.Offset, val: bigint, count: number): flatbuffers.Offset;
serialize(): Uint8Array;
static deserialize(buffer: Uint8Array): Stat;
unpack(): StatT;
unpackTo(_o: StatT): void;
}
export declare class StatT implements flatbuffers.IGeneratedObject {
id: string | Uint8Array | null;
val: bigint;
count: number;
constructor(id?: string | Uint8Array | null, val?: bigint, count?: number);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

View File

@@ -0,0 +1,18 @@
import * as flatbuffers from 'flatbuffers';
import { StructOfStructs, StructOfStructsT } from '../../my-game/example/struct-of-structs.js';
export declare class StructOfStructsOfStructs implements flatbuffers.IUnpackableObject<StructOfStructsOfStructsT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): StructOfStructsOfStructs;
a(obj?: StructOfStructs): StructOfStructs | null;
static getFullyQualifiedName(): string;
static sizeOf(): number;
static createStructOfStructsOfStructs(builder: flatbuffers.Builder, a_a_id: number, a_a_distance: number, a_b_a: number, a_b_b: number, a_c_id: number, a_c_distance: number): flatbuffers.Offset;
unpack(): StructOfStructsOfStructsT;
unpackTo(_o: StructOfStructsOfStructsT): void;
}
export declare class StructOfStructsOfStructsT implements flatbuffers.IGeneratedObject {
a: StructOfStructsT | null;
constructor(a?: StructOfStructsT | null);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

View File

@@ -46,7 +46,6 @@ export class StructOfStructsOfStructsT {
this.a = a;
}
pack(builder) {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _p, _q, _r, _s, _t, _u;
return StructOfStructsOfStructs.createStructOfStructsOfStructs(builder, ((_c = (_b = (_a = this.a) === null || _a === void 0 ? void 0 : _a.a) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : 0), ((_f = (_e = (_d = this.a) === null || _d === void 0 ? void 0 : _d.a) === null || _e === void 0 ? void 0 : _e.distance) !== null && _f !== void 0 ? _f : 0), ((_j = (_h = (_g = this.a) === null || _g === void 0 ? void 0 : _g.b) === null || _h === void 0 ? void 0 : _h.a) !== null && _j !== void 0 ? _j : 0), ((_m = (_l = (_k = this.a) === null || _k === void 0 ? void 0 : _k.b) === null || _l === void 0 ? void 0 : _l.b) !== null && _m !== void 0 ? _m : 0), ((_r = (_q = (_p = this.a) === null || _p === void 0 ? void 0 : _p.c) === null || _q === void 0 ? void 0 : _q.id) !== null && _r !== void 0 ? _r : 0), ((_u = (_t = (_s = this.a) === null || _s === void 0 ? void 0 : _s.c) === null || _t === void 0 ? void 0 : _t.distance) !== null && _u !== void 0 ? _u : 0));
return StructOfStructsOfStructs.createStructOfStructsOfStructs(builder, (this.a?.a?.id ?? 0), (this.a?.a?.distance ?? 0), (this.a?.b?.a ?? 0), (this.a?.b?.b ?? 0), (this.a?.c?.id ?? 0), (this.a?.c?.distance ?? 0));
}
}

View File

@@ -0,0 +1,23 @@
import * as flatbuffers from 'flatbuffers';
import { Ability, AbilityT } from '../../my-game/example/ability.js';
import { Test, TestT } from '../../my-game/example/test.js';
export declare class StructOfStructs implements flatbuffers.IUnpackableObject<StructOfStructsT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): StructOfStructs;
a(obj?: Ability): Ability | null;
b(obj?: Test): Test | null;
c(obj?: Ability): Ability | null;
static getFullyQualifiedName(): string;
static sizeOf(): number;
static createStructOfStructs(builder: flatbuffers.Builder, a_id: number, a_distance: number, b_a: number, b_b: number, c_id: number, c_distance: number): flatbuffers.Offset;
unpack(): StructOfStructsT;
unpackTo(_o: StructOfStructsT): void;
}
export declare class StructOfStructsT implements flatbuffers.IGeneratedObject {
a: AbilityT | null;
b: TestT | null;
c: AbilityT | null;
constructor(a?: AbilityT | null, b?: TestT | null, c?: AbilityT | null);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

View File

@@ -56,7 +56,6 @@ export class StructOfStructsT {
this.c = c;
}
pack(builder) {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
return StructOfStructs.createStructOfStructs(builder, ((_b = (_a = this.a) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : 0), ((_d = (_c = this.a) === null || _c === void 0 ? void 0 : _c.distance) !== null && _d !== void 0 ? _d : 0), ((_f = (_e = this.b) === null || _e === void 0 ? void 0 : _e.a) !== null && _f !== void 0 ? _f : 0), ((_h = (_g = this.b) === null || _g === void 0 ? void 0 : _g.b) !== null && _h !== void 0 ? _h : 0), ((_k = (_j = this.c) === null || _j === void 0 ? void 0 : _j.id) !== null && _k !== void 0 ? _k : 0), ((_m = (_l = this.c) === null || _l === void 0 ? void 0 : _l.distance) !== null && _m !== void 0 ? _m : 0));
return StructOfStructs.createStructOfStructs(builder, (this.a?.id ?? 0), (this.a?.distance ?? 0), (this.b?.a ?? 0), (this.b?.b ?? 0), (this.c?.id ?? 0), (this.c?.distance ?? 0));
}
}

View File

@@ -0,0 +1,25 @@
import * as flatbuffers from 'flatbuffers';
import { Color } from '../../my-game/example/color.js';
export declare class TestSimpleTableWithEnum implements flatbuffers.IUnpackableObject<TestSimpleTableWithEnumT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): TestSimpleTableWithEnum;
static getRootAsTestSimpleTableWithEnum(bb: flatbuffers.ByteBuffer, obj?: TestSimpleTableWithEnum): TestSimpleTableWithEnum;
static getSizePrefixedRootAsTestSimpleTableWithEnum(bb: flatbuffers.ByteBuffer, obj?: TestSimpleTableWithEnum): TestSimpleTableWithEnum;
color(): Color;
mutate_color(value: Color): boolean;
static getFullyQualifiedName(): string;
static startTestSimpleTableWithEnum(builder: flatbuffers.Builder): void;
static addColor(builder: flatbuffers.Builder, color: Color): void;
static endTestSimpleTableWithEnum(builder: flatbuffers.Builder): flatbuffers.Offset;
static createTestSimpleTableWithEnum(builder: flatbuffers.Builder, color: Color): flatbuffers.Offset;
serialize(): Uint8Array;
static deserialize(buffer: Uint8Array): TestSimpleTableWithEnum;
unpack(): TestSimpleTableWithEnumT;
unpackTo(_o: TestSimpleTableWithEnumT): void;
}
export declare class TestSimpleTableWithEnumT implements flatbuffers.IGeneratedObject {
color: Color;
constructor(color?: Color);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

21
tests/ts/my-game/example/test.d.ts vendored Normal file
View File

@@ -0,0 +1,21 @@
import * as flatbuffers from 'flatbuffers';
export declare class Test implements flatbuffers.IUnpackableObject<TestT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Test;
a(): number;
mutate_a(value: number): boolean;
b(): number;
mutate_b(value: number): boolean;
static getFullyQualifiedName(): string;
static sizeOf(): number;
static createTest(builder: flatbuffers.Builder, a: number, b: number): flatbuffers.Offset;
unpack(): TestT;
unpackTo(_o: TestT): void;
}
export declare class TestT implements flatbuffers.IGeneratedObject {
a: number;
b: number;
constructor(a?: number, b?: number);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

View File

@@ -0,0 +1,82 @@
import * as flatbuffers from 'flatbuffers';
export declare class TypeAliases implements flatbuffers.IUnpackableObject<TypeAliasesT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): TypeAliases;
static getRootAsTypeAliases(bb: flatbuffers.ByteBuffer, obj?: TypeAliases): TypeAliases;
static getSizePrefixedRootAsTypeAliases(bb: flatbuffers.ByteBuffer, obj?: TypeAliases): TypeAliases;
i8(): number;
mutate_i8(value: number): boolean;
u8(): number;
mutate_u8(value: number): boolean;
i16(): number;
mutate_i16(value: number): boolean;
u16(): number;
mutate_u16(value: number): boolean;
i32(): number;
mutate_i32(value: number): boolean;
u32(): number;
mutate_u32(value: number): boolean;
i64(): bigint;
mutate_i64(value: bigint): boolean;
u64(): bigint;
mutate_u64(value: bigint): boolean;
f32(): number;
mutate_f32(value: number): boolean;
f64(): number;
mutate_f64(value: number): boolean;
v8(index: number): number | null;
v8Length(): number;
v8Array(): Int8Array | null;
vf64(index: number): number | null;
vf64Length(): number;
vf64Array(): Float64Array | null;
static getFullyQualifiedName(): string;
static startTypeAliases(builder: flatbuffers.Builder): void;
static addI8(builder: flatbuffers.Builder, i8: number): void;
static addU8(builder: flatbuffers.Builder, u8: number): void;
static addI16(builder: flatbuffers.Builder, i16: number): void;
static addU16(builder: flatbuffers.Builder, u16: number): void;
static addI32(builder: flatbuffers.Builder, i32: number): void;
static addU32(builder: flatbuffers.Builder, u32: number): void;
static addI64(builder: flatbuffers.Builder, i64: bigint): void;
static addU64(builder: flatbuffers.Builder, u64: bigint): void;
static addF32(builder: flatbuffers.Builder, f32: number): void;
static addF64(builder: flatbuffers.Builder, f64: number): void;
static addV8(builder: flatbuffers.Builder, v8Offset: flatbuffers.Offset): void;
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 startV8Vector(builder: flatbuffers.Builder, numElems: number): void;
static addVf64(builder: flatbuffers.Builder, vf64Offset: flatbuffers.Offset): void;
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 startVf64Vector(builder: flatbuffers.Builder, numElems: number): void;
static endTypeAliases(builder: flatbuffers.Builder): flatbuffers.Offset;
static createTypeAliases(builder: flatbuffers.Builder, i8: number, u8: number, i16: number, u16: number, i32: number, u32: number, i64: bigint, u64: bigint, f32: number, f64: number, v8Offset: flatbuffers.Offset, vf64Offset: flatbuffers.Offset): flatbuffers.Offset;
serialize(): Uint8Array;
static deserialize(buffer: Uint8Array): TypeAliases;
unpack(): TypeAliasesT;
unpackTo(_o: TypeAliasesT): void;
}
export declare class TypeAliasesT implements flatbuffers.IGeneratedObject {
i8: number;
u8: number;
i16: number;
u16: number;
i32: number;
u32: number;
i64: bigint;
u64: bigint;
f32: number;
f64: number;
v8: (number)[];
vf64: (number)[];
constructor(i8?: number, u8?: number, i16?: number, u16?: number, i32?: number, u32?: number, i64?: bigint, u64?: bigint, f32?: number, f64?: number, v8?: (number)[], vf64?: (number)[]);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

34
tests/ts/my-game/example/vec3.d.ts vendored Normal file
View File

@@ -0,0 +1,34 @@
import * as flatbuffers from 'flatbuffers';
import { Color } from '../../my-game/example/color.js';
import { Test, TestT } from '../../my-game/example/test.js';
export declare class Vec3 implements flatbuffers.IUnpackableObject<Vec3T> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Vec3;
x(): number;
mutate_x(value: number): boolean;
y(): number;
mutate_y(value: number): boolean;
z(): number;
mutate_z(value: number): boolean;
test1(): number;
mutate_test1(value: number): boolean;
test2(): Color;
mutate_test2(value: Color): boolean;
test3(obj?: Test): Test | null;
static getFullyQualifiedName(): string;
static sizeOf(): number;
static createVec3(builder: flatbuffers.Builder, x: number, y: number, z: number, test1: number, test2: Color, test3_a: number, test3_b: number): flatbuffers.Offset;
unpack(): Vec3T;
unpackTo(_o: Vec3T): void;
}
export declare class Vec3T implements flatbuffers.IGeneratedObject {
x: number;
y: number;
z: number;
test1: number;
test2: Color;
test3: TestT | null;
constructor(x?: number, y?: number, z?: number, test1?: number, test2?: Color, test3?: TestT | null);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

View File

@@ -92,7 +92,6 @@ export class Vec3T {
this.test3 = test3;
}
pack(builder) {
var _a, _b, _c, _d;
return Vec3.createVec3(builder, this.x, this.y, this.z, this.test1, this.test2, ((_b = (_a = this.test3) === null || _a === void 0 ? void 0 : _a.a) !== null && _b !== void 0 ? _b : 0), ((_d = (_c = this.test3) === null || _c === void 0 ? void 0 : _c.b) !== null && _d !== void 0 ? _d : 0));
return Vec3.createVec3(builder, this.x, this.y, this.z, this.test1, this.test2, (this.test3?.a ?? 0), (this.test3?.b ?? 0));
}
}