| // automatically generated by the FlatBuffers compiler, do not modify |
| /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ |
| import * as flatbuffers from 'flatbuffers'; |
| import { ABC, unionToAbc, unionListToAbc } from '../union-underlying-type/abc.js'; |
| export class D { |
| constructor() { |
| this.bb = null; |
| this.bb_pos = 0; |
| } |
| __init(i, bb) { |
| this.bb_pos = i; |
| this.bb = bb; |
| return this; |
| } |
| static getRootAsD(bb, obj) { |
| return (obj || new D()).__init(bb.readInt32(bb.position()) + bb.position(), bb); |
| } |
| static getSizePrefixedRootAsD(bb, obj) { |
| bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); |
| return (obj || new D()).__init(bb.readInt32(bb.position()) + bb.position(), bb); |
| } |
| testUnionType() { |
| const offset = this.bb.__offset(this.bb_pos, 4); |
| return offset ? this.bb.readInt32(this.bb_pos + offset) : ABC.NONE; |
| } |
| testUnion(obj) { |
| const offset = this.bb.__offset(this.bb_pos, 6); |
| return offset ? this.bb.__union(obj, this.bb_pos + offset) : null; |
| } |
| testVectorOfUnionType(index) { |
| const offset = this.bb.__offset(this.bb_pos, 8); |
| return offset ? this.bb.readInt32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; |
| } |
| testVectorOfUnionTypeLength() { |
| const offset = this.bb.__offset(this.bb_pos, 8); |
| return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; |
| } |
| testVectorOfUnionTypeArray() { |
| const offset = this.bb.__offset(this.bb_pos, 8); |
| return offset ? new Int32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; |
| } |
| testVectorOfUnion(index, obj) { |
| const offset = this.bb.__offset(this.bb_pos, 10); |
| return offset ? this.bb.__union(obj, this.bb.__vector(this.bb_pos + offset) + index * 4) : null; |
| } |
| testVectorOfUnionLength() { |
| const offset = this.bb.__offset(this.bb_pos, 10); |
| return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; |
| } |
| static getFullyQualifiedName() { |
| return 'UnionUnderlyingType.D'; |
| } |
| static startD(builder) { |
| builder.startObject(4); |
| } |
| static addTestUnionType(builder, testUnionType) { |
| builder.addFieldInt32(0, testUnionType, ABC.NONE); |
| } |
| static addTestUnion(builder, testUnionOffset) { |
| builder.addFieldOffset(1, testUnionOffset, 0); |
| } |
| static addTestVectorOfUnionType(builder, testVectorOfUnionTypeOffset) { |
| builder.addFieldOffset(2, testVectorOfUnionTypeOffset, 0); |
| } |
| static createTestVectorOfUnionTypeVector(builder, data) { |
| builder.startVector(4, data.length, 4); |
| for (let i = data.length - 1; i >= 0; i--) { |
| builder.addInt32(data[i]); |
| } |
| return builder.endVector(); |
| } |
| static startTestVectorOfUnionTypeVector(builder, numElems) { |
| builder.startVector(4, numElems, 4); |
| } |
| static addTestVectorOfUnion(builder, testVectorOfUnionOffset) { |
| builder.addFieldOffset(3, testVectorOfUnionOffset, 0); |
| } |
| static createTestVectorOfUnionVector(builder, data) { |
| builder.startVector(4, data.length, 4); |
| for (let i = data.length - 1; i >= 0; i--) { |
| builder.addOffset(data[i]); |
| } |
| return builder.endVector(); |
| } |
| static startTestVectorOfUnionVector(builder, numElems) { |
| builder.startVector(4, numElems, 4); |
| } |
| static endD(builder) { |
| const offset = builder.endObject(); |
| return offset; |
| } |
| static createD(builder, testUnionType, testUnionOffset, testVectorOfUnionTypeOffset, testVectorOfUnionOffset) { |
| D.startD(builder); |
| D.addTestUnionType(builder, testUnionType); |
| D.addTestUnion(builder, testUnionOffset); |
| D.addTestVectorOfUnionType(builder, testVectorOfUnionTypeOffset); |
| D.addTestVectorOfUnion(builder, testVectorOfUnionOffset); |
| return D.endD(builder); |
| } |
| unpack() { |
| return new DT(this.testUnionType(), (() => { |
| const temp = unionToAbc(this.testUnionType(), this.testUnion.bind(this)); |
| if (temp === null) { |
| return null; |
| } |
| return temp.unpack(); |
| })(), this.bb.createScalarList(this.testVectorOfUnionType.bind(this), this.testVectorOfUnionTypeLength()), (() => { |
| const ret = []; |
| for (let targetEnumIndex = 0; targetEnumIndex < this.testVectorOfUnionTypeLength(); ++targetEnumIndex) { |
| const targetEnum = this.testVectorOfUnionType(targetEnumIndex); |
| if (targetEnum === null || ABC[targetEnum] === 'NONE') { |
| continue; |
| } |
| const temp = unionListToAbc(targetEnum, this.testVectorOfUnion.bind(this), targetEnumIndex); |
| if (temp === null) { |
| continue; |
| } |
| ret.push(temp.unpack()); |
| } |
| return ret; |
| })()); |
| } |
| unpackTo(_o) { |
| _o.testUnionType = this.testUnionType(); |
| _o.testUnion = (() => { |
| const temp = unionToAbc(this.testUnionType(), this.testUnion.bind(this)); |
| if (temp === null) { |
| return null; |
| } |
| return temp.unpack(); |
| })(); |
| _o.testVectorOfUnionType = this.bb.createScalarList(this.testVectorOfUnionType.bind(this), this.testVectorOfUnionTypeLength()); |
| _o.testVectorOfUnion = (() => { |
| const ret = []; |
| for (let targetEnumIndex = 0; targetEnumIndex < this.testVectorOfUnionTypeLength(); ++targetEnumIndex) { |
| const targetEnum = this.testVectorOfUnionType(targetEnumIndex); |
| if (targetEnum === null || ABC[targetEnum] === 'NONE') { |
| continue; |
| } |
| const temp = unionListToAbc(targetEnum, this.testVectorOfUnion.bind(this), targetEnumIndex); |
| if (temp === null) { |
| continue; |
| } |
| ret.push(temp.unpack()); |
| } |
| return ret; |
| })(); |
| } |
| } |
| export class DT { |
| constructor(testUnionType = ABC.NONE, testUnion = null, testVectorOfUnionType = [], testVectorOfUnion = []) { |
| this.testUnionType = testUnionType; |
| this.testUnion = testUnion; |
| this.testVectorOfUnionType = testVectorOfUnionType; |
| this.testVectorOfUnion = testVectorOfUnion; |
| } |
| pack(builder) { |
| const testUnion = builder.createObjectOffset(this.testUnion); |
| const testVectorOfUnionType = D.createTestVectorOfUnionTypeVector(builder, this.testVectorOfUnionType); |
| const testVectorOfUnion = D.createTestVectorOfUnionVector(builder, builder.createObjectOffsetList(this.testVectorOfUnion)); |
| return D.createD(builder, this.testUnionType, testUnion, testVectorOfUnionType, testVectorOfUnion); |
| } |
| } |