mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-08 14:15:17 +00:00
[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:
4
tests/ts/typescript/class.d.ts
vendored
Normal file
4
tests/ts/typescript/class.d.ts
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
export declare enum class_ {
|
||||
new_ = 0,
|
||||
instanceof_ = 1
|
||||
}
|
||||
@@ -3,4 +3,4 @@ export var class_;
|
||||
(function (class_) {
|
||||
class_[class_["new_"] = 0] = "new_";
|
||||
class_[class_["instanceof_"] = 1] = "instanceof_";
|
||||
})(class_ || (class_ = {}));
|
||||
})(class_ = class_ || (class_ = {}));
|
||||
|
||||
48
tests/ts/typescript/object.d.ts
vendored
Normal file
48
tests/ts/typescript/object.d.ts
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
import * as flatbuffers from 'flatbuffers';
|
||||
import { Abc } from '../foobar/abc.js';
|
||||
import { class_ as foobar_class_ } from '../foobar/class.js';
|
||||
import { Schema, SchemaT } from '../reflection/schema.js';
|
||||
import { class_ } from '../typescript/class.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_;
|
||||
return_(): number;
|
||||
mutate_return(value: number): boolean;
|
||||
if_(): number;
|
||||
mutate_if(value: number): boolean;
|
||||
switch_(): number;
|
||||
mutate_switch(value: number): boolean;
|
||||
enum_(): class_;
|
||||
mutate_enum(value: class_): boolean;
|
||||
enum2(): foobar_class_;
|
||||
mutate_enum2(value: foobar_class_): boolean;
|
||||
enum3(): Abc;
|
||||
mutate_enum3(value: Abc): boolean;
|
||||
reflect(obj?: Schema): Schema | null;
|
||||
static getFullyQualifiedName(): string;
|
||||
static startObject(builder: flatbuffers.Builder): void;
|
||||
static addReturn(builder: flatbuffers.Builder, return_: number): void;
|
||||
static addIf(builder: flatbuffers.Builder, if_: number): void;
|
||||
static addSwitch(builder: flatbuffers.Builder, switch_: number): void;
|
||||
static addEnum(builder: flatbuffers.Builder, enum_: class_): void;
|
||||
static addEnum2(builder: flatbuffers.Builder, enum2: foobar_class_): void;
|
||||
static addEnum3(builder: flatbuffers.Builder, enum3: Abc): void;
|
||||
static addReflect(builder: flatbuffers.Builder, reflectOffset: flatbuffers.Offset): void;
|
||||
static endObject(builder: flatbuffers.Builder): flatbuffers.Offset;
|
||||
unpack(): Object_T;
|
||||
unpackTo(_o: Object_T): void;
|
||||
}
|
||||
export declare class Object_T implements flatbuffers.IGeneratedObject {
|
||||
return_: number;
|
||||
if_: number;
|
||||
switch_: number;
|
||||
enum_: class_;
|
||||
enum2: foobar_class_;
|
||||
enum3: Abc;
|
||||
reflect: SchemaT | null;
|
||||
constructor(return_?: number, if_?: number, switch_?: number, enum_?: class_, enum2?: foobar_class_, enum3?: Abc, reflect?: SchemaT | null);
|
||||
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
|
||||
}
|
||||
Reference in New Issue
Block a user