Skip to content

Instantly share code, notes, and snippets.

@madeken
Last active March 27, 2020 20:47
Show Gist options
  • Save madeken/01ccd5ca451f7bb48867b716aa96025f to your computer and use it in GitHub Desktop.
Save madeken/01ccd5ca451f7bb48867b716aa96025f to your computer and use it in GitHub Desktop.
namespace models;
table A {
a: int32;
}
table B {
b: string;
}
union AB { A, B }
table C {
c: [AB];
}
// automatically generated by the FlatBuffers compiler, do not modify
import { flatbuffers } from "flatbuffers"
/**
* @enum {number}
*/
export namespace models{
export enum AB{
NONE= 0,
A= 1,
B= 2
}};
/**
* @constructor
*/
export namespace models{
export class A {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos:number = 0;
/**
* @param number i
* @param flatbuffers.ByteBuffer bb
* @returns A
*/
__init(i:number, bb:flatbuffers.ByteBuffer):A {
this.bb_pos = i;
this.bb = bb;
return this;
};
/**
* @param flatbuffers.ByteBuffer bb
* @param A= obj
* @returns A
*/
static getRootAsA(bb:flatbuffers.ByteBuffer, obj?:A):A {
return (obj || new A()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param flatbuffers.ByteBuffer bb
* @param A= obj
* @returns A
*/
static getSizePrefixedRootAsA(bb:flatbuffers.ByteBuffer, obj?:A):A {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new A()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @returns number
*/
a():number {
var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;
};
/**
* @param flatbuffers.Builder builder
*/
static startA(builder:flatbuffers.Builder) {
builder.startObject(1);
};
/**
* @param flatbuffers.Builder builder
* @param number a
*/
static addA(builder:flatbuffers.Builder, a:number) {
builder.addFieldInt32(0, a, 0);
};
/**
* @param flatbuffers.Builder builder
* @returns flatbuffers.Offset
*/
static endA(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject();
return offset;
};
static createA(builder:flatbuffers.Builder, a:number):flatbuffers.Offset {
A.startA(builder);
A.addA(builder, a);
return A.endA(builder);
}
}
}
/**
* @constructor
*/
export namespace models{
export class B {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos:number = 0;
/**
* @param number i
* @param flatbuffers.ByteBuffer bb
* @returns B
*/
__init(i:number, bb:flatbuffers.ByteBuffer):B {
this.bb_pos = i;
this.bb = bb;
return this;
};
/**
* @param flatbuffers.ByteBuffer bb
* @param B= obj
* @returns B
*/
static getRootAsB(bb:flatbuffers.ByteBuffer, obj?:B):B {
return (obj || new B()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param flatbuffers.ByteBuffer bb
* @param B= obj
* @returns B
*/
static getSizePrefixedRootAsB(bb:flatbuffers.ByteBuffer, obj?:B):B {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new B()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param flatbuffers.Encoding= optionalEncoding
* @returns string|Uint8Array|null
*/
b():string|null
b(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
b(optionalEncoding?:any):string|Uint8Array|null {
var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
};
/**
* @param flatbuffers.Builder builder
*/
static startB(builder:flatbuffers.Builder) {
builder.startObject(1);
};
/**
* @param flatbuffers.Builder builder
* @param flatbuffers.Offset bOffset
*/
static addB(builder:flatbuffers.Builder, bOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, bOffset, 0);
};
/**
* @param flatbuffers.Builder builder
* @returns flatbuffers.Offset
*/
static endB(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject();
return offset;
};
static createB(builder:flatbuffers.Builder, bOffset:flatbuffers.Offset):flatbuffers.Offset {
B.startB(builder);
B.addB(builder, bOffset);
return B.endB(builder);
}
}
}
/**
* @constructor
*/
export namespace models{
export class C {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos:number = 0;
/**
* @param number i
* @param flatbuffers.ByteBuffer bb
* @returns C
*/
__init(i:number, bb:flatbuffers.ByteBuffer):C {
this.bb_pos = i;
this.bb = bb;
return this;
};
/**
* @param flatbuffers.ByteBuffer bb
* @param C= obj
* @returns C
*/
static getRootAsC(bb:flatbuffers.ByteBuffer, obj?:C):C {
return (obj || new C()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param flatbuffers.ByteBuffer bb
* @param C= obj
* @returns C
*/
static getSizePrefixedRootAsC(bb:flatbuffers.ByteBuffer, obj?:C):C {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new C()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param number index
* @returns models.AB
*/
cType(index: number):models.AB|null {
var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? /** */ (this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index)) : /** */ (0);
};
/**
* @returns number
*/
cTypeLength():number {
var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
};
/**
* @returns Uint8Array
*/
cTypeArray():Uint8Array|null {
var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;
};
/**
* @param number index
* @param flatbuffers.Table= obj
* @returns ?flatbuffers.Table
*/
c<T extends flatbuffers.Table>(index: number, obj:T):T|null {
var offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? this.bb!.__union(obj, this.bb!.__vector(this.bb_pos + offset) + index * 4) : null;
};
/**
* @returns number
*/
cLength():number {
var offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
};
/**
* @param flatbuffers.Builder builder
*/
static startC(builder:flatbuffers.Builder) {
builder.startObject(2);
};
/**
* @param flatbuffers.Builder builder
* @param flatbuffers.Offset cTypeOffset
*/
static addCType(builder:flatbuffers.Builder, cTypeOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, cTypeOffset, 0);
};
/**
* @param flatbuffers.Builder builder
* @param Array.<models.AB> data
* @returns flatbuffers.Offset
*/
static createCTypeVector(builder:flatbuffers.Builder, data:models.AB[]):flatbuffers.Offset {
builder.startVector(1, data.length, 1);
for (var i = data.length - 1; i >= 0; i--) {
builder.addInt8(data[i]);
}
return builder.endVector();
};
/**
* @param flatbuffers.Builder builder
* @param number numElems
*/
static startCTypeVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(1, numElems, 1);
};
/**
* @param flatbuffers.Builder builder
* @param flatbuffers.Offset cOffset
*/
static addC(builder:flatbuffers.Builder, cOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, cOffset, 0);
};
/**
* @param flatbuffers.Builder builder
* @param Array.<flatbuffers.Offset> data
* @returns flatbuffers.Offset
*/
static createCVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {
builder.startVector(4, data.length, 4);
for (var i = data.length - 1; i >= 0; i--) {
builder.addOffset(data[i]);
}
return builder.endVector();
};
/**
* @param flatbuffers.Builder builder
* @param number numElems
*/
static startCVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(4, numElems, 4);
};
/**
* @param flatbuffers.Builder builder
* @returns flatbuffers.Offset
*/
static endC(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject();
return offset;
};
static createC(builder:flatbuffers.Builder, cTypeOffset:flatbuffers.Offset, cOffset:flatbuffers.Offset):flatbuffers.Offset {
C.startC(builder);
C.addCType(builder, cTypeOffset);
C.addC(builder, cOffset);
return C.endC(builder);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment