[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

View File

@@ -0,0 +1,9 @@
/**
* New schema language features that are not supported by old code generators.
*/
export declare enum AdvancedFeatures {
AdvancedArrayFeatures = "1",
AdvancedUnionFeatures = "2",
OptionalScalars = "4",
DefaultVectorsAndStrings = "8"
}

View File

@@ -0,0 +1,11 @@
// automatically generated by the FlatBuffers compiler, do not modify
/**
* New schema language features that are not supported by old code generators.
*/
export var AdvancedFeatures;
(function (AdvancedFeatures) {
AdvancedFeatures["AdvancedArrayFeatures"] = "1";
AdvancedFeatures["AdvancedUnionFeatures"] = "2";
AdvancedFeatures["OptionalScalars"] = "4";
AdvancedFeatures["DefaultVectorsAndStrings"] = "8";
})(AdvancedFeatures = AdvancedFeatures || (AdvancedFeatures = {}));

21
tests/ts/reflection/base-type.d.ts vendored Normal file
View File

@@ -0,0 +1,21 @@
export declare enum BaseType {
None = 0,
UType = 1,
Bool = 2,
Byte = 3,
UByte = 4,
Short = 5,
UShort = 6,
Int = 7,
UInt = 8,
Long = 9,
ULong = 10,
Float = 11,
Double = 12,
String = 13,
Vector = 14,
Obj = 15,
Union = 16,
Array = 17,
MaxBaseType = 18
}

View File

@@ -20,4 +20,4 @@ export var BaseType;
BaseType[BaseType["Union"] = 16] = "Union";
BaseType[BaseType["Array"] = 17] = "Array";
BaseType[BaseType["MaxBaseType"] = 18] = "MaxBaseType";
})(BaseType || (BaseType = {}));
})(BaseType = BaseType || (BaseType = {}));

43
tests/ts/reflection/enum-val.d.ts vendored Normal file
View File

