[TS] Add Obj API (#5788)

* added basic code

* backup work

* got class property to work

* backup progress

* implementented fmt for creating code

* added docs for genFieldUtils

* back up work

* added base helper js func

* added union js code

* added unpackTo and base for pack

* added pack code

* added null check for packing struct list

* passes compile test

* fixed some spacing of generated functions

* added annotations for constructors

* added obj api unpack test

* tested pack to work

* merge branch

* separated js and ts test

* fixed union signature to include string

* fixed generator to support string union

* hardcoded fb builder name

* refactored struct vector creation

* work around createLong

* handle default value in constructor

* update typescript docs

* added notes about import flag

* fixed formatting stuffs

* undo TypescriptTest change

* refactored fmt

* updated generated code

* remove ignoring union_vector for js

* revert changes for .project

* revert changes for package.json

* don't generate js in ts test

* fixed android project file

* removed unused js function

* removed package-lock.json

* adjust createObjList to new signature

* changed regex to callback style

* fixed package.json

* used existing func for generating annotation

* changed ternary to !!

* added return type for lambda

* removed callback style for obj api generator

* fixed js file indentation

* removed unused header

* added tests for string only union

* handle string only union and refactor union conv func

* updated generated ts files

* renamed union conv func

* made js test create files like other languages

* removed union string only handling

* don't allow null in createObjectOffsetList

* updated generated ts code

* changed the line that triggers Windows build errors

* hopefully fix CI error
This commit is contained in:
Khoi Dinh Trinh
2020-04-09 09:53:16 -07:00
committed by GitHub
parent 21cf300f4c
commit 003e164057
12 changed files with 2159 additions and 57 deletions

View File

@@ -8,7 +8,8 @@ export enum EnumInNestedNS{
A= 0,
B= 1,
C= 2
}};
};
}
/**
* @constructor
@@ -100,6 +101,42 @@ static createTableInNestedNS(builder:flatbuffers.Builder, foo:number):flatbuffer
TableInNestedNS.addFoo(builder, foo);
return TableInNestedNS.endTableInNestedNS(builder);
}
/**
* @returns TableInNestedNST
*/
unpack(): TableInNestedNST {
return new TableInNestedNST(
this.foo()
);
};
/**
* @param TableInNestedNST _o
*/
unpackTo(_o: TableInNestedNST): void {
_o.foo = this.foo();
};
}
export class TableInNestedNST {
/**
* @constructor
* @param number foo
*/
constructor(
public foo: number = 0
){};
/**
* @param flatbuffers.Builder builder
* @returns flatbuffers.Offset
*/
pack(builder:flatbuffers.Builder): flatbuffers.Offset {
return TableInNestedNS.createTableInNestedNS(builder,
this.foo
);
};
}
}
/**
@@ -178,5 +215,46 @@ static createStructInNestedNS(builder:flatbuffers.Builder, a: number, b: number)
return builder.offset();
};
/**
* @returns StructInNestedNST
*/
unpack(): StructInNestedNST {
return new StructInNestedNST(
this.a(),
this.b()
);
};
/**
* @param StructInNestedNST _o
*/
unpackTo(_o: StructInNestedNST): void {
_o.a = this.a();
_o.b = this.b();
};
}
export class StructInNestedNST {
/**
* @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 StructInNestedNS.createStructInNestedNS(builder,
this.a,
this.b
);
};
}
}