mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-24 04:11:46 +00:00
[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:
@@ -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
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,6 +127,52 @@ static createTableInFirstNS(builder:flatbuffers.Builder, fooTableOffset:flatbuff
|
||||
TableInFirstNS.addFooStruct(builder, fooStructOffset);
|
||||
return TableInFirstNS.endTableInFirstNS(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns TableInFirstNST
|
||||
*/
|
||||
unpack(): TableInFirstNST {
|
||||
return new TableInFirstNST(
|
||||
(this.fooTable() !== null ? this.fooTable()!.unpack() : null),
|
||||
this.fooEnum(),
|
||||
(this.fooStruct() !== null ? this.fooStruct()!.unpack() : null)
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* @param TableInFirstNST _o
|
||||
*/
|
||||
unpackTo(_o: TableInFirstNST): void {
|
||||
_o.fooTable = (this.fooTable() !== null ? this.fooTable()!.unpack() : null);
|
||||
_o.fooEnum = this.fooEnum();
|
||||
_o.fooStruct = (this.fooStruct() !== null ? this.fooStruct()!.unpack() : null);
|
||||
};
|
||||
}
|
||||
|
||||
export class TableInFirstNST {
|
||||
/**
|
||||
* @constructor
|
||||
* @param NS8755221360535654258.NamespaceA.NamespaceB.TableInNestedNST|null fooTable
|
||||
* @param NS8755221360535654258.NamespaceA.NamespaceB.EnumInNestedNS fooEnum
|
||||
* @param NS8755221360535654258.NamespaceA.NamespaceB.StructInNestedNST|null fooStruct
|
||||
*/
|
||||
constructor(
|
||||
public fooTable: NS8755221360535654258.NamespaceA.NamespaceB.TableInNestedNST|null = null,
|
||||
public fooEnum: NS8755221360535654258.NamespaceA.NamespaceB.EnumInNestedNS = NS8755221360535654258.NamespaceA.NamespaceB.EnumInNestedNS.A,
|
||||
public fooStruct: NS8755221360535654258.NamespaceA.NamespaceB.StructInNestedNST|null = null
|
||||
){};
|
||||
|
||||
/**
|
||||
* @param flatbuffers.Builder builder
|
||||
* @returns flatbuffers.Offset
|
||||
*/
|
||||
pack(builder:flatbuffers.Builder): flatbuffers.Offset {
|
||||
return TableInFirstNS.createTableInFirstNS(builder,
|
||||
(this.fooTable !== null ? this.fooTable!.pack(builder) : 0),
|
||||
this.fooEnum,
|
||||
(this.fooStruct !== null ? this.fooStruct!.pack(builder) : 0)
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
/**
|
||||
@@ -223,6 +269,47 @@ static createTableInC(builder:flatbuffers.Builder, referToA1Offset:flatbuffers.O
|
||||
TableInC.addReferToA2(builder, referToA2Offset);
|
||||
return TableInC.endTableInC(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns TableInCT
|
||||
*/
|
||||
unpack(): TableInCT {
|
||||
return new TableInCT(
|
||||
(this.referToA1() !== null ? this.referToA1()!.unpack() : null),
|
||||
(this.referToA2() !== null ? this.referToA2()!.unpack() : null)
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* @param TableInCT _o
|
||||
*/
|
||||
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
|
||||
* @param NamespaceA.TableInFirstNST|null referToA1
|
||||
* @param NamespaceA.SecondTableInAT|null referToA2
|
||||
*/
|
||||
constructor(
|
||||
public referToA1: NamespaceA.TableInFirstNST|null = null,
|
||||
public referToA2: NamespaceA.SecondTableInAT|null = null
|
||||
){};
|
||||
|
||||
/**
|
||||
* @param flatbuffers.Builder builder
|
||||
* @returns flatbuffers.Offset
|
||||
*/
|
||||
pack(builder:flatbuffers.Builder): flatbuffers.Offset {
|
||||
return TableInC.createTableInC(builder,
|
||||
(this.referToA1 !== null ? this.referToA1!.pack(builder) : 0),
|
||||
(this.referToA2 !== null ? this.referToA2!.pack(builder) : 0)
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
/**
|
||||
@@ -301,5 +388,41 @@ static createSecondTableInA(builder:flatbuffers.Builder, referToCOffset:flatbuff
|
||||
SecondTableInA.addReferToC(builder, referToCOffset);
|
||||
return SecondTableInA.endSecondTableInA(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns SecondTableInAT
|
||||
*/
|
||||
unpack(): SecondTableInAT {
|
||||
return new SecondTableInAT(
|
||||
(this.referToC() !== null ? this.referToC()!.unpack() : null)
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* @param SecondTableInAT _o
|
||||
*/
|
||||
unpackTo(_o: SecondTableInAT): void {
|
||||
_o.referToC = (this.referToC() !== null ? this.referToC()!.unpack() : null);
|
||||
};
|
||||
}
|
||||
|
||||
export class SecondTableInAT {
|
||||
/**
|
||||
* @constructor
|
||||
* @param NamespaceC.TableInCT|null referToC
|
||||
*/
|
||||
constructor(
|
||||
public referToC: NamespaceC.TableInCT|null = null
|
||||
){};
|
||||
|
||||
/**
|
||||
* @param flatbuffers.Builder builder
|
||||
* @returns flatbuffers.Offset
|
||||
*/
|
||||
pack(builder:flatbuffers.Builder): flatbuffers.Offset {
|
||||
return SecondTableInA.createSecondTableInA(builder,
|
||||
(this.referToC !== null ? this.referToC!.pack(builder) : 0)
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user