@@ -0,0 +1,43 @@
import * as flatbuffers from 'flatbuffers';
import { KeyValue, KeyValueT } from '../reflection/key-value.js';
import { Type, TypeT } from '../reflection/type.js';
export declare class EnumVal implements flatbuffers.IUnpackableObject<EnumValT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): EnumVal;
static getRootAsEnumVal(bb: flatbuffers.ByteBuffer, obj?: EnumVal): EnumVal;
static getSizePrefixedRootAsEnumVal(bb: flatbuffers.ByteBuffer, obj?: EnumVal): EnumVal;
name(): string | null;
name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
value(): bigint;
mutate_value(value: bigint): boolean;
unionType(obj?: Type): Type | null;
documentation(index: number): string;
documentation(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
documentationLength(): number;
attributes(index: number, obj?: KeyValue): KeyValue | null;
attributesLength(): number;
static getFullyQualifiedName(): string;
static startEnumVal(builder: flatbuffers.Builder): void;
static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset): void;
static addValue(builder: flatbuffers.Builder, value: bigint): void;
static addUnionType(builder: flatbuffers.Builder, unionTypeOffset: flatbuffers.Offset): void;
static addDocumentation(builder: flatbuffers.Builder, documentationOffset: flatbuffers.Offset): void;
static createDocumentationVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startDocumentationVector(builder: flatbuffers.Builder, numElems: number): void;
static addAttributes(builder: flatbuffers.Builder, attributesOffset: flatbuffers.Offset): void;
static createAttributesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startAttributesVector(builder: flatbuffers.Builder, numElems: number): void;
static endEnumVal(builder: flatbuffers.Builder): flatbuffers.Offset;
unpack(): EnumValT;
unpackTo(_o: EnumValT): void;
}
export declare class EnumValT implements flatbuffers.IGeneratedObject {
name: string | Uint8Array | null;
value: bigint;
unionType: TypeT | null;
documentation: (string)[];
attributes: (KeyValueT)[];
constructor(name?: string | Uint8Array | null, value?: bigint, unionType?: TypeT | null, documentation?: (string)[], attributes?: (KeyValueT)[]);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

57
tests/ts/reflection/enum.d.ts vendored Normal file
View File

@@ -0,0 +1,57 @@
import * as flatbuffers from 'flatbuffers';
import { EnumVal, EnumValT } from '../reflection/enum-val.js';
import { KeyValue, KeyValueT } from '../reflection/key-value.js';
import { Type, TypeT } from '../reflection/type.js';
export declare class Enum implements flatbuffers.IUnpackableObject<EnumT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Enum;
static getRootAsEnum(bb: flatbuffers.ByteBuffer, obj?: Enum): Enum;
static getSizePrefixedRootAsEnum(bb: flatbuffers.ByteBuffer, obj?: Enum): Enum;
name(): string | null;
name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
values(index: number, obj?: EnumVal): EnumVal | null;
valuesLength(): number;
isUnion(): boolean;
mutate_is_union(value: boolean): boolean;
underlyingType(obj?: Type): Type | null;
attributes(index: number, obj?: KeyValue): KeyValue | null;
attributesLength(): number;
documentation(index: number): string;
documentation(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
documentationLength(): number;
/**
* File that this Enum is declared in.
*/
declarationFile(): string | null;
declarationFile(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
static getFullyQualifiedName(): string;
static startEnum(builder: flatbuffers.Builder): void;
static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset): void;
static addValues(builder: flatbuffers.Builder, valuesOffset: flatbuffers.Offset): void;
static createValuesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startValuesVector(builder: flatbuffers.Builder, numElems: number): void;
static addIsUnion(builder: flatbuffers.Builder, isUnion: boolean): void;
static addUnderlyingType(builder: flatbuffers.Builder, underlyingTypeOffset: flatbuffers.Offset): void;
static addAttributes(builder: flatbuffers.Builder, attributesOffset: flatbuffers.Offset): void;
static createAttributesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startAttributesVector(builder: flatbuffers.Builder, numElems: number): void;
static addDocumentation(builder: flatbuffers.Builder, documentationOffset: flatbuffers.Offset): void;
static createDocumentationVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startDocumentationVector(builder: flatbuffers.Builder, numElems: number): void;
static addDeclarationFile(builder: flatbuffers.Builder, declarationFileOffset: flatbuffers.Offset): void;
static endEnum(builder: flatbuffers.Builder): flatbuffers.Offset;
unpack(): EnumT;
unpackTo(_o: EnumT): void;
}
export declare class EnumT implements flatbuffers.IGeneratedObject {
name: string | Uint8Array | null;
values: (EnumValT)[];
isUnion: boolean;
underlyingType: TypeT | null;
attributes: (KeyValueT)[];
documentation: (string)[];
declarationFile: string | Uint8Array | null;
constructor(name?: string | Uint8Array | null, values?: (EnumValT)[], isUnion?: boolean, underlyingType?: TypeT | null, attributes?: (KeyValueT)[], documentation?: (string)[], declarationFile?: string | Uint8Array | null);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

78
tests/ts/reflection/field.d.ts vendored Normal file
View File

@@ -0,0 +1,78 @@
import * as flatbuffers from 'flatbuffers';
import { KeyValue, KeyValueT } from '../reflection/key-value.js';
import { Type, TypeT } from '../reflection/type.js';
export declare class Field implements flatbuffers.IUnpackableObject<FieldT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Field;
static getRootAsField(bb: flatbuffers.ByteBuffer, obj?: Field): Field;
static getSizePrefixedRootAsField(bb: flatbuffers.ByteBuffer, obj?: Field): Field;
name(): string | null;
name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
type(obj?: Type): Type | null;
id(): number;
mutate_id(value: number): boolean;
offset(): number;
mutate_offset(value: number): boolean;
defaultInteger(): bigint;
mutate_default_integer(value: bigint): boolean;
defaultReal(): number;
mutate_default_real(value: number): boolean;
deprecated(): boolean;
mutate_deprecated(value: boolean): boolean;
required(): boolean;
mutate_required(value: boolean): boolean;
key(): boolean;
mutate_key(value: boolean): boolean;
attributes(index: number, obj?: KeyValue): KeyValue | null;
attributesLength(): number;
documentation(index: number): string;
documentation(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
documentationLength(): number;
optional(): boolean;
mutate_optional(value: boolean): boolean;
/**
* Number of padding octets to always add after this field. Structs only.
*/
padding(): number;
mutate_padding(value: number): boolean;
static getFullyQualifiedName(): string;
static startField(builder: flatbuffers.Builder): void;
static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset): void;
static addType(builder: flatbuffers.Builder, typeOffset: flatbuffers.Offset): void;
static addId(builder: flatbuffers.Builder, id: number): void;
static addOffset(builder: flatbuffers.Builder, offset: number): void;
static addDefaultInteger(builder: flatbuffers.Builder, defaultInteger: bigint): void;
static addDefaultReal(builder: flatbuffers.Builder, defaultReal: number): void;
static addDeprecated(builder: flatbuffers.Builder, deprecated: boolean): void;
static addRequired(builder: flatbuffers.Builder, required: boolean): void;
static addKey(builder: flatbuffers.Builder, key: boolean): void;
static addAttributes(builder: flatbuffers.Builder, attributesOffset: flatbuffers.Offset): void;
static createAttributesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startAttributesVector(builder: flatbuffers.Builder, numElems: number): void;
static addDocumentation(builder: flatbuffers.Builder, documentationOffset: flatbuffers.Offset): void;
static createDocumentationVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startDocumentationVector(builder: flatbuffers.Builder, numElems: number): void;
static addOptional(builder: flatbuffers.Builder, optional: boolean): void;
static addPadding(builder: flatbuffers.Builder, padding: number): void;
static endField(builder: flatbuffers.Builder): flatbuffers.Offset;
unpack(): FieldT;
unpackTo(_o: FieldT): void;
}
export declare class FieldT implements flatbuffers.IGeneratedObject {
name: string | Uint8Array | null;
type: TypeT | null;
id: number;
offset: number;
defaultInteger: bigint;
defaultReal: number;
deprecated: boolean;
required: boolean;
key: boolean;
attributes: (KeyValueT)[];
documentation: (string)[];
optional: boolean;
padding: number;
constructor(name?: string | Uint8Array | null, type?: TypeT | null, id?: number, offset?: number, defaultInteger?: bigint, defaultReal?: number, deprecated?: boolean, required?: boolean, key?: boolean, attributes?: (KeyValueT)[], documentation?: (string)[], optional?: boolean, padding?: number);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

26
tests/ts/reflection/key-value.d.ts vendored Normal file
View File

@@ -0,0 +1,26 @@
import * as flatbuffers from 'flatbuffers';
export declare class KeyValue implements flatbuffers.IUnpackableObject<KeyValueT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): KeyValue;
static getRootAsKeyValue(bb: flatbuffers.ByteBuffer, obj?: KeyValue): KeyValue;
static getSizePrefixedRootAsKeyValue(bb: flatbuffers.ByteBuffer, obj?: KeyValue): KeyValue;
key(): string | null;
key(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
value(): string | null;
value(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
static getFullyQualifiedName(): string;
static startKeyValue(builder: flatbuffers.Builder): void;
static addKey(builder: flatbuffers.Builder, keyOffset: flatbuffers.Offset): void;
static addValue(builder: flatbuffers.Builder, valueOffset: flatbuffers.Offset): void;
static endKeyValue(builder: flatbuffers.Builder): flatbuffers.Offset;
static createKeyValue(builder: flatbuffers.Builder, keyOffset: flatbuffers.Offset, valueOffset: flatbuffers.Offset): flatbuffers.Offset;
unpack(): KeyValueT;
unpackTo(_o: KeyValueT): void;
}
export declare class KeyValueT implements flatbuffers.IGeneratedObject {
key: string | Uint8Array | null;
value: string | Uint8Array | null;
constructor(key?: string | Uint8Array | null, value?: string | Uint8Array | null);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

62
tests/ts/reflection/object.d.ts vendored Normal file
View File

@@ -0,0 +1,62 @@
import * as flatbuffers from 'flatbuffers';
import { Field, FieldT } from '../reflection/field.js';
import { KeyValue, KeyValueT } from '../reflection/key-value.js';
export declare class Object_ implements flatbuffers.IUnpackableObject<Object_T> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Object_;
static getRootAsObject(bb: flatbuffers.ByteBuffer, obj?: Object_): Object_;
static getSizePrefixedRootAsObject(bb: flatbuffers.ByteBuffer, obj?: Object_): Object_;
name(): string | null;
name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
fields(index: number, obj?: Field): Field | null;
fieldsLength(): number;
isStruct(): boolean;
mutate_is_struct(value: boolean): boolean;
minalign(): number;
mutate_minalign(value: number): boolean;
bytesize(): number;
mutate_bytesize(value: number): boolean;
attributes(index: number, obj?: KeyValue): KeyValue | null;
attributesLength(): number;
documentation(index: number): string;
documentation(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
documentationLength(): number;
/**
* File that this Object is declared in.
*/
declarationFile(): string | null;
declarationFile(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
static getFullyQualifiedName(): string;
static startObject(builder: flatbuffers.Builder): void;
static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset): void;
static addFields(builder: flatbuffers.Builder, fieldsOffset: flatbuffers.Offset): void;
static createFieldsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startFieldsVector(builder: flatbuffers.Builder, numElems: number): void;
static addIsStruct(builder: flatbuffers.Builder, isStruct: boolean): void;
static addMinalign(builder: flatbuffers.Builder, minalign: number): void;
static addBytesize(builder: flatbuffers.Builder, bytesize: number): void;
static addAttributes(builder: flatbuffers.Builder, attributesOffset: flatbuffers.Offset): void;
static createAttributesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startAttributesVector(builder: flatbuffers.Builder, numElems: number): void;
static addDocumentation(builder: flatbuffers.Builder, documentationOffset: flatbuffers.Offset): void;
static createDocumentationVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startDocumentationVector(builder: flatbuffers.Builder, numElems: number): void;
static addDeclarationFile(builder: flatbuffers.Builder, declarationFileOffset: flatbuffers.Offset): void;
static endObject(builder: flatbuffers.Builder): flatbuffers.Offset;
static createObject(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset, fieldsOffset: flatbuffers.Offset, isStruct: boolean, minalign: number, bytesize: number, attributesOffset: flatbuffers.Offset, documentationOffset: flatbuffers.Offset, declarationFileOffset: flatbuffers.Offset): flatbuffers.Offset;
unpack(): Object_T;
unpackTo(_o: Object_T): void;
}
export declare class Object_T implements flatbuffers.IGeneratedObject {
name: string | Uint8Array | null;
fields: (FieldT)[];
isStruct: boolean;
minalign: number;
bytesize: number;
attributes: (KeyValueT)[];
documentation: (string)[];
declarationFile: string | Uint8Array | null;
constructor(name?: string | Uint8Array | null, fields?: (FieldT)[], isStruct?: boolean, minalign?: number, bytesize?: number, attributes?: (KeyValueT)[], documentation?: (string)[], declarationFile?: string | Uint8Array | null);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

42
tests/ts/reflection/rpccall.d.ts vendored Normal file
View File

@@ -0,0 +1,42 @@
import * as flatbuffers from 'flatbuffers';
import { KeyValue, KeyValueT } from '../reflection/key-value.js';
import { Object_, Object_T } from '../reflection/object.js';
export declare class RPCCall implements flatbuffers.IUnpackableObject<RPCCallT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): RPCCall;
static getRootAsRPCCall(bb: flatbuffers.ByteBuffer, obj?: RPCCall): RPCCall;
static getSizePrefixedRootAsRPCCall(bb: flatbuffers.ByteBuffer, obj?: RPCCall): RPCCall;
name(): string | null;
name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
request(obj?: Object_): Object_ | null;
response(obj?: Object_): Object_ | null;
attributes(index: number, obj?: KeyValue): KeyValue | null;
attributesLength(): number;
documentation(index: number): string;
documentation(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
documentationLength(): number;
static getFullyQualifiedName(): string;
static startRPCCall(builder: flatbuffers.Builder): void;
static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset): void;
static addRequest(builder: flatbuffers.Builder, requestOffset: flatbuffers.Offset): void;
static addResponse(builder: flatbuffers.Builder, responseOffset: flatbuffers.Offset): void;
static addAttributes(builder: flatbuffers.Builder, attributesOffset: flatbuffers.Offset): void;
static createAttributesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startAttributesVector(builder: flatbuffers.Builder, numElems: number): void;
static addDocumentation(builder: flatbuffers.Builder, documentationOffset: flatbuffers.Offset): void;
static createDocumentationVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startDocumentationVector(builder: flatbuffers.Builder, numElems: number): void;
static endRPCCall(builder: flatbuffers.Builder): flatbuffers.Offset;
unpack(): RPCCallT;
unpackTo(_o: RPCCallT): void;
}
export declare class RPCCallT implements flatbuffers.IGeneratedObject {
name: string | Uint8Array | null;
request: Object_T | null;
response: Object_T | null;
attributes: (KeyValueT)[];
documentation: (string)[];
constructor(name?: string | Uint8Array | null, request?: Object_T | null, response?: Object_T | null, attributes?: (KeyValueT)[], documentation?: (string)[]);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

40
tests/ts/reflection/schema-file.d.ts vendored Normal file
View File

@@ -0,0 +1,40 @@
import * as flatbuffers from 'flatbuffers';
/**
* File specific information.
* Symbols declared within a file may be recovered by iterating over all
* symbols and examining the `declaration_file` field.
*/
export declare class SchemaFile implements flatbuffers.IUnpackableObject<SchemaFileT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): SchemaFile;
static getRootAsSchemaFile(bb: flatbuffers.ByteBuffer, obj?: SchemaFile): SchemaFile;
static getSizePrefixedRootAsSchemaFile(bb: flatbuffers.ByteBuffer, obj?: SchemaFile): SchemaFile;
/**
* Filename, relative to project root.
*/
filename(): string | null;
filename(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
/**
* Names of included files, relative to project root.
*/
includedFilenames(index: number): string;
includedFilenames(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
includedFilenamesLength(): number;
static getFullyQualifiedName(): string;
static startSchemaFile(builder: flatbuffers.Builder): void;
static addFilename(builder: flatbuffers.Builder, filenameOffset: flatbuffers.Offset): void;
static addIncludedFilenames(builder: flatbuffers.Builder, includedFilenamesOffset: flatbuffers.Offset): void;
static createIncludedFilenamesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startIncludedFilenamesVector(builder: flatbuffers.Builder, numElems: number): void;
static endSchemaFile(builder: flatbuffers.Builder): flatbuffers.Offset;
static createSchemaFile(builder: flatbuffers.Builder, filenameOffset: flatbuffers.Offset, includedFilenamesOffset: flatbuffers.Offset): flatbuffers.Offset;
unpack(): SchemaFileT;
unpackTo(_o: SchemaFileT): void;
}
export declare class SchemaFileT implements flatbuffers.IGeneratedObject {
filename: string | Uint8Array | null;
includedFilenames: (string)[];
constructor(filename?: string | Uint8Array | null, includedFilenames?: (string)[]);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

67
tests/ts/reflection/schema.d.ts vendored Normal file
View File

@@ -0,0 +1,67 @@
import * as flatbuffers from 'flatbuffers';
import { Enum, EnumT } from '../reflection/enum.js';
import { Object_, Object_T } from '../reflection/object.js';
import { SchemaFile, SchemaFileT } from '../reflection/schema-file.js';
import { Service, ServiceT } from '../reflection/service.js';
export declare class Schema implements flatbuffers.IUnpackableObject<SchemaT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Schema;
static getRootAsSchema(bb: flatbuffers.ByteBuffer, obj?: Schema): Schema;
static getSizePrefixedRootAsSchema(bb: flatbuffers.ByteBuffer, obj?: Schema): Schema;
static bufferHasIdentifier(bb: flatbuffers.ByteBuffer): boolean;
objects(index: number, obj?: Object_): Object_ | null;
objectsLength(): number;
enums(index: number, obj?: Enum): Enum | null;
enumsLength(): number;
fileIdent(): string | null;
fileIdent(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
fileExt(): string | null;
fileExt(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
rootTable(obj?: Object_): Object_ | null;
services(index: number, obj?: Service): Service | null;
servicesLength(): number;
advancedFeatures(): bigint;
mutate_advanced_features(value: bigint): boolean;
/**
* All the files used in this compilation. Files are relative to where
* flatc was invoked.
*/
fbsFiles(index: number, obj?: SchemaFile): SchemaFile | null;
fbsFilesLength(): number;
static getFullyQualifiedName(): string;
static startSchema(builder: flatbuffers.Builder): void;
static addObjects(builder: flatbuffers.Builder, objectsOffset: flatbuffers.Offset): void;
static createObjectsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startObjectsVector(builder: flatbuffers.Builder, numElems: number): void;
static addEnums(builder: flatbuffers.Builder, enumsOffset: flatbuffers.Offset): void;
static createEnumsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startEnumsVector(builder: flatbuffers.Builder, numElems: number): void;
static addFileIdent(builder: flatbuffers.Builder, fileIdentOffset: flatbuffers.Offset): void;
static addFileExt(builder: flatbuffers.Builder, fileExtOffset: flatbuffers.Offset): void;
static addRootTable(builder: flatbuffers.Builder, rootTableOffset: flatbuffers.Offset): void;
static addServices(builder: flatbuffers.Builder, servicesOffset: flatbuffers.Offset): void;
static createServicesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startServicesVector(builder: flatbuffers.Builder, numElems: number): void;
static addAdvancedFeatures(builder: flatbuffers.Builder, advancedFeatures: bigint): void;
static addFbsFiles(builder: flatbuffers.Builder, fbsFilesOffset: flatbuffers.Offset): void;
static createFbsFilesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startFbsFilesVector(builder: flatbuffers.Builder, numElems: number): void;
static endSchema(builder: flatbuffers.Builder): flatbuffers.Offset;
static finishSchemaBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
static finishSizePrefixedSchemaBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
unpack(): SchemaT;
unpackTo(_o: SchemaT): void;
}
export declare class SchemaT implements flatbuffers.IGeneratedObject {
objects: (Object_T)[];
enums: (EnumT)[];
fileIdent: string | Uint8Array | null;
fileExt: string | Uint8Array | null;
rootTable: Object_T | null;
services: (ServiceT)[];
advancedFeatures: bigint;
fbsFiles: (SchemaFileT)[];
constructor(objects?: (Object_T)[], enums?: (EnumT)[], fileIdent?: string | Uint8Array | null, fileExt?: string | Uint8Array | null, rootTable?: Object_T | null, services?: (ServiceT)[], advancedFeatures?: bigint, fbsFiles?: (SchemaFileT)[]);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

50
tests/ts/reflection/service.d.ts vendored Normal file
View File

@@ -0,0 +1,50 @@
import * as flatbuffers from 'flatbuffers';
import { KeyValue, KeyValueT } from '../reflection/key-value.js';
import { RPCCall, RPCCallT } from '../reflection/rpccall.js';
export declare class Service implements flatbuffers.IUnpackableObject<ServiceT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Service;
static getRootAsService(bb: flatbuffers.ByteBuffer, obj?: Service): Service;
static getSizePrefixedRootAsService(bb: flatbuffers.ByteBuffer, obj?: Service): Service;
name(): string | null;
name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
calls(index: number, obj?: RPCCall): RPCCall | null;
callsLength(): number;
attributes(index: number, obj?: KeyValue): KeyValue | null;
attributesLength(): number;
documentation(index: number): string;
documentation(index: number, optionalEncoding: flatbuffers.Encoding): string | Uint8Array;
documentationLength(): number;
/**
* File that this Service is declared in.
*/
declarationFile(): string | null;
declarationFile(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
static getFullyQualifiedName(): string;
static startService(builder: flatbuffers.Builder): void;
static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset): void;
static addCalls(builder: flatbuffers.Builder, callsOffset: flatbuffers.Offset): void;
static createCallsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startCallsVector(builder: flatbuffers.Builder, numElems: number): void;
static addAttributes(builder: flatbuffers.Builder, attributesOffset: flatbuffers.Offset): void;
static createAttributesVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startAttributesVector(builder: flatbuffers.Builder, numElems: number): void;
static addDocumentation(builder: flatbuffers.Builder, documentationOffset: flatbuffers.Offset): void;
static createDocumentationVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
static startDocumentationVector(builder: flatbuffers.Builder, numElems: number): void;
static addDeclarationFile(builder: flatbuffers.Builder, declarationFileOffset: flatbuffers.Offset): void;
static endService(builder: flatbuffers.Builder): flatbuffers.Offset;
static createService(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset, callsOffset: flatbuffers.Offset, attributesOffset: flatbuffers.Offset, documentationOffset: flatbuffers.Offset, declarationFileOffset: flatbuffers.Offset): flatbuffers.Offset;
unpack(): ServiceT;
unpackTo(_o: ServiceT): void;
}
export declare class ServiceT implements flatbuffers.IGeneratedObject {
name: string | Uint8Array | null;
calls: (RPCCallT)[];
attributes: (KeyValueT)[];
documentation: (string)[];
declarationFile: string | Uint8Array | null;
constructor(name?: string | Uint8Array | null, calls?: (RPCCallT)[], attributes?: (KeyValueT)[], documentation?: (string)[], declarationFile?: string | Uint8Array | null);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}

49
tests/ts/reflection/type.d.ts vendored Normal file
View File

@@ -0,0 +1,49 @@
import * as flatbuffers from 'flatbuffers';
import { BaseType } from '../reflection/base-type.js';
export declare class Type implements flatbuffers.IUnpackableObject<TypeT> {
bb: flatbuffers.ByteBuffer | null;
bb_pos: number;
__init(i: number, bb: flatbuffers.ByteBuffer): Type;
static getRootAsType(bb: flatbuffers.ByteBuffer, obj?: Type): Type;
static getSizePrefixedRootAsType(bb: flatbuffers.ByteBuffer, obj?: Type): Type;
baseType(): BaseType;
mutate_base_type(value: BaseType): boolean;
element(): BaseType;
mutate_element(value: BaseType): boolean;
index(): number;
mutate_index(value: number): boolean;
fixedLength(): number;
mutate_fixed_length(value: number): boolean;
/**
* The size (octets) of the `base_type` field.
*/
baseSize(): number;
mutate_base_size(value: number): boolean;
/**
* The size (octets) of the `element` field, if present.
*/
elementSize(): number;
mutate_element_size(value: number): boolean;
static getFullyQualifiedName(): string;
static startType(builder: flatbuffers.Builder): void;
static addBaseType(builder: flatbuffers.Builder, baseType: BaseType): void;
static addElement(builder: flatbuffers.Builder, element: BaseType): void;
static addIndex(builder: flatbuffers.Builder, index: number): void;
static addFixedLength(builder: flatbuffers.Builder, fixedLength: number): void;
static addBaseSize(builder: flatbuffers.Builder, baseSize: number): void;
static addElementSize(builder: flatbuffers.Builder, elementSize: number): void;
static endType(builder: flatbuffers.Builder): flatbuffers.Offset;
static createType(builder: flatbuffers.Builder, baseType: BaseType, element: BaseType, index: number, fixedLength: number, baseSize: number, elementSize: number): flatbuffers.Offset;
unpack(): TypeT;
unpackTo(_o: TypeT): void;
}
export declare class TypeT implements flatbuffers.IGeneratedObject {
baseType: BaseType;
element: BaseType;
index: number;
fixedLength: number;
baseSize: number;
elementSize: number;
constructor(baseType?: BaseType, element?: BaseType, index?: number, fixedLength?: number, baseSize?: number, elementSize?: number);
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
